Full Code of eternalai-org/eternal-ai for AI

master ee870c890893 cached
2663 files
70.1 MB
7.3M tokens
29177 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (29,155K chars total). Download the full file to get everything.
Repository: eternalai-org/eternal-ai
Branch: master
Commit: ee870c890893
Files: 2663
Total size: 70.1 MB

Directory structure:
gitextract_7dr28zc4/

├── .gitignore
├── Dockerfile.backend
├── Dockerfile.de-infer
├── EternalAI.js/
│   ├── .gitignore
│   ├── README.md
│   ├── lerna.json
│   ├── package.json
│   └── packages/
│       ├── core/
│       │   ├── .github/
│       │   │   └── workflows/
│       │   │       ├── main.yml
│       │   │       └── size.yml
│       │   ├── .gitignore
│       │   ├── LICENSE
│       │   ├── README.md
│       │   ├── build.tsconfig.json
│       │   ├── package.json
│       │   ├── rollup.config.js
│       │   ├── src/
│       │   │   ├── index.ts
│       │   │   ├── types.d.ts
│       │   │   └── utils/
│       │   │       ├── index.ts
│       │   │       └── injects/
│       │   │           ├── ethers.ts
│       │   │           └── index.ts
│       │   └── tsconfig.json
│       ├── interact/
│       │   ├── .github/
│       │   │   └── workflows/
│       │   │       ├── main.yml
│       │   │       └── size.yml
│       │   ├── .gitignore
│       │   ├── LICENSE
│       │   ├── README.md
│       │   ├── build.tsconfig.json
│       │   ├── package.json
│       │   ├── rollup.config.js
│       │   ├── scripts/
│       │   │   └── main.ts
│       │   ├── src/
│       │   │   ├── baseInteract.ts
│       │   │   ├── constants.ts
│       │   │   ├── global.d.ts
│       │   │   ├── index.ts
│       │   │   ├── inject.ts
│       │   │   ├── interact.ts
│       │   │   ├── interactWithExternalWallet.ts
│       │   │   ├── methods/
│       │   │   │   ├── index.ts
│       │   │   │   ├── infer/
│       │   │   │   │   ├── constants.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   └── types.ts
│       │   │   │   └── types.ts
│       │   │   ├── services/
│       │   │   │   └── light_house.ts
│       │   │   ├── types.ts
│       │   │   └── utils/
│       │   │       └── time.ts
│       │   ├── test/
│       │   │   └── blah.test.ts
│       │   └── tsconfig.json
│       ├── langchain/
│       │   ├── .eslintrc.cjs
│       │   ├── .gitignore
│       │   ├── .prettierrc
│       │   ├── .release-it.json
│       │   ├── LICENSE
│       │   ├── README.md
│       │   ├── jest.config.cjs
│       │   ├── jest.env.cjs
│       │   ├── langchain.config.js
│       │   ├── package.json
│       │   ├── scripts/
│       │   │   └── jest-setup-after-env.js
│       │   ├── src/
│       │   │   ├── chat_models.ts
│       │   │   ├── index.ts
│       │   │   ├── llms.ts
│       │   │   ├── tests/
│       │   │   │   ├── chat_models.test.ts
│       │   │   │   ├── integration.int.test.ts
│       │   │   │   ├── llms.test.ts
│       │   │   │   └── vectorstores.test.ts
│       │   │   └── vectorstores.ts
│       │   ├── tsconfig.cjs.json
│       │   ├── tsconfig.json
│       │   └── turbo.json
│       └── ui/
│           ├── .gitignore
│           ├── README.md
│           ├── eslint.config.js
│           ├── index.html
│           ├── package.json
│           ├── public/
│           │   └── bundle.iife.js
│           ├── src/
│           │   ├── App.css
│           │   ├── App.tsx
│           │   ├── index.css
│           │   ├── main.tsx
│           │   ├── pages/
│           │   │   ├── home/
│           │   │   │   ├── Styles.css
│           │   │   │   └── index.tsx
│           │   │   ├── package-core/
│           │   │   │   ├── Styles.css
│           │   │   │   └── index.tsx
│           │   │   └── package-interact/
│           │   │       ├── Styles.css
│           │   │       └── index.tsx
│           │   └── vite-env.d.ts
│           ├── tsconfig.app.json
│           ├── tsconfig.json
│           ├── tsconfig.node.json
│           └── vite.config.ts
├── LICENSE
├── Makefile
├── README.md
├── agent-as-a-service/
│   ├── .eslint.config.js
│   ├── .gitignore
│   ├── .npmrc
│   ├── .yarnrc.yml
│   ├── README.md
│   ├── agent-deep-researcher/
│   │   ├── Dockerfile
│   │   ├── Pipfile
│   │   └── src/
│   │       ├── deep_research.py
│   │       └── main.py
│   ├── agent-launchpad/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── contracts/
│   │   │   ├── base/
│   │   │   │   ├── BaseMulticall.sol
│   │   │   │   ├── BaseUpgradeable.sol
│   │   │   │   └── BlockContext.sol
│   │   │   ├── core/
│   │   │   │   ├── NoDelegateCall.sol
│   │   │   │   ├── UniswapV3Factory.sol
│   │   │   │   ├── UniswapV3Pool.sol
│   │   │   │   ├── UniswapV3PoolDeployer.sol
│   │   │   │   ├── UniswapV3PoolProxy.sol
│   │   │   │   ├── interfaces/
│   │   │   │   │   ├── IERC20Minimal.sol
│   │   │   │   │   ├── IUniswapV3Factory.sol
│   │   │   │   │   ├── IUniswapV3Pool.sol
│   │   │   │   │   ├── IUniswapV3PoolDeployer.sol
│   │   │   │   │   ├── callback/
│   │   │   │   │   │   ├── IUniswapV3FlashCallback.sol
│   │   │   │   │   │   ├── IUniswapV3MintCallback.sol
│   │   │   │   │   │   └── IUniswapV3SwapCallback.sol
│   │   │   │   │   └── pool/
│   │   │   │   │       ├── IUniswapV3PoolActions.sol
│   │   │   │   │       ├── IUniswapV3PoolDerivedState.sol
│   │   │   │   │       ├── IUniswapV3PoolEvents.sol
│   │   │   │   │       ├── IUniswapV3PoolImmutables.sol
│   │   │   │   │       ├── IUniswapV3PoolOwnerActions.sol
│   │   │   │   │       └── IUniswapV3PoolState.sol
│   │   │   │   ├── libraries/
│   │   │   │   │   ├── BitMath.sol
│   │   │   │   │   ├── FixedPoint128.sol
│   │   │   │   │   ├── FixedPoint96.sol
│   │   │   │   │   ├── FullMath.sol
│   │   │   │   │   ├── LiquidityMath.sol
│   │   │   │   │   ├── LowGasSafeMath.sol
│   │   │   │   │   ├── Oracle.sol
│   │   │   │   │   ├── Position.sol
│   │   │   │   │   ├── SafeCast.sol
│   │   │   │   │   ├── SqrtPriceMath.sol
│   │   │   │   │   ├── SwapMath.sol
│   │   │   │   │   ├── Tick.sol
│   │   │   │   │   ├── TickBitmap.sol
│   │   │   │   │   ├── TickMath.sol
│   │   │   │   │   ├── TransferHelper.sol
│   │   │   │   │   └── UnsafeMath.sol
│   │   │   │   └── test/
│   │   │   │       └── TestUniswapV3Callee.sol
│   │   │   ├── interfaces/
│   │   │   │   └── IWETH.sol
│   │   │   ├── periphery/
│   │   │   │   ├── NonfungiblePositionManager.sol
│   │   │   │   ├── NonfungibleTokenPositionDescriptor.sol
│   │   │   │   ├── SwapRouter.sol
│   │   │   │   ├── base/
│   │   │   │   │   ├── BlockTimestamp.sol
│   │   │   │   │   ├── ERC721Permit.sol
│   │   │   │   │   ├── LiquidityManagement.sol
│   │   │   │   │   ├── Multicall.sol
│   │   │   │   │   ├── PeripheryImmutableState.sol
│   │   │   │   │   ├── PeripheryPayments.sol
│   │   │   │   │   ├── PeripheryPaymentsWithFee.sol
│   │   │   │   │   ├── PeripheryValidation.sol
│   │   │   │   │   ├── PoolInitializer.sol
│   │   │   │   │   └── SelfPermit.sol
│   │   │   │   ├── interfaces/
│   │   │   │   │   ├── IERC20Metadata.sol
│   │   │   │   │   ├── IERC721Permit.sol
│   │   │   │   │   ├── IMulticall.sol
│   │   │   │   │   ├── INonfungiblePositionManager.sol
│   │   │   │   │   ├── INonfungibleTokenPositionDescriptor.sol
│   │   │   │   │   ├── IPeripheryImmutableState.sol
│   │   │   │   │   ├── IPeripheryPayments.sol
│   │   │   │   │   ├── IPeripheryPaymentsWithFee.sol
│   │   │   │   │   ├── IPoolInitializer.sol
│   │   │   │   │   ├── IQuoter.sol
│   │   │   │   │   ├── IQuoterV2.sol
│   │   │   │   │   ├── ISelfPermit.sol
│   │   │   │   │   ├── ISwapRouter.sol
│   │   │   │   │   ├── ITickLens.sol
│   │   │   │   │   ├── IV3Migrator.sol
│   │   │   │   │   └── external/
│   │   │   │   │       ├── IERC1271.sol
│   │   │   │   │       └── IERC20PermitAllowed.sol
│   │   │   │   ├── lens/
│   │   │   │   │   ├── Quoter.sol
│   │   │   │   │   ├── QuoterV2.sol
│   │   │   │   │   ├── TickLens.sol
│   │   │   │   │   └── UniswapInterfaceMulticall.sol
│   │   │   │   └── libraries/
│   │   │   │       ├── AddressStringUtil.sol
│   │   │   │       ├── BytesLib.sol
│   │   │   │       ├── CallbackValidation.sol
│   │   │   │       ├── ChainId.sol
│   │   │   │       ├── HexStrings.sol
│   │   │   │       ├── LiquidityAmounts.sol
│   │   │   │       ├── NFTDescriptor.sol
│   │   │   │       ├── NFTSVG.sol
│   │   │   │       ├── OracleLibrary.sol
│   │   │   │       ├── Path.sol
│   │   │   │       ├── PoolAddress.sol
│   │   │   │       ├── PoolTicksCounter.sol
│   │   │   │       ├── PositionKey.sol
│   │   │   │       ├── PositionValue.sol
│   │   │   │       ├── SafeERC20Namer.sol
│   │   │   │       ├── SqrtPriceMathPartial.sol
│   │   │   │       ├── TokenRatioSortOrder.sol
│   │   │   │       ├── TransferHelper.sol
│   │   │   │       └── UniswapV3Broker.sol
│   │   │   └── token/
│   │   │       └── AGENTToken.sol
│   │   ├── deploy/
│   │   │   ├── apechain/
│   │   │   │   └── deployed.json
│   │   │   ├── arbitrum/
│   │   │   │   └── deployed.json
│   │   │   ├── base/
│   │   │   │   └── deployed.json
│   │   │   ├── bittensor/
│   │   │   │   └── deployed.json
│   │   │   ├── bsc/
│   │   │   │   └── deployed.json
│   │   │   ├── helpers.ts
│   │   │   ├── migrations.ts
│   │   │   └── types.ts
│   │   ├── hardhat.config.ts
│   │   ├── package.json
│   │   └── tsconfig.json
│   ├── agent-orchestration/
│   │   ├── README.md
│   │   ├── backend/
│   │   │   ├── .cursorignore
│   │   │   ├── .gitignore
│   │   │   ├── Dockerfile
│   │   │   ├── Dockerfile.compose
│   │   │   ├── apis/
│   │   │   │   ├── api_admin.go
│   │   │   │   ├── api_agent.go
│   │   │   │   ├── api_agent_assistant.go
│   │   │   │   ├── api_agent_infer.go
│   │   │   │   ├── api_agent_infra.go
│   │   │   │   ├── api_agent_trade.go
│   │   │   │   ├── api_external_wallet.go
│   │   │   │   ├── api_infra_twitter_app.go
│   │   │   │   ├── api_internal.go
│   │   │   │   ├── api_key_subscription.go
│   │   │   │   ├── api_knowledge.go
│   │   │   │   ├── api_pump.go
│   │   │   │   ├── api_robot.go
│   │   │   │   ├── api_sample_twitter_app.go
│   │   │   │   ├── api_store.go
│   │   │   │   ├── api_store_trading_app.go
│   │   │   │   ├── api_user.go
│   │   │   │   ├── api_vibe.go
│   │   │   │   ├── apis.go
│   │   │   │   ├── middlewares.go
│   │   │   │   └── routers.go
│   │   │   ├── compose.yaml
│   │   │   ├── configs/
│   │   │   │   ├── config.json.local
│   │   │   │   ├── config.json.sample
│   │   │   │   ├── configs.go
│   │   │   │   └── mission_token.go
│   │   │   ├── daos/
│   │   │   │   ├── agent_chain_fee.go
│   │   │   │   ├── agent_dao.go
│   │   │   │   ├── agent_eai_topup.go
│   │   │   │   ├── agent_external_info.go
│   │   │   │   ├── agent_info.go
│   │   │   │   ├── agent_info_install.go
│   │   │   │   ├── agent_info_knowledge_base.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_snapshot_mission.go
│   │   │   │   ├── agent_snapshot_post.go
│   │   │   │   ├── agent_snapshot_post_action.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_store_install.go
│   │   │   │   ├── agent_store_mission.go
│   │   │   │   ├── agent_store_try.go
│   │   │   │   ├── agent_store_try_detail.go
│   │   │   │   ├── agent_token_dao.go
│   │   │   │   ├── agent_trade_token.go
│   │   │   │   ├── agent_twitter_post.go
│   │   │   │   ├── agent_wallet.go
│   │   │   │   ├── agent_wallet_action.go
│   │   │   │   ├── api_subscription_history.go
│   │   │   │   ├── api_subscription_key.go
│   │   │   │   ├── api_subscription_package.go
│   │   │   │   ├── api_subscription_usage_log.go
│   │   │   │   ├── batch_infer_history.go
│   │   │   │   ├── block_scan_info.go
│   │   │   │   ├── chain_config.go
│   │   │   │   ├── daos.go
│   │   │   │   ├── external_wallet.go
│   │   │   │   ├── external_wallet_order.go
│   │   │   │   ├── external_wallet_token.go
│   │   │   │   ├── infra_twiiter_app.go
│   │   │   │   ├── job_config.go
│   │   │   │   ├── launchpad.go
│   │   │   │   ├── launchpad_member.go
│   │   │   │   ├── launchpad_transaction.go
│   │   │   │   ├── meme_fees_collected.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── mission_store_history.go
│   │   │   │   ├── mission_store_rating.go
│   │   │   │   ├── model_market.go
│   │   │   │   ├── model_predict_history.go
│   │   │   │   ├── robot_dao.go
│   │   │   │   ├── sample_twiiter_app.go
│   │   │   │   ├── store_trading_app.go
│   │   │   │   ├── training_request.go
│   │   │   │   ├── training_request_erc20_info.go
│   │   │   │   ├── twitter_following.go
│   │   │   │   ├── twitter_post.go
│   │   │   │   ├── twitter_tweet.go
│   │   │   │   ├── twitter_tweet_liked.go
│   │   │   │   ├── twitter_user.go
│   │   │   │   ├── user_dao.go
│   │   │   │   ├── user_transaction.go
│   │   │   │   ├── vibe.go
│   │   │   │   └── zk_sync_network.go
│   │   │   ├── databases/
│   │   │   │   └── database.go
│   │   │   ├── errs/
│   │   │   │   └── errors.go
│   │   │   ├── go.mod
│   │   │   ├── go.sum
│   │   │   ├── helpers/
│   │   │   │   ├── auth.go
│   │   │   │   ├── copier.go
│   │   │   │   ├── crypto.go
│   │   │   │   ├── file.go
│   │   │   │   ├── http_request.go
│   │   │   │   ├── json.go
│   │   │   │   ├── net.go
│   │   │   │   ├── rand.go
│   │   │   │   ├── recaptcha.go
│   │   │   │   ├── sign.go
│   │   │   │   ├── time.go
│   │   │   │   ├── tpl.go
│   │   │   │   ├── twitter.go
│   │   │   │   ├── univ3.go
│   │   │   │   └── utils.go
│   │   │   ├── internal/
│   │   │   │   ├── core/
│   │   │   │   │   └── ports/
│   │   │   │   │       ├── agent_info.go
│   │   │   │   │       ├── app_config.go
│   │   │   │   │       ├── knowledge_ports.go
│   │   │   │   │       └── scraper_ports.go
│   │   │   │   ├── repository/
│   │   │   │   │   ├── agent_info_knowledge_base_repo.go
│   │   │   │   │   ├── agent_info_repo.go
│   │   │   │   │   ├── app_config.go
│   │   │   │   │   ├── knowledge_base_file_repo.go
│   │   │   │   │   └── knowledge_base_repo.go
│   │   │   │   └── usecase/
│   │   │   │       ├── agent_info/
│   │   │   │       │   └── agent_info.go
│   │   │   │       ├── appconfig/
│   │   │   │       │   └── appconfig_usecase.go
│   │   │   │       └── knowledge/
│   │   │   │           └── knowledge_usecase.go
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   ├── models/
│   │   │   │   ├── agent.go
│   │   │   │   ├── agent_info_knowledege_bases.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_snapshot_post.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_wallet.go
│   │   │   │   ├── api_subscription.go
│   │   │   │   ├── app_configs.go
│   │   │   │   ├── external_wallet.go
│   │   │   │   ├── infer.go
│   │   │   │   ├── infra_twitter_app.go
│   │   │   │   ├── knowledge_base.go
│   │   │   │   ├── launchpad.go
│   │   │   │   ├── llm_model.go
│   │   │   │   ├── meme.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── models.go
│   │   │   │   ├── robot.go
│   │   │   │   ├── sample_twiiter_app.go
│   │   │   │   ├── store_trading_app.go
│   │   │   │   ├── tokens.go
│   │   │   │   ├── twitter_post.go
│   │   │   │   ├── users.go
│   │   │   │   └── vibe.go
│   │   │   ├── pkg/
│   │   │   │   ├── drivers/
│   │   │   │   │   └── mysql/
│   │   │   │   │       ├── action.go
│   │   │   │   │       ├── base.go
│   │   │   │   │       ├── filter.go
│   │   │   │   │       ├── gorm_connection.go
│   │   │   │   │       ├── mysql_config.go
│   │   │   │   │       └── mysql_connection.go
│   │   │   │   ├── encrypt/
│   │   │   │   │   └── encrypt.go
│   │   │   │   ├── eth/
│   │   │   │   │   └── client.go
│   │   │   │   ├── scraper/
│   │   │   │   │   └── colly/
│   │   │   │   │       ├── colly.go
│   │   │   │   │       └── colly_test.go
│   │   │   │   ├── secret_manager/
│   │   │   │   │   └── secret_manager.go
│   │   │   │   └── utils/
│   │   │   │       ├── copier.go
│   │   │   │       ├── crypto.go
│   │   │   │       ├── scraper.go
│   │   │   │       ├── solana.go
│   │   │   │       ├── solana_test.go
│   │   │   │       ├── string_utils.go
│   │   │   │       └── utils.go
│   │   │   ├── serializers/
│   │   │   │   ├── agent_assistant_serializers.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_serializers.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_token_serializers.go
│   │   │   │   ├── api_key_subscription.go
│   │   │   │   ├── external_wallet_serializers.go
│   │   │   │   ├── infer_req.go
│   │   │   │   ├── knowledge_serializers.go
│   │   │   │   ├── launchpad_serializers.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── preview_serializers.go
│   │   │   │   ├── pump_serializers.go
│   │   │   │   ├── reqs.go
│   │   │   │   ├── resps.go
│   │   │   │   ├── robot_serializers.go
│   │   │   │   ├── token_holder_serializers.go
│   │   │   │   ├── user_serializers.go
│   │   │   │   ├── user_transaction.go
│   │   │   │   └── vibe_serializers.go
│   │   │   ├── server.go
│   │   │   ├── server_test.go
│   │   │   ├── services/
│   │   │   │   ├── 3rd/
│   │   │   │   │   ├── aidojo/
│   │   │   │   │   │   └── aidojo.go
│   │   │   │   │   ├── binds/
│   │   │   │   │   │   ├── agentfactory/
│   │   │   │   │   │   │   ├── AgentFactory.go
│   │   │   │   │   │   │   ├── AgentFactory.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── agentshares/
│   │   │   │   │   │   │   ├── AgentShares.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── agenttoken/
│   │   │   │   │   │   │   └── AGENTToken.go
│   │   │   │   │   │   ├── agentupgradeable/
│   │   │   │   │   │   │   ├── AgentUpgradeable.go
│   │   │   │   │   │   │   ├── AgentUpgradeable.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── aikb721/
│   │   │   │   │   │   │   ├── KB721.abi
│   │   │   │   │   │   │   └── kb_721.go
│   │   │   │   │   │   ├── apechainnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── apechainpool/
│   │   │   │   │   │   │   ├── Pool.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── arbitrumfactory/
│   │   │   │   │   │   │   ├── Factory.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── arbitrumnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── arbitrumpool/
│   │   │   │   │   │   │   ├── Pool.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── avaxnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── basenonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── basequoterv2/
│   │   │   │   │   │   │   ├── QuoterV2.go
│   │   │   │   │   │   │   ├── abi.json
│   │   │   │   │   │   │   └── extras.go
│   │   │   │   │   │   ├── baseswaprouter02/
│   │   │   │   │   │   │   ├── SwapRouter02.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── bridge/
│   │   │   │   │   │   │   └── Bridge.go
│   │   │   │   │   │   ├── bscfactory/
│   │   │   │   │   │   │   ├── Factory.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── bscnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── bscpool/
│   │   │   │   │   │   │   ├── Pool.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── celononfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   ├── abi.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── dagent721/
│   │   │   │   │   │   │   ├── Dagent721.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── daotoken/
│   │   │   │   │   │   │   └── DAOToken.go
│   │   │   │   │   │   ├── daotreasury/
│   │   │   │   │   │   │   └── DAOTreasury.go
│   │   │   │   │   │   ├── erc1155/
│   │   │   │   │   │   │   └── ERC1155.go
│   │   │   │   │   │   ├── erc20/
│   │   │   │   │   │   │   └── erc20.go
│   │   │   │   │   │   ├── erc20realworldagent/
│   │   │   │   │   │   │   ├── ERC20RealWorldAgent.go
│   │   │   │   │   │   │   ├── ERC20RealWorldAgent.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── erc20utilityagent/
│   │   │   │   │   │   │   ├── ERC20UtilityAgent.go
│   │   │   │   │   │   │   ├── ERC20UtilityAgent.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── erc721/
│   │   │   │   │   │   │   └── erc721.go
│   │   │   │   │   │   ├── ethereumnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── filestore/
│   │   │   │   │   │   │   └── FileStore.json
│   │   │   │   │   │   ├── gpumanager/
│   │   │   │   │   │   │   ├── GPUManagerr.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── iagenttokendeployer/
│   │   │   │   │   │   │   └── IAGENTTokenDeployer.go
│   │   │   │   │   │   ├── ihybridmodel/
│   │   │   │   │   │   │   └── IHybridModel.go
│   │   │   │   │   │   ├── imagehub/
│   │   │   │   │   │   │   └── ImageHub.go
│   │   │   │   │   │   ├── isystempromptmanager/
│   │   │   │   │   │   │   └── ISystemPromptManager.go
│   │   │   │   │   │   ├── iv3swaprouter/
│   │   │   │   │   │   │   └── IV3SwapRouter.go
│   │   │   │   │   │   ├── iworkerhub/
│   │   │   │   │   │   │   └── workerhub.go
│   │   │   │   │   │   ├── memenonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── memequoter/
│   │   │   │   │   │   │   ├── QuoterV2.go
│   │   │   │   │   │   │   └── extras.go
│   │   │   │   │   │   ├── memeswaprouter/
│   │   │   │   │   │   │   └── SwapRouter.go
│   │   │   │   │   │   ├── multisend/
│   │   │   │   │   │   │   └── MultiSend.go
│   │   │   │   │   │   ├── orderpayment/
│   │   │   │   │   │   │   ├── OrderPayment.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── polygonnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── proxyadmin/
│   │   │   │   │   │   │   └── ProxyAdmin.go
│   │   │   │   │   │   ├── sunpumplaunchpad/
│   │   │   │   │   │   │   ├── SunpumpLaunchpad.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── systempromptmanager/
│   │   │   │   │   │   │   └── SystemPromptManager.go
│   │   │   │   │   │   ├── tokenfactory/
│   │   │   │   │   │   │   └── TokenFactory.go
│   │   │   │   │   │   ├── transparentupgradeableproxy/
│   │   │   │   │   │   │   └── TransparentUpgradeableProxy.go
│   │   │   │   │   │   ├── transparentupgradeableproxyzk/
│   │   │   │   │   │   │   └── TransparentUpgradeableProxy.go
│   │   │   │   │   │   ├── uniswapv3factory/
│   │   │   │   │   │   │   └── UniswapV3Factory.go
│   │   │   │   │   │   ├── uniswapv3pool/
│   │   │   │   │   │   │   └── UniswapV3Pool.go
│   │   │   │   │   │   ├── vibetokenfactory/
│   │   │   │   │   │   │   └── VibeTokenFactory.go
│   │   │   │   │   │   ├── wbvm/
│   │   │   │   │   │   │   └── WBVM.go
│   │   │   │   │   │   ├── workerhub/
│   │   │   │   │   │   │   └── workerhub.go
│   │   │   │   │   │   └── zksyncnonfungiblepositionmanager/
│   │   │   │   │   │       ├── NonfungiblePositionManager.go
│   │   │   │   │   │       └── abi.json
│   │   │   │   │   ├── blockchain_utils/
│   │   │   │   │   │   └── blockchain_utils.go
│   │   │   │   │   ├── bridgeapi/
│   │   │   │   │   │   └── bridge_api.go
│   │   │   │   │   ├── btcapi/
│   │   │   │   │   │   ├── blockchain.go
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── hiroso.go
│   │   │   │   │   │   ├── mempool.go
│   │   │   │   │   │   └── sdk.go
│   │   │   │   │   ├── clanker/
│   │   │   │   │   │   └── clanker_client.go
│   │   │   │   │   ├── coingecko/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── coinmarketcap/
│   │   │   │   │   │   └── coin_market_cap.go
│   │   │   │   │   ├── core/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── deep_research/
│   │   │   │   │   │   └── deep_research.go
│   │   │   │   │   ├── delegate_cash/
│   │   │   │   │   │   └── delegate_cash.go
│   │   │   │   │   ├── dexscreener/
│   │   │   │   │   │   ├── dexscreener.go
│   │   │   │   │   │   └── dexscreener_wss.go
│   │   │   │   │   ├── eth/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── ethapi/
│   │   │   │   │   │   ├── agenttoken.go
│   │   │   │   │   │   ├── agentupgradeable.go
│   │   │   │   │   │   ├── apechain_swapv3.go
│   │   │   │   │   │   ├── arbitrum_swapv3.go
│   │   │   │   │   │   ├── avax_swapv3.go
│   │   │   │   │   │   ├── base_swapv3.go
│   │   │   │   │   │   ├── bsc_swapv3.go
│   │   │   │   │   │   ├── celo_swapv3.go
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── dagent721.go
│   │   │   │   │   │   ├── daotoken.go
│   │   │   │   │   │   ├── daotreasury.go
│   │   │   │   │   │   ├── erc20.go
│   │   │   │   │   │   ├── erc20realworldagent.go
│   │   │   │   │   │   ├── erc20utilityagent.go
│   │   │   │   │   │   ├── erc721.go
│   │   │   │   │   │   ├── ethereum_swapv3.go
│   │   │   │   │   │   ├── events.go
│   │   │   │   │   │   ├── external_events.go
│   │   │   │   │   │   ├── gpumanager.go
│   │   │   │   │   │   ├── iagenttokendeployer.go
│   │   │   │   │   │   ├── iv3swaprouter.go
│   │   │   │   │   │   ├── meme_swapv3.go
│   │   │   │   │   │   ├── multisend.go
│   │   │   │   │   │   ├── polygon_swapv3.go
│   │   │   │   │   │   ├── proxyadmin.go
│   │   │   │   │   │   ├── systempromptmanager.go
│   │   │   │   │   │   ├── tokenfactory.go
│   │   │   │   │   │   ├── transparentupgradeableproxy.go
│   │   │   │   │   │   ├── univ3.go
│   │   │   │   │   │   ├── vibe_token.go
│   │   │   │   │   │   └── workerhub.go
│   │   │   │   │   ├── evmapi/
│   │   │   │   │   │   └── base.go
│   │   │   │   │   ├── googlestorage/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── hiro/
│   │   │   │   │   │   ├── hiro.go
│   │   │   │   │   │   └── structs.go
│   │   │   │   │   ├── lighthouse/
│   │   │   │   │   │   ├── lighthouse.go
│   │   │   │   │   │   ├── zip_upload.go
│   │   │   │   │   │   └── zip_upload_test.go
│   │   │   │   │   ├── magiceden/
│   │   │   │   │   │   ├── magiceden.go
│   │   │   │   │   │   ├── magiceden_hardcode.go
│   │   │   │   │   │   └── structs.go
│   │   │   │   │   ├── moralis/
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── moralis.go
│   │   │   │   │   │   └── structure.go
│   │   │   │   │   ├── openai/
│   │   │   │   │   │   ├── openai.go
│   │   │   │   │   │   └── utils.go
│   │   │   │   │   ├── opensea/
│   │   │   │   │   │   ├── opensea.go
│   │   │   │   │   │   └── structures.go
│   │   │   │   │   ├── privy/
│   │   │   │   │   │   └── privy_client.go
│   │   │   │   │   ├── pumfun/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── rapid/
│   │   │   │   │   │   └── rapid.go
│   │   │   │   │   ├── taapi/
│   │   │   │   │   │   └── taapi.go
│   │   │   │   │   ├── telegram/
│   │   │   │   │   │   └── telegram.go
│   │   │   │   │   ├── trxapi/
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── common.go
│   │   │   │   │   │   ├── sunpumplaunchpad.go
│   │   │   │   │   │   ├── systempromptmanager.go
│   │   │   │   │   │   └── trx20.go
│   │   │   │   │   ├── twitter/
│   │   │   │   │   │   ├── auth.go
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── common_obj.go
│   │   │   │   │   │   ├── error_obj.go
│   │   │   │   │   │   ├── exclude.go
│   │   │   │   │   │   ├── expansions.go
│   │   │   │   │   │   ├── media_obj.go
│   │   │   │   │   │   ├── place_obj.go
│   │   │   │   │   │   ├── poll_obj.go
│   │   │   │   │   │   ├── tweet.go
│   │   │   │   │   │   ├── tweet_obj.go
│   │   │   │   │   │   ├── tweet_params.go
│   │   │   │   │   │   ├── upload_video.go
│   │   │   │   │   │   ├── user.go
│   │   │   │   │   │   ├── user_obj.go
│   │   │   │   │   │   ├── user_params.go
│   │   │   │   │   │   └── wrap_api.go
│   │   │   │   │   ├── zkapi/
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── erc1155.go
│   │   │   │   │   │   ├── erc20.go
│   │   │   │   │   │   ├── erc721.go
│   │   │   │   │   │   ├── hybridmodel.go
│   │   │   │   │   │   ├── image_hub.go
│   │   │   │   │   │   ├── systempromptmanager.go
│   │   │   │   │   │   ├── transparentupgradeableproxy.go
│   │   │   │   │   │   └── zksync_swapv3.go
│   │   │   │   │   └── zkclient/
│   │   │   │   │       └── client.go
│   │   │   │   ├── agent_abilities_job.go
│   │   │   │   ├── agent_abilities_luckymoney.go
│   │   │   │   ├── agent_abilities_telebot.go
│   │   │   │   ├── agent_abilities_twitter.go
│   │   │   │   ├── agent_analytic.go
│   │   │   │   ├── agent_balances.go
│   │   │   │   ├── agent_brains.go
│   │   │   │   ├── agent_create_agent_srv.go
│   │   │   │   ├── agent_create_token_video.go
│   │   │   │   ├── agent_infer.go
│   │   │   │   ├── agent_infer_job.go
│   │   │   │   ├── agent_infra.go
│   │   │   │   ├── agent_knowledgebase.go
│   │   │   │   ├── agent_launchpad.go
│   │   │   │   ├── agent_launchpad_job.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_manage.go
│   │   │   │   ├── agent_mints.go
│   │   │   │   ├── agent_nfts.go
│   │   │   │   ├── agent_report.go
│   │   │   │   ├── agent_srv.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_token_srv.go
│   │   │   │   ├── agent_trading.go
│   │   │   │   ├── agent_twin_trains.go
│   │   │   │   ├── agent_utilities.go
│   │   │   │   ├── agent_video.go
│   │   │   │   ├── api_subscription_srv.go
│   │   │   │   ├── blockchain_subcriber.go
│   │   │   │   ├── blockchain_subcriber_job.go
│   │   │   │   ├── dex_srv.go
│   │   │   │   ├── external_wallet_srv.go
│   │   │   │   ├── infra_twitter_app.go
│   │   │   │   ├── internal_srv.go
│   │   │   │   ├── ipfs.go
│   │   │   │   ├── job_srv.go
│   │   │   │   ├── knowledge_base_job.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── redis_srv.go
│   │   │   │   ├── robot_srv.go
│   │   │   │   ├── sample_twitter_app.go
│   │   │   │   ├── service.go
│   │   │   │   ├── store_trading_app.go
│   │   │   │   ├── telegram.go
│   │   │   │   ├── token_liquidity.go
│   │   │   │   ├── token_liquidity_events.go
│   │   │   │   ├── token_liquidity_job.go
│   │   │   │   ├── twitter_job.go
│   │   │   │   ├── user_srv.go
│   │   │   │   ├── vibe_srv.go
│   │   │   │   └── video_magic_prompt.go
│   │   │   └── types/
│   │   │       └── numeric/
│   │   │           ├── address.go
│   │   │           ├── bigints.go
│   │   │           ├── common.go
│   │   │           ├── hash.go
│   │   │           ├── hex.go
│   │   │           ├── numeric.go
│   │   │           └── quote_uint64s.go
│   │   ├── core/
│   │   │   ├── cmd/
│   │   │   │   └── api/
│   │   │   │       └── main.go
│   │   │   ├── common/
│   │   │   │   └── database/
│   │   │   │       └── database.go
│   │   │   ├── config/
│   │   │   │   └── config.json.sample
│   │   │   ├── domain/
│   │   │   │   ├── errors.go
│   │   │   │   └── wallet.go
│   │   │   ├── go.mod
│   │   │   ├── go.sum
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   ├── modules/
│   │   │   │   └── wallet/
│   │   │   │       ├── delivery/
│   │   │   │       │   └── http/
│   │   │   │       │       └── handler.go
│   │   │   │       ├── repository/
│   │   │   │       │   └── mysql/
│   │   │   │       │       └── mysql.go
│   │   │   │       └── usecase/
│   │   │   │           └── usecase.go
│   │   │   ├── pkg/
│   │   │   │   └── core/
│   │   │   │       ├── core.go
│   │   │   │       └── wallet/
│   │   │   │           └── wallet.go
│   │   │   ├── serializers/
│   │   │   │   └── serializers.go
│   │   │   ├── server/
│   │   │   │   └── http.go
│   │   │   └── utils/
│   │   │       ├── blowfish.go
│   │   │       ├── ip.go
│   │   │       ├── map.go
│   │   │       └── utils.go
│   │   ├── lib-services/
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── contants.ts
│   │   │   │   ├── core/
│   │   │   │   │   └── index.ts
│   │   │   │   ├── neynar.ts
│   │   │   │   ├── raydium.ts
│   │   │   │   ├── server.ts
│   │   │   │   └── utils.ts
│   │   │   ├── tsconfig-scryptTS.json
│   │   │   └── tsconfig.json
│   │   ├── md.go
│   │   └── remote-service/
│   │       ├── .cursorignore
│   │       ├── .gitignore
│   │       ├── cmd/
│   │       │   ├── client/
│   │       │   │   └── main.go
│   │       │   └── server/
│   │       │       ├── discover/
│   │       │       │   └── discover.go
│   │       │       └── main.go
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── proto/
│   │           ├── script.sh
│   │           ├── script_service.pb.go
│   │           ├── script_service.proto
│   │           └── script_service_grpc.pb.go
│   ├── characters/
│   │   └── luna.character.ts
│   ├── dagent/
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── agent/
│   │   │   │   └── index.ts
│   │   │   ├── dagentCharacter.ts
│   │   │   ├── direct/
│   │   │   │   ├── constant.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── service.ts
│   │   │   │   └── utils.ts
│   │   │   ├── storage/
│   │   │   │   └── index.ts
│   │   │   └── utils/
│   │   │       ├── environment.ts
│   │   │       └── helpers.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── lerna.json
│   ├── package.json
│   ├── plugins/
│   │   ├── client-dagent/
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── dagent-farcaster.ts
│   │   │   │   ├── dagent-twitter.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   ├── core/
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── base-dagent.ts
│   │   │   │   ├── client/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── base.ts
│   │   │   │   │   └── index.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── logger.ts
│   │   │   │   ├── store/
│   │   │   │   │   └── store.ts
│   │   │   │   ├── types/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── api.ts
│   │   │   │   │   ├── chain.ts
│   │   │   │   │   ├── character.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── store.ts
│   │   │   │   │   └── token.ts
│   │   │   │   └── utils/
│   │   │   │       └── generation.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   ├── plugin-direct/
│   │   │   ├── README.md
│   │   │   ├── nodemon.json
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   └── index.ts
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   ├── plugin-farcaster/
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   └── plugin-twitter/
│   │       ├── package.json
│   │       ├── src/
│   │       │   ├── index.ts
│   │       │   └── types.ts
│   │       ├── tsconfig.build.json
│   │       ├── tsconfig.json
│   │       └── tsup.config.ts
│   ├── scripts/
│   │   ├── comma.js
│   │   └── start-dagent.js
│   └── tsconfig.json
├── agent-cli/
│   ├── bin/
│   │   └── eai.js
│   ├── install.sh
│   ├── package.json
│   ├── src/
│   │   ├── const.ts
│   │   ├── eliza/
│   │   │   ├── Dockerfile
│   │   │   ├── config.json
│   │   │   ├── sample.sh
│   │   │   └── start.sh
│   │   ├── eternalai/
│   │   │   ├── Dockerfile
│   │   │   ├── chat.sh
│   │   │   ├── default_config.json
│   │   │   ├── default_local_contracts.json
│   │   │   └── start.sh
│   │   ├── handler.ts
│   │   ├── log.ts
│   │   ├── main.ts
│   │   ├── manager.ts
│   │   ├── mintv1.ts
│   │   ├── mintv2.ts
│   │   ├── model_handler.ts
│   │   ├── rig/
│   │   │   ├── Dockerfile
│   │   │   ├── agent_with_eternalai.rs
│   │   │   └── start.sh
│   │   └── utils.ts
│   ├── tsconfig.json
│   └── tsup.config.ts
├── agent-launcher/
│   ├── .eslintrc.cjs
│   ├── .gitignore
│   ├── README.md
│   ├── crypto-agents/
│   │   ├── README.md
│   │   └── js/
│   │       ├── twitter-dm/
│   │       │   ├── .dockerignore
│   │       │   ├── .gitignore
│   │       │   ├── Dockerfile
│   │       │   ├── README.md
│   │       │   ├── docker-compose.yml
│   │       │   ├── package.json
│   │       │   ├── src/
│   │       │   │   ├── prompt/
│   │       │   │   │   └── index.ts
│   │       │   │   ├── server.ts
│   │       │   │   ├── types/
│   │       │   │   │   └── chat.ts
│   │       │   │   └── utils/
│   │       │   │       └── logger.ts
│   │       │   └── tsconfig.json
│   │       └── twitter-infra/
│   │           ├── .gitignore
│   │           ├── Dockerfile
│   │           ├── README.md
│   │           ├── package.json
│   │           └── src/
│   │               ├── index.ts
│   │               └── prompt/
│   │                   ├── index.ts
│   │                   └── types.ts
│   ├── electron/
│   │   ├── electron-env.d.ts
│   │   ├── main.ts
│   │   └── preload.ts
│   ├── electron-builder.json5
│   ├── index.html
│   ├── package.json
│   ├── src/
│   │   ├── App.tsx
│   │   ├── components/
│   │   │   ├── header/
│   │   │   │   ├── index.tsx
│   │   │   │   ├── menu/
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── menuConfig.ts
│   │   │   │   │   └── styles.module.scss
│   │   │   │   ├── styles.module.scss
│   │   │   │   └── wallet/
│   │   │   │       ├── index.tsx
│   │   │   │       └── styles.module.scss
│   │   │   └── layout/
│   │   │       ├── index.tsx
│   │   │       └── styles.module.scss
│   │   ├── constants/
│   │   │   └── route-path.ts
│   │   ├── hooks/
│   │   │   └── useOnClickOutSide.ts
│   │   ├── main.tsx
│   │   ├── pages/
│   │   │   ├── home/
│   │   │   │   ├── chat-agent/
│   │   │   │   │   ├── bundle.js
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   ├── provider/
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── interface.ts
│   │   │   │   └── trade-agent/
│   │   │   │       ├── form-trade/
│   │   │   │       │   └── index.tsx
│   │   │   │       ├── index.tsx
│   │   │   │       └── styles.module.scss
│   │   │   └── mine/
│   │   │       ├── __mock__/
│   │   │       │   └── nodes.ts
│   │   │       ├── components/
│   │   │       │   ├── button-base/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── card-base/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── config-info-card/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   └── node-card/
│   │   │       │       ├── index.tsx
│   │   │       │       └── styles.module.scss
│   │   │       ├── features/
│   │   │       │   ├── header/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── node-actions/
│   │   │       │   │   └── index.tsx
│   │   │       │   ├── node-config-info/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── node-device-info/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   └── node-list/
│   │   │       │       ├── index.tsx
│   │   │       │       └── styles.module.scss
│   │   │       ├── index.tsx
│   │   │       └── stores/
│   │   │           └── useNodes.ts
│   │   ├── styles/
│   │   │   └── global.scss
│   │   ├── types/
│   │   │   └── data.ts
│   │   ├── utils/
│   │   │   ├── data.ts
│   │   │   └── extension.ts
│   │   ├── vite-env.d.ts
│   │   └── worker.js
│   ├── tsconfig.json
│   ├── tsconfig.node.json
│   └── vite.config.ts
├── agent-studio/
│   ├── .eslint.config.js
│   ├── .gitignore
│   ├── .npmrc
│   ├── .yarnrc.yml
│   ├── README.md
│   ├── lerna.json
│   ├── package.json
│   ├── packages/
│   │   ├── studio-app/
│   │   │   ├── .gitignore
│   │   │   ├── README.md
│   │   │   ├── package.json
│   │   │   ├── public/
│   │   │   │   ├── index.html
│   │   │   │   ├── manifest.json
│   │   │   │   └── robots.txt
│   │   │   ├── src/
│   │   │   │   ├── App.module.scss
│   │   │   │   ├── App.test.tsx
│   │   │   │   ├── App.tsx
│   │   │   │   ├── categories/
│   │   │   │   │   ├── ai-framework/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── eliza/
│   │   │   │   │   │   │   ├── ElizaFramework/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── blockchains/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── categories.ts
│   │   │   │   │   ├── decentralize-inference/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── defi/
│   │   │   │   │   │   └── tradeAnalytics/
│   │   │   │   │   │       ├── CustomRenderer/
│   │   │   │   │   │       │   ├── Fields/
│   │   │   │   │   │       │   │   ├── FrequencyField.tsx
│   │   │   │   │   │       │   │   └── TokenField.tsx
│   │   │   │   │   │       │   └── index.tsx
│   │   │   │   │   │       ├── types.ts
│   │   │   │   │   │       └── validates/
│   │   │   │   │   │           ├── create.ts
│   │   │   │   │   │           ├── index.ts
│   │   │   │   │   │           └── update.ts
│   │   │   │   │   ├── farcaster/
│   │   │   │   │   │   ├── postOnFarcaster/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── AiModelField.tsx
│   │   │   │   │   │   │   │   │   ├── DetailsField.tsx
│   │   │   │   │   │   │   │   │   └── FrequencyField.tsx
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   │   └── validates/
│   │   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │   │       └── update.ts
│   │   │   │   │   │   ├── replyOnFarcaster/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── AiModelField.tsx
│   │   │   │   │   │   │   │   │   ├── DetailsField.tsx
│   │   │   │   │   │   │   │   │   └── FrequencyField.tsx
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   │   └── validates/
│   │   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │   │       └── update.ts
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── new-agent/
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── persisted-agent.ts
│   │   │   │   │   ├── personalities/
│   │   │   │   │   │   ├── ReviewNft.tsx
│   │   │   │   │   │   ├── helpers.ts
│   │   │   │   │   │   ├── import-from-nft/
│   │   │   │   │   │   │   ├── ImportFromNft/
│   │   │   │   │   │   │   │   ├── CollectionModal/
│   │   │   │   │   │   │   │   │   ├── CollectionListView.tsx
│   │   │   │   │   │   │   │   │   ├── CollectionNFTItem.tsx
│   │   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   │   ├── CollectionThumbItem.tsx
│   │   │   │   │   │   │   │   ├── CollectionView.tsx
│   │   │   │   │   │   │   │   ├── PersonalityView.tsx
│   │   │   │   │   │   │   │   ├── TokenIdView.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── import-from-ordinals/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── CollectionModal/
│   │   │   │   │   │   │   │   │   │   ├── CollectionListView.tsx
│   │   │   │   │   │   │   │   │   │   ├── CollectionNFTItem.tsx
│   │   │   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   │   │   ├── CollectionThumbItem.tsx
│   │   │   │   │   │   │   │   │   ├── CollectionView.tsx
│   │   │   │   │   │   │   │   │   ├── PersonalityView.tsx
│   │   │   │   │   │   │   │   │   └── TokenIdView.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── import-from-token/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── ContractAddressView.tsx
│   │   │   │   │   │   │   │   │   ├── PersonalityView.tsx
│   │   │   │   │   │   │   │   │   ├── TokenNameView.tsx
│   │   │   │   │   │   │   │   │   └── TokenSymbolView.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── import-genomics/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── SelectTwitterModal/
│   │   │   │   │   │   │   │   │   ├── SelectTwitterModal.module.scss
│   │   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   │   ├── TwitterCloneTube/
│   │   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   │   ├── TwitterClonedView/
│   │   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── knowledge/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── DescriptionView.tsx
│   │   │   │   │   │   │   │   │   ├── NameView.tsx
│   │   │   │   │   │   │   │   │   └── UploadFile/
│   │   │   │   │   │   │   │   │       ├── ListFiles/
│   │   │   │   │   │   │   │   │       │   ├── index.tsx
│   │   │   │   │   │   │   │   │       │   └── styles.module.scss
│   │   │   │   │   │   │   │   │       ├── index.tsx
│   │   │   │   │   │   │   │   │       └── styles.module.scss
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   │   └── validates/
│   │   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │   │       └── update.ts
│   │   │   │   │   │   ├── new-personality/
│   │   │   │   │   │   │   ├── NewPersonality/
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── shared/
│   │   │   │   │   │   ├── CustomRendererNoInput/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validators/
│   │   │   │   │   │       └── index.ts
│   │   │   │   │   ├── tokens/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   └── x/
│   │   │   │   │       ├── engageOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── followOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── postFollowingOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   ├── FetchPostsFrequencyField.tsx
│   │   │   │   │       │   │   │   ├── FrequencyField.tsx
│   │   │   │   │       │   │   │   └── styles.module.scss
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── postNewsOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   ├── FrequencyField.tsx
│   │   │   │   │       │   │   │   ├── SearchTopicField.tsx
│   │   │   │   │       │   │   │   └── styles.module.scss
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── postOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── replyOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── styles.module.scss
│   │   │   │   │       └── tradingOnX/
│   │   │   │   │           ├── CustomRenderer/
│   │   │   │   │           │   ├── Fields/
│   │   │   │   │           │   │   ├── AiModelField.tsx
│   │   │   │   │           │   │   ├── DetailsField.tsx
│   │   │   │   │           │   │   └── FrequencyField.tsx
│   │   │   │   │           │   └── index.tsx
│   │   │   │   │           ├── types.ts
│   │   │   │   │           └── validates/
│   │   │   │   │               ├── create.ts
│   │   │   │   │               ├── index.ts
│   │   │   │   │               └── update.ts
│   │   │   │   ├── chakra-themes.tsx
│   │   │   │   ├── components/
│   │   │   │   │   ├── ConnectXContent/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── CustomRendererBase/
│   │   │   │   │   │   ├── CustomRendererBaseTitle.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── IconRenderer/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── LoadingRow/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── NumberCounter/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── ScreenLoading/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── SimulateTasks/
│   │   │   │   │   │   ├── ChatSimulate/
│   │   │   │   │   │   │   ├── Chat/
│   │   │   │   │   │   │   │   ├── ChatList.tsx
│   │   │   │   │   │   │   │   ├── ChatMessage.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   ├── styles.module.scss
│   │   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── EngageSimulate/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── PostFollowingSimulate/
│   │   │   │   │   │   │   ├── SearchedFollowing.module.scss
│   │   │   │   │   │   │   ├── SearchedFollowing.tsx
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── PostNewsSimulate/
│   │   │   │   │   │   │   ├── SearchedNews.module.scss
│   │   │   │   │   │   │   ├── SearchedNews.tsx
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── PostSimulate/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── ReplySimulate/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── SimulateResult/
│   │   │   │   │   │   │   ├── SimulateResult.module.scss
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── constants.ts
│   │   │   │   │   │   ├── hooks/
│   │   │   │   │   │   │   └── useHandleSimulateTasks.ts
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── SvgInset/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── TextRender/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── ToastMessage/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── ToastOverlay/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── buttons/
│   │   │   │   │   │   ├── ResetButton/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── SubmitButton/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── styles.ts
│   │   │   │   │   ├── form/
│   │   │   │   │   │   ├── fields/
│   │   │   │   │   │   │   ├── StudioFieldInputPlaceholder/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioFieldLabel/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioFieldTooltip/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioHorizontalField/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── StudioVerticalField/
│   │   │   │   │   │   │       └── index.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── inputs/
│   │   │   │   │   │   │   ├── StudioDatetimeInput/
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   ├── StudioDropdown/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioInput/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioTextArea/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── StudioToggle/
│   │   │   │   │   │   │       ├── index.tsx
│   │   │   │   │   │   │       └── styles.module.scss
│   │   │   │   │   │   ├── styles.ts
│   │   │   │   │   │   └── types.ts
│   │   │   │   │   ├── icons/
│   │   │   │   │   │   ├── LaunchIcon.tsx
│   │   │   │   │   │   ├── common.tsx
│   │   │   │   │   │   └── studio.tsx
│   │   │   │   │   └── skeleton/
│   │   │   │   │       ├── SkeletonMessage.tsx
│   │   │   │   │       ├── styles.module.scss
│   │   │   │   │       └── versions/
│   │   │   │   │           ├── SkeletonAvatar.tsx
│   │   │   │   │           ├── SkeletonCustom.tsx
│   │   │   │   │           ├── SkeletonLongText.tsx
│   │   │   │   │           ├── SkeletonShortText.tsx
│   │   │   │   │           ├── constants.ts
│   │   │   │   │           └── index.ts
│   │   │   │   ├── configs/
│   │   │   │   │   └── index.ts
│   │   │   │   ├── constants/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── category-keys.ts
│   │   │   │   │   ├── category-option-keys.ts
│   │   │   │   │   ├── default-values.ts
│   │   │   │   │   ├── mapping.ts
│   │   │   │   │   ├── models.ts
│   │   │   │   │   ├── networks.ts
│   │   │   │   │   ├── option-values.ts
│   │   │   │   │   ├── tokens.ts
│   │   │   │   │   ├── toolset.ts
│   │   │   │   │   └── validates.ts
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── useAgentDataFieldChange.ts
│   │   │   │   │   ├── useCollections.ts
│   │   │   │   │   ├── useDataValidates.ts
│   │   │   │   │   ├── useDebounce.ts
│   │   │   │   │   ├── useDetectChainIdForMissionModel.ts
│   │   │   │   │   ├── useEffectOnce.ts
│   │   │   │   │   ├── useGeneratePersonality.ts
│   │   │   │   │   ├── useLatest.ts
│   │   │   │   │   ├── useThrottle.ts
│   │   │   │   │   ├── useThrottleValue.ts
│   │   │   │   │   └── useUnmount.ts
│   │   │   │   ├── index.css
│   │   │   │   ├── index.tsx
│   │   │   │   ├── pages/
│   │   │   │   │   ├── Create/
│   │   │   │   │   │   ├── CreateButton/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   └── Update/
│   │   │   │   │       ├── AutoUpdateSaving/
│   │   │   │   │       │   └── index.tsx
│   │   │   │   │       └── index.tsx
│   │   │   │   ├── providers/
│   │   │   │   │   └── GlobalDataProvider/
│   │   │   │   │       ├── ModelData.tsx
│   │   │   │   │       └── index.tsx
│   │   │   │   ├── react-app-env.d.ts
│   │   │   │   ├── reportWebVitals.ts
│   │   │   │   ├── services/
│   │   │   │   │   ├── agent-database.ts
│   │   │   │   │   └── apis/
│   │   │   │   │       ├── agent/
│   │   │   │   │       │   ├── index.tsx
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       ├── chain/
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       ├── clients.ts
│   │   │   │   │       ├── file/
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       ├── model/
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       └── studio/
│   │   │   │   │           ├── index.ts
│   │   │   │   │           └── types.ts
│   │   │   │   ├── setupTests.ts
│   │   │   │   ├── stores/
│   │   │   │   │   ├── useAgentServiceStore.ts
│   │   │   │   │   ├── useCommonStore.ts
│   │   │   │   │   └── useStudioAgentStore.ts
│   │   │   │   ├── types/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── collection.ts
│   │   │   │   │   ├── message.ts
│   │   │   │   │   └── px2rem.ts
│   │   │   │   └── utils/
│   │   │   │       ├── agent.ts
│   │   │   │       ├── category.ts
│   │   │   │       ├── common.ts
│   │   │   │       ├── data.ts
│   │   │   │       ├── file.ts
│   │   │   │       ├── process.ts
│   │   │   │       ├── prompt.ts
│   │   │   │       ├── string.ts
│   │   │   │       ├── time.ts
│   │   │   │       ├── toast.tsx
│   │   │   │       ├── twitter.ts
│   │   │   │       ├── validate.ts
│   │   │   │       └── validator.ts
│   │   │   └── tsconfig.json
│   │   └── studio-dnd/
│   │       ├── .gitignore
│   │       ├── .npmignore
│   │       ├── .prettierrc.json
│   │       ├── .storybook/
│   │       │   ├── main.ts
│   │       │   ├── preview.scss
│   │       │   └── preview.ts
│   │       ├── .stylelintignore
│   │       ├── .stylelintrc.cjs
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── eslint.config.js
│   │       ├── package.json
│   │       ├── rollup.config.mjs
│   │       ├── setupTests.ts
│   │       ├── src/
│   │       │   ├── enums/
│   │       │   │   └── node-type.ts
│   │       │   ├── hooks/
│   │       │   │   ├── useEffectOnce.ts
│   │       │   │   ├── useLatest.ts
│   │       │   │   ├── useThrottle.ts
│   │       │   │   ├── useThrottleValue.ts
│   │       │   │   └── useUnmount.ts
│   │       │   ├── index.ts
│   │       │   ├── modules/
│   │       │   │   ├── Studio/
│   │       │   │   │   ├── Studio.scss
│   │       │   │   │   ├── Studio.stories.tsx
│   │       │   │   │   ├── Studio.tsx
│   │       │   │   │   ├── StudioAgent.stories.tsx
│   │       │   │   │   ├── StudioAgentV2.stories.tsx
│   │       │   │   │   ├── __mocks__/
│   │       │   │   │   │   ├── agent-categories-v2.tsx
│   │       │   │   │   │   ├── agent-categories.tsx
│   │       │   │   │   │   ├── agent-data-source-v2.ts
│   │       │   │   │   │   ├── agent-data-source.ts
│   │       │   │   │   │   ├── categories.ts
│   │       │   │   │   │   ├── data-source.ts
│   │       │   │   │   │   └── data.ts
│   │       │   │   │   ├── components/
│   │       │   │   │   │   ├── Board/
│   │       │   │   │   │   │   ├── Board.scss
│   │       │   │   │   │   │   ├── BoardOverlay/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── CustomEdges/
│   │       │   │   │   │   │   └── EdgeBase/
│   │       │   │   │   │   │       ├── EdgeBase.scss
│   │       │   │   │   │   │       └── index.tsx
│   │       │   │   │   │   ├── CustomNodes/
│   │       │   │   │   │   │   ├── DraggingPlaceholder/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── NodeBase/
│   │       │   │   │   │   │       ├── DraggingFloating/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── LegoRender/
│   │       │   │   │   │   │       │   ├── LegoRender.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBase.scss
│   │       │   │   │   │   │       ├── NodeBaseChild/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBaseConnection/
│   │       │   │   │   │   │       │   ├── NodeBaseConnection.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBaseReadOnly/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBaseWrapper/
│   │       │   │   │   │   │       │   ├── NodeBaseWrapper.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeSingle/
│   │       │   │   │   │   │       │   ├── NodeSingle.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeStacks/
│   │       │   │   │   │   │       │   ├── NodeStacks.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── index.tsx
│   │       │   │   │   │   │       └── types.ts
│   │       │   │   │   │   ├── DataFields/
│   │       │   │   │   │   │   ├── FormRender/
│   │       │   │   │   │   │   │   ├── FormRender.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Select/
│   │       │   │   │   │   │   │   ├── Select.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── TextArea/
│   │       │   │   │   │   │   │   ├── TextArea.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── Textbox/
│   │       │   │   │   │   │       ├── Textbox.scss
│   │       │   │   │   │   │       └── index.tsx
│   │       │   │   │   │   ├── DataFlow/
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── DnD/
│   │       │   │   │   │   │   ├── Distribution/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── DndFlow/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Factory/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Package/
│   │       │   │   │   │   │   │   ├── Package.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Product/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── ProductAddon/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── ProductPlaceholder/
│   │       │   │   │   │   │   │   ├── Package.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Source/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── base/
│   │       │   │   │   │   │       ├── DragMask/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── Draggable/
│   │       │   │   │   │   │       │   ├── Draggable.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NoDraggable/
│   │       │   │   │   │   │       │   ├── NoDraggable.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       └── StaticDroppable/
│   │       │   │   │   │   │           ├── StaticDroppable.scss
│   │       │   │   │   │   │           └── index.tsx
│   │       │   │   │   │   ├── EventHandler/
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── Lego/
│   │       │   │   │   │   │   ├── Lego.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── LegoContent/
│   │       │   │   │   │   │   ├── LegoContent.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── LegoParent/
│   │       │   │   │   │   │   ├── LegoParent.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── Overlay/
│   │       │   │   │   │   │   ├── Overlay.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── Render/
│   │       │   │   │   │   │   ├── ImageRender/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── TextRender/
│   │       │   │   │   │   │       └── index.tsx
│   │       │   │   │   │   ├── Sidebar/
│   │       │   │   │   │   │   ├── CategoryGroup/
│   │       │   │   │   │   │   │   ├── CategoryGroup.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Sidebar.scss
│   │       │   │   │   │   │   ├── SidebarOverlay/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── SidebarTab/
│   │       │   │   │   │   │   │   ├── SidebarTab.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── icons/
│   │       │   │   │   │   │   ├── common.tsx
│   │       │   │   │   │   │   └── lego.tsx
│   │       │   │   │   │   ├── index.tsx
│   │       │   │   │   │   └── ui/
│   │       │   │   │   │       └── Tooltip/
│   │       │   │   │   │           ├── Tooltip.scss
│   │       │   │   │   │           └── index.tsx
│   │       │   │   │   ├── constants/
│   │       │   │   │   │   ├── area-class-names.ts
│   │       │   │   │   │   ├── color-palettes.ts
│   │       │   │   │   │   ├── configs.ts
│   │       │   │   │   │   ├── default-values.ts
│   │       │   │   │   │   ├── key-map.ts
│   │       │   │   │   │   └── time.ts
│   │       │   │   │   ├── database/
│   │       │   │   │   │   └── category-color-database.ts
│   │       │   │   │   ├── enums/
│   │       │   │   │   │   ├── category.ts
│   │       │   │   │   │   ├── index.ts
│   │       │   │   │   │   ├── side.ts
│   │       │   │   │   │   └── tab.ts
│   │       │   │   │   ├── hooks/
│   │       │   │   │   │   ├── useContainerMouse.ts
│   │       │   │   │   │   ├── useDndAction.ts
│   │       │   │   │   │   ├── useDndInteraction.ts
│   │       │   │   │   │   ├── useEdgeSelected.ts
│   │       │   │   │   │   ├── useFormFunction.ts
│   │       │   │   │   │   ├── useNewStore.ts
│   │       │   │   │   │   ├── useNodeSelected.ts
│   │       │   │   │   │   └── useStudio.ts
│   │       │   │   │   ├── index.ts
│   │       │   │   │   ├── stores/
│   │       │   │   │   │   ├── useStudioCategoryStore.ts
│   │       │   │   │   │   ├── useStudioConfigStore.ts
│   │       │   │   │   │   ├── useStudioDataSourceStore.ts
│   │       │   │   │   │   ├── useStudioDataStore.ts
│   │       │   │   │   │   ├── useStudioDndStore.ts
│   │       │   │   │   │   ├── useStudioFlowStore.ts
│   │       │   │   │   │   ├── useStudioFlowViewStore.ts
│   │       │   │   │   │   ├── useStudioFormStore.ts
│   │       │   │   │   │   └── useStudioStore.ts
│   │       │   │   │   ├── types/
│   │       │   │   │   │   ├── base.ts
│   │       │   │   │   │   ├── category.ts
│   │       │   │   │   │   ├── config.ts
│   │       │   │   │   │   ├── data-source.ts
│   │       │   │   │   │   ├── dnd.ts
│   │       │   │   │   │   ├── graph.ts
│   │       │   │   │   │   ├── index.ts
│   │       │   │   │   │   └── ui.ts
│   │       │   │   │   └── utils/
│   │       │   │   │       ├── array.ts
│   │       │   │   │       ├── category.ts
│   │       │   │   │       ├── data.ts
│   │       │   │   │       ├── edge.ts
│   │       │   │   │       ├── node.ts
│   │       │   │   │       ├── ui.ts
│   │       │   │   │       └── validates.ts
│   │       │   │   └── index.ts
│   │       │   ├── styles/
│   │       │   │   ├── _reset.scss
│   │       │   │   ├── _root.scss
│   │       │   │   └── global.scss
│   │       │   └── utils/
│   │       │       └── data.ts
│   │       ├── tsconfig.json
│   │       ├── vite.config.ts
│   │       └── vitest.config.ts
│   └── tsconfig.json
├── ai-architectures/
│   ├── README.md
│   ├── agent-battle/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── api.http
│   │   ├── cmd/
│   │   │   ├── api/
│   │   │   │   ├── module.go
│   │   │   │   └── route.go
│   │   │   ├── main.go
│   │   │   ├── setting/
│   │   │   │   ├── module.go
│   │   │   │   └── setting.go
│   │   │   └── worker/
│   │   │       ├── module.go
│   │   │       └── worker.go
│   │   ├── docs/
│   │   │   ├── diagrams/
│   │   │   │   └── userflow.puml
│   │   │   ├── docs.go
│   │   │   ├── swagger.json
│   │   │   └── swagger.yaml
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── internal/
│   │   │   ├── adapters/
│   │   │   │   ├── handler/
│   │   │   │   │   └── game/
│   │   │   │   │       └── game_handler.go
│   │   │   │   └── repository/
│   │   │   │       └── mongo/
│   │   │   │           ├── game_repo.go
│   │   │   │           ├── module.go
│   │   │   │           ├── setting_repo.go
│   │   │   │           └── worker_repo.go
│   │   │   ├── contract/
│   │   │   │   └── erc20/
│   │   │   │       ├── erc20.go
│   │   │   │       ├── erc20.json
│   │   │   │       └── usecase/
│   │   │   │           ├── usecase.go
│   │   │   │           └── usecase_test.go
│   │   │   └── core/
│   │   │       ├── middleware/
│   │   │       │   ├── authentication.go
│   │   │       │   └── middleware.go
│   │   │       ├── model/
│   │   │       │   ├── base.go
│   │   │       │   ├── game.go
│   │   │       │   ├── setting.go
│   │   │       │   └── worker.go
│   │   │       ├── port/
│   │   │       │   ├── erc20_port.go
│   │   │       │   └── game_port.go
│   │   │       ├── service/
│   │   │       │   └── game_usecase/
│   │   │       │       ├── usecase.go
│   │   │       │       └── usecase_test.go
│   │   │       └── worker/
│   │   │           └── game/
│   │   │               └── worker.go
│   │   └── pkg/
│   │       ├── constants/
│   │       │   ├── constants.go
│   │       │   └── sort/
│   │       │       └── constant.go
│   │       ├── cryptoamount/
│   │       │   ├── cryptoamount.go
│   │       │   └── cryptoamount_test.go
│   │       ├── drivers/
│   │       │   └── mongodb/
│   │       │       ├── cast/
│   │       │       │   └── cast.go
│   │       │       ├── init.go
│   │       │       ├── module.go
│   │       │       ├── options.go
│   │       │       ├── repository.go
│   │       │       └── types.go
│   │       ├── encrypt/
│   │       │   └── encrypt.go
│   │       ├── eth/
│   │       │   └── client.go
│   │       ├── fiber/
│   │       │   ├── cache/
│   │       │   │   ├── cache.go
│   │       │   │   ├── config.go
│   │       │   │   ├── heap.go
│   │       │   │   ├── manager.go
│   │       │   │   └── manager_msgp.go
│   │       │   └── fiberzap/
│   │       │       ├── filberzap.go
│   │       │       └── types.go
│   │       ├── logger/
│   │       │   └── logger.go
│   │       ├── rest/
│   │       │   └── template.go
│   │       ├── secret_manager/
│   │       │   └── secret_manager.go
│   │       ├── telegram/
│   │       │   └── client.go
│   │       └── utils/
│   │           ├── copier.go
│   │           ├── crypto.go
│   │           ├── fiber_error.go
│   │           ├── file.go
│   │           ├── html.go
│   │           ├── jwt_token.go
│   │           ├── mongo.go
│   │           ├── password.go
│   │           ├── slice.go
│   │           ├── string.go
│   │           ├── url.go
│   │           └── utils.go
│   ├── agent-task-handlers/
│   │   ├── .gitignore
│   │   ├── .pre-commit-config.yaml
│   │   ├── Dockerfile
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── pyproject.toml
│   │   ├── requirements-dev.txt
│   │   ├── requirements.txt
│   │   ├── scripts/
│   │   │   └── reset_redis.sh
│   │   ├── server.py
│   │   ├── tests/
│   │   │   ├── __init__.py
│   │   │   └── unit/
│   │   │       ├── __init__.py
│   │   │       ├── mock/
│   │   │       │   ├── __init__.py
│   │   │       │   ├── api_twitter.py
│   │   │       │   ├── kn_base.py
│   │   │       │   ├── llm.py
│   │   │       │   ├── postprocess.py
│   │   │       │   ├── sleep.py
│   │   │       │   └── twin_agent.py
│   │   │       ├── test_post_v2.py
│   │   │       └── utils.py
│   │   └── x_content/
│   │       ├── __init__.py
│   │       ├── api.py
│   │       ├── cache/
│   │       │   ├── __init__.py
│   │       │   ├── base_state_handler.py
│   │       │   ├── chat_request_state_handler.py
│   │       │   ├── entity_cache.py
│   │       │   └── mission_state_handler.py
│   │       ├── constants/
│   │       │   ├── __init__.py
│   │       │   ├── analytic.py
│   │       │   ├── chain.py
│   │       │   ├── game.py
│   │       │   ├── main.py
│   │       │   ├── models.py
│   │       │   ├── redis.py
│   │       │   ├── telegram.py
│   │       │   ├── trading.py
│   │       │   ├── twin.py
│   │       │   └── utils.py
│   │       ├── legacy_services/
│   │       │   ├── __init__.py
│   │       │   ├── post.py
│   │       │   ├── twin.py
│   │       │   └── utils.py
│   │       ├── llm/
│   │       │   ├── __init__.py
│   │       │   ├── base.py
│   │       │   ├── eternal_ai.py
│   │       │   ├── local.py
│   │       │   ├── time_estimation.py
│   │       │   └── utils.py
│   │       ├── models.py
│   │       ├── service.py
│   │       ├── services/
│   │       │   ├── __init__.py
│   │       │   ├── chat/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── chat_langgraph.py
│   │       │   │   ├── memory.py
│   │       │   │   ├── service.py
│   │       │   │   └── tools.py
│   │       │   └── fact/
│   │       │       ├── __init__.py
│   │       │       ├── fact_check.py
│   │       │       ├── run_fact_check.py
│   │       │       └── service.py
│   │       ├── tasks/
│   │       │   ├── __init__.py
│   │       │   ├── _legacy/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── post_search.py
│   │       │   │   ├── quote_tweet.py
│   │       │   │   └── shadow_reply.py
│   │       │   ├── base.py
│   │       │   ├── game_agent/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── create_gamev2.py
│   │       │   │   ├── judge_gamev2.py
│   │       │   │   ├── prompts.py
│   │       │   │   └── subtasks/
│   │       │   │       ├── __init__.py
│   │       │   │       └── reply/
│   │       │   │           ├── __init__.py
│   │       │   │           └── reply_create_game.py
│   │       │   ├── others.py
│   │       │   ├── reply_base.py
│   │       │   ├── reply_subtask_base.py
│   │       │   ├── social_agent/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── chat.py
│   │       │   │   ├── chat_v2.py
│   │       │   │   ├── post_v2.py
│   │       │   │   ├── post_v3.py
│   │       │   │   ├── react_agent.py
│   │       │   │   ├── react_agent_for_trading.py
│   │       │   │   ├── react_agent_use_deepseek_r1.py
│   │       │   │   ├── social_reply.py
│   │       │   │   └── subtasks/
│   │       │   │       ├── __init__.py
│   │       │   │       └── reply/
│   │       │   │           ├── __init__.py
│   │       │   │           ├── reply_game.py
│   │       │   │           └── reply_regular.py
│   │       │   └── utils.py
│   │       ├── toolcall/
│   │       │   ├── __init__.py
│   │       │   ├── dynamic_toolcall.py
│   │       │   ├── toolcall.py
│   │       │   ├── utils.py
│   │       │   └── wrapped_external_apis.py
│   │       ├── utils.py
│   │       ├── verifications.py
│   │       └── wrappers/
│   │           ├── __init__.py
│   │           ├── analytic/
│   │           │   ├── __init__.py
│   │           │   └── custom.py
│   │           ├── api/
│   │           │   ├── __init__.py
│   │           │   └── twitter_v2/
│   │           │       ├── __init__.py
│   │           │       ├── main.py
│   │           │       └── models/
│   │           │           ├── __init__.py
│   │           │           ├── objects.py
│   │           │           └── response.py
│   │           ├── assets/
│   │           │   └── twitter_accounts.json
│   │           ├── bing_search.py
│   │           ├── browsing.py
│   │           ├── conversation.py
│   │           ├── game.py
│   │           ├── gcs.py
│   │           ├── google_search.py
│   │           ├── knowledge_base/
│   │           │   ├── __init__.py
│   │           │   ├── base.py
│   │           │   ├── eternals_kb.py
│   │           │   └── local.py
│   │           ├── llm_tasks.py
│   │           ├── log_decorators.py
│   │           ├── magic.py
│   │           ├── postprocess.py
│   │           ├── rag_search.py
│   │           ├── redis_wrapper.py
│   │           ├── telegram.py
│   │           ├── trading.py
│   │           ├── tweet_specialty.py
│   │           ├── twin_agent.py
│   │           └── vision_tasks.py
│   ├── docling-server/
│   │   ├── Dockerfile
│   │   ├── requirements.txt
│   │   └── server.py
│   ├── knowledge-base/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── app/
│   │   │   ├── __init__.py
│   │   │   ├── api.py
│   │   │   ├── constants.py
│   │   │   ├── embedding.py
│   │   │   ├── graph_handlers.py
│   │   │   ├── handlers.py
│   │   │   ├── io.py
│   │   │   ├── models.py
│   │   │   ├── registry.py
│   │   │   ├── state.py
│   │   │   ├── utils.py
│   │   │   ├── verifications.py
│   │   │   └── wrappers/
│   │   │       ├── __init__.py
│   │   │       ├── log_decorators.py
│   │   │       ├── milvus_kit.py
│   │   │       ├── redis_kit.py
│   │   │       └── telegram_kit.py
│   │   ├── docker-compose.yml
│   │   ├── example.env
│   │   ├── milvus-docker-compose.yml
│   │   ├── models-docker-compose.yml
│   │   ├── requirements.txt
│   │   ├── scripts/
│   │   │   ├── export_collection_data.py
│   │   │   ├── reset_milvus.sh
│   │   │   └── reset_redis.sh
│   │   └── server.py
│   └── launchpad-agent/
│       ├── .gitignore
│       ├── Dockerfile
│       ├── LICENSE
│       ├── README.md
│       ├── app/
│       │   ├── __init__.py
│       │   ├── agents/
│       │   │   ├── __init__.py
│       │   │   ├── investor_analyzer.py
│       │   │   ├── mcp_agent.py
│       │   │   ├── onboarding_agent.py
│       │   │   ├── project_identifier.py
│       │   │   └── tweet_classifier.py
│       │   ├── apis.py
│       │   ├── config.py
│       │   ├── handlers.py
│       │   ├── mcps/
│       │   │   ├── __init__.py
│       │   │   ├── launchpad_mcp.py
│       │   │   ├── twitter_mcp.py
│       │   │   └── utils.py
│       │   ├── schemas/
│       │   │   ├── __init__.py
│       │   │   ├── agents.py/
│       │   │   │   └── receptionist_models.py
│       │   │   ├── commons.py
│       │   │   ├── evaluation.py
│       │   │   ├── evaluation_state.py
│       │   │   ├── launchpad.py
│       │   │   ├── services.py
│       │   │   ├── twitter.py
│       │   │   └── utils.py
│       │   └── utils/
│       │       ├── __init__.py
│       │       ├── caching.py
│       │       ├── concurrency.py
│       │       ├── launchpad_api_calls.py
│       │       ├── lm.py
│       │       ├── logging.py
│       │       ├── misc.py
│       │       ├── mongodb.py
│       │       └── twitter_api_calls.py
│       ├── requirements.base.txt
│       ├── requirements.txt
│       └── server.py
├── ai-kernel/
│   ├── .gitignore
│   ├── .mocharc.json
│   ├── compiler_config.json
│   ├── contracts/
│   │   ├── GPUManager.sol
│   │   ├── HybridModel.sol
│   │   ├── ModelCollection.sol
│   │   ├── ModelLoadBalancer.sol
│   │   ├── PromptScheduler.sol
│   │   ├── StakingHub.sol
│   │   ├── Treasury.sol
│   │   ├── WorkerHub.sol
│   │   ├── interfaces/
│   │   │   ├── ICallBack.sol
│   │   │   ├── IGPUManager.sol
│   │   │   ├── IHybridModel.sol
│   │   │   ├── IInferable.sol
│   │   │   ├── IModel.sol
│   │   │   ├── IModelCollection.sol
│   │   │   ├── IModelLoadBalancer.sol
│   │   │   ├── IScheduler.sol
│   │   │   ├── IStakingHub.sol
│   │   │   ├── ISystemPromptManager.sol
│   │   │   └── IWorkerHub.sol
│   │   ├── library/
│   │   │   ├── Random.sol
│   │   │   ├── Set.sol
│   │   │   └── TransferHelper.sol
│   │   ├── storages/
│   │   │   ├── GPUManagerStorage.sol
│   │   │   ├── HybridModelStorage.sol
│   │   │   ├── ModelCollectionStorage.sol
│   │   │   ├── ModelLoadBalancerStorage.sol
│   │   │   ├── PromptSchedulerStorage.sol
│   │   │   ├── StakingHubStorage.sol
│   │   │   └── WorkerHubStorage.sol
│   │   ├── tokens/
│   │   │   ├── DAOToken.sol
│   │   │   └── IDAOToken.sol
│   │   └── wEAI.sol
│   ├── foundry.toml
│   ├── hardhat.config.ts
│   ├── mocha-report.json
│   ├── package.json
│   ├── remappings.txt
│   └── tsconfig.json
├── blockchains/
│   ├── README.md
│   ├── arbitrum/
│   │   └── README.md
│   ├── base/
│   │   └── README.md
│   ├── bitcoin/
│   │   └── README.md
│   ├── ethereum/
│   │   └── README.md
│   └── solana/
│       └── README.md
├── compose.yaml
├── decentralized-agents/
│   ├── .gitignore
│   ├── .mocharc.json
│   ├── README.md
│   ├── characters/
│   │   ├── donald_trump.txt
│   │   ├── elon_musk.txt
│   │   ├── lex_fridman-by-ben.txt
│   │   ├── mr-robot-by-hope.txt
│   │   ├── naruto_fan.txt
│   │   └── pikachu.txt
│   ├── compiler_config.json
│   ├── contracts/
│   │   ├── standards/
│   │   │   ├── AI721.sol
│   │   │   ├── interfaces/
│   │   │   │   ├── IAI721.sol
│   │   │   │   ├── IAI721Errors.sol
│   │   │   │   └── IBase.sol
│   │   │   ├── llm-agent/
│   │   │   │   ├── ERC20LLMAgent.sol
│   │   │   │   ├── ICommonAgent.sol
│   │   │   │   ├── ILLMAgent.sol
│   │   │   │   ├── LLMAgent.sol
│   │   │   │   └── interfaces/
│   │   │   │       ├── IHybridModel.sol
│   │   │   │       ├── IInferable.sol
│   │   │   │       ├── IModel.sol
│   │   │   │       └── IPromptScheduler.sol
│   │   │   ├── real-world-agent/
│   │   │   │   ├── ERC20RealWorldAgent.sol
│   │   │   │   ├── IRealWorldAgent.sol
│   │   │   │   └── RealWorldAgent.sol
│   │   │   └── utility-agent/
│   │   │       ├── ERC20UtilityAgent.sol
│   │   │       ├── File.sol
│   │   │       ├── ICommonAgent.sol
│   │   │       ├── IFileStore.sol
│   │   │       ├── IUtilityAgent.sol
│   │   │       └── UtilityAgent.sol
│   │   └── standards-upgradeable/
│   │       ├── AI721Upgradeable.sol
│   │       └── interfaces/
│   │           ├── IAI721Upgradeable.sol
│   │           └── IBase.sol
│   ├── foundry.toml
│   ├── hardhat.config.ts
│   ├── mocha-report.json
│   ├── package.json
│   ├── remappings.txt
│   └── tsconfig.json
├── decentralized-compute/
│   ├── README.md
│   ├── cluster/
│   │   ├── .dockerignore
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── Dockerfile.Arm
│   │   ├── Dockerfile.Hardhat
│   │   ├── Dockerfile.build
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── _hardhat.config.ts
│   │   ├── build.sh
│   │   ├── chains/
│   │   │   ├── abstract_testnet/
│   │   │   │   ├── chain.go
│   │   │   │   ├── cluster.go
│   │   │   │   └── staking.go
│   │   │   ├── base/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base_new/
│   │   │   │   ├── chain.go
│   │   │   │   ├── cluster.go
│   │   │   │   └── staking.go
│   │   │   ├── common/
│   │   │   │   └── common.go
│   │   │   └── local/
│   │   │       ├── chain.go
│   │   │       ├── cluster.go
│   │   │       └── staking.go
│   │   ├── cmd/
│   │   │   ├── api/
│   │   │   │   └── main.go
│   │   │   └── miner/
│   │   │       └── main.go
│   │   ├── config/
│   │   │   └── configs.go
│   │   ├── docker-compose-arm-local.yml
│   │   ├── docker-compose-arm.yml
│   │   ├── docker-compose-local.yml
│   │   ├── docker-compose.yml
│   │   ├── download_model_linux.sh
│   │   ├── download_model_macos.sh
│   │   ├── entrypoint.sh
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── hardhat.config.js
│   │   ├── internal/
│   │   │   ├── contracts/
│   │   │   │   ├── erc20/
│   │   │   │   │   ├── erc20.go
│   │   │   │   │   └── erc20.json
│   │   │   │   ├── gpu_manager/
│   │   │   │   │   ├── gpu_manager.go
│   │   │   │   │   └── gpu_manager.json
│   │   │   │   ├── load_balancer/
│   │   │   │   │   ├── load_balancer.go
│   │   │   │   │   └── load_balancer.json
│   │   │   │   ├── model_collection/
│   │   │   │   │   ├── model_collection.go
│   │   │   │   │   └── model_collection.json
│   │   │   │   ├── prompt_scheduler/
│   │   │   │   │   ├── prompt_scheduler.go
│   │   │   │   │   └── prompt_scheduler.json
│   │   │   │   ├── proxy/
│   │   │   │   │   ├── proxy.go
│   │   │   │   │   └── proxy.json
│   │   │   │   ├── staking_hub/
│   │   │   │   │   ├── staking_hub.go
│   │   │   │   │   └── staking_hub.json
│   │   │   │   ├── w_eai/
│   │   │   │   │   ├── w_eai.go
│   │   │   │   │   └── w_eai.json
│   │   │   │   └── worker_hub/
│   │   │   │       ├── worker_hub.go
│   │   │   │       └── worker_hub.json
│   │   │   ├── delivery/
│   │   │   │   ├── cmd/
│   │   │   │   │   ├── app.go
│   │   │   │   │   └── handler.go
│   │   │   │   └── http/
│   │   │   │       └── app.go
│   │   │   ├── factory/
│   │   │   │   └── factory.go
│   │   │   ├── model/
│   │   │   │   ├── const.go
│   │   │   │   ├── local_chain.go
│   │   │   │   ├── metadata.go
│   │   │   │   └── model.go
│   │   │   ├── port/
│   │   │   │   └── port.go
│   │   │   └── usecase/
│   │   │       ├── cmd_cluster.go
│   │   │       ├── cmd_local_chain.go
│   │   │       └── miner.go
│   │   ├── package.json
│   │   ├── pkg/
│   │   │   ├── commons.go
│   │   │   ├── const.go
│   │   │   ├── eth/
│   │   │   │   ├── client.go
│   │   │   │   └── proxy.go
│   │   │   ├── googlecloud/
│   │   │   │   ├── gcs.go
│   │   │   │   └── util.go
│   │   │   ├── httpRequest.go
│   │   │   ├── lighthouse/
│   │   │   │   ├── Kvasir.txt
│   │   │   │   ├── lighthouse.go
│   │   │   │   └── lighthouse_test.go
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   └── utils/
│   │   │       └── copier.go
│   │   ├── setup-eternal.sh
│   │   ├── setup-miner-manual.md
│   │   ├── setup-ollam.md
│   │   ├── sol/
│   │   │   ├── .gitignore
│   │   │   ├── .gitmodules
│   │   │   ├── .mocharc.json
│   │   │   ├── README.md
│   │   │   ├── compiler_config.json
│   │   │   ├── contracts/
│   │   │   │   ├── Dagent721.sol
│   │   │   │   ├── GPUManager.sol
│   │   │   │   ├── ModelCollection.sol
│   │   │   │   ├── ModelLoadBalancer.sol
│   │   │   │   ├── PromptScheduler.sol
│   │   │   │   ├── Treasury.sol
│   │   │   │   ├── interfaces/
│   │   │   │   │   ├── ICallBack.sol
│   │   │   │   │   ├── IGPUManager.sol
│   │   │   │   │   ├── IInferable.sol
│   │   │   │   │   ├── IModel.sol
│   │   │   │   │   ├── IModelCollection.sol
│   │   │   │   │   ├── IModelLoadBalancer.sol
│   │   │   │   │   ├── IScheduler.sol
│   │   │   │   │   └── ISystemPromptManager.sol
│   │   │   │   ├── library/
│   │   │   │   │   ├── Random.sol
│   │   │   │   │   ├── Set.sol
│   │   │   │   │   └── TransferHelper.sol
│   │   │   │   ├── standardUpgradeable/
│   │   │   │   │   ├── AI20Upgradeable.sol
│   │   │   │   │   ├── AI721Upgradeable.sol
│   │   │   │   │   └── interfaces/
│   │   │   │   │       ├── IAI20Upgradeable.sol
│   │   │   │   │       ├── IAI721Upgradeable.sol
│   │   │   │   │       └── IBase.sol
│   │   │   │   ├── standards/
│   │   │   │   │   ├── AI20.sol
│   │   │   │   │   ├── AI721.sol
│   │   │   │   │   └── interfaces/
│   │   │   │   │       ├── IAI20.sol
│   │   │   │   │       ├── IAI721.sol
│   │   │   │   │       └── IBase.sol
│   │   │   │   ├── storages/
│   │   │   │   │   ├── GPUManagerStorage.sol
│   │   │   │   │   ├── ModelCollectionStorage.sol
│   │   │   │   │   ├── ModelLoadBalancerStorage.sol
│   │   │   │   │   └── PromptSchedulerStorage.sol
│   │   │   │   └── wEAI.sol
│   │   │   ├── deployedAddressesV2.json
│   │   │   ├── foundry.toml
│   │   │   ├── hardhat.config.ts
│   │   │   ├── mocha-report.json
│   │   │   ├── package.json
│   │   │   ├── remappings.txt
│   │   │   ├── scripts/
│   │   │   │   ├── auto_deploy.ts
│   │   │   │   ├── library/
│   │   │   │   │   ├── lib.ts
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── registerMiners.ts
│   │   │   │   ├── tasks/
│   │   │   │   │   ├── control.task.ts
│   │   │   │   │   └── wallet.task.ts
│   │   │   │   ├── updateHybridModelMetadata.ts
│   │   │   │   └── utils.ts
│   │   │   ├── tests/
│   │   │   │   ├── address.seed.ts
│   │   │   │   └── refactor/
│   │   │   │       ├── helpers.ts
│   │   │   │       └── refactor.test.ts
│   │   │   └── tsconfig.json
│   │   └── version.txt
│   ├── core/
│   │   ├── contracts/
│   │   │   ├── erc20/
│   │   │   │   ├── erc20.go
│   │   │   │   └── erc20.json
│   │   │   ├── gpu_manager/
│   │   │   │   ├── gpu_manager.go
│   │   │   │   └── gpu_manager.json
│   │   │   ├── load_balancer/
│   │   │   │   ├── load_balancer.go
│   │   │   │   └── load_balancer.json
│   │   │   ├── model_collection/
│   │   │   │   ├── model_collection.go
│   │   │   │   └── model_collection.json
│   │   │   ├── model_collection_v1/
│   │   │   │   ├── model_collection_v1.go
│   │   │   │   └── model_collection_v1.json
│   │   │   ├── prompt_scheduler/
│   │   │   │   ├── prompt_scheduler.go
│   │   │   │   └── prompt_scheduler.json
│   │   │   ├── proxy/
│   │   │   │   ├── proxy.go
│   │   │   │   └── proxy.json
│   │   │   ├── staking_hub/
│   │   │   │   ├── staking_hub.go
│   │   │   │   └── staking_hub.json
│   │   │   ├── v1/
│   │   │   │   ├── hybrid_model/
│   │   │   │   │   ├── hybrid_model.go
│   │   │   │   │   ├── hybrid_model.json
│   │   │   │   │   └── hybrid_model_abi.json
│   │   │   │   ├── staking_hub/
│   │   │   │   │   ├── staking_hub.go
│   │   │   │   │   ├── staking_hub.json
│   │   │   │   │   └── staking_hub_abi.json
│   │   │   │   └── worker_hub/
│   │   │   │       ├── worker_hub.go
│   │   │   │       ├── worker_hub.json
│   │   │   │       └── worker_hub_abi.json
│   │   │   ├── w_eai/
│   │   │   │   ├── w_eai.go
│   │   │   │   └── w_eai.json
│   │   │   └── worker_hub/
│   │   │       ├── worker_hub.go
│   │   │       └── worker_hub.json
│   │   ├── go.mod
│   │   └── go.sum
│   ├── miner/
│   │   ├── .gitignore
│   │   ├── chains/
│   │   │   ├── base/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base_new/
│   │   │   │   ├── chain.go
│   │   │   │   ├── cluster.go
│   │   │   │   └── staking.go
│   │   │   └── common/
│   │   │       └── common.go
│   │   ├── cmd/
│   │   │   ├── api/
│   │   │   │   ├── main.go
│   │   │   │   └── main_test.go
│   │   │   └── miner/
│   │   │       ├── main.go
│   │   │       └── main_test.go
│   │   ├── config/
│   │   │   └── configs.go
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── install.sh
│   │   ├── internal/
│   │   │   ├── delivery/
│   │   │   │   └── http/
│   │   │   │       ├── app.go
│   │   │   │       ├── commons.go
│   │   │   │       ├── response/
│   │   │   │       │   └── response.go
│   │   │   │       └── routers.go
│   │   │   ├── factory/
│   │   │   │   └── factory.go
│   │   │   ├── model/
│   │   │   │   ├── const.go
│   │   │   │   ├── infomation.go
│   │   │   │   ├── local_chain.go
│   │   │   │   ├── metadata.go
│   │   │   │   └── model.go
│   │   │   ├── port/
│   │   │   │   └── port.go
│   │   │   └── usecase/
│   │   │       ├── api.go
│   │   │       ├── miner.go
│   │   │       └── miner_test.go
│   │   ├── miner.sh
│   │   └── pkg/
│   │       ├── commons.go
│   │       ├── const.go
│   │       ├── db/
│   │       │   └── sqlite/
│   │       │       └── sqlite.go
│   │       ├── eth/
│   │       │   ├── client.go
│   │       │   └── proxy.go
│   │       ├── googlecloud/
│   │       │   ├── gcs.go
│   │       │   └── util.go
│   │       ├── httpRequest.go
│   │       ├── lighthouse/
│   │       │   ├── Kvasir.txt
│   │       │   ├── lighthouse.go
│   │       │   └── lighthouse_test.go
│   │       ├── logger/
│   │       │   └── logger.go
│   │       ├── utils/
│   │       │   └── copier.go
│   │       └── zip_hf_model_to_light_house/
│   │           └── zip_hf_model.go
│   ├── models/
│   │   ├── Modelfile
│   │   ├── download_model_linux.sh
│   │   └── download_model_macos.sh
│   ├── node/
│   │   ├── Dockerfile
│   │   ├── Dockerfile.Arm
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── build-arm.Dockerfile
│   │   ├── build-arm.sh
│   │   ├── build.Dockerfile
│   │   ├── build.sh
│   │   ├── chains/
│   │   │   ├── abstract_testnet/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base_new/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   └── common/
│   │   │       └── common.go
│   │   ├── config/
│   │   │   └── configs.go
│   │   ├── docker-compose-arm.yml
│   │   ├── docker-compose.yml
│   │   ├── entrypoint.sh
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── internal/
│   │   │   ├── contracts/
│   │   │   │   ├── erc20/
│   │   │   │   │   ├── erc20.go
│   │   │   │   │   └── erc20.json
│   │   │   │   ├── gpu_manager/
│   │   │   │   │   ├── gpu_manager.go
│   │   │   │   │   └── gpu_manager.json
│   │   │   │   ├── prompt_scheduler/
│   │   │   │   │   ├── prompt_scheduler.go
│   │   │   │   │   └── prompt_scheduler.json
│   │   │   │   ├── staking_hub/
│   │   │   │   │   ├── staking_hub.go
│   │   │   │   │   └── staking_hub.json
│   │   │   │   └── worker_hub/
│   │   │   │       ├── worker_hub.go
│   │   │   │       └── worker_hub.json
│   │   │   ├── model/
│   │   │   │   ├── const.go
│   │   │   │   └── model.go
│   │   │   ├── port/
│   │   │   │   └── port.go
│   │   │   └── usecase/
│   │   │       └── task_watcher.go
│   │   ├── main.go
│   │   ├── pkg/
│   │   │   ├── commons.go
│   │   │   ├── const.go
│   │   │   ├── eth/
│   │   │   │   └── client.go
│   │   │   ├── googlecloud/
│   │   │   │   ├── gcs.go
│   │   │   │   └── util.go
│   │   │   ├── httpRequest.go
│   │   │   ├── lighthouse/
│   │   │   │   ├── lighthouse.go
│   │   │   │   └── lighthouse_test.go
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   ├── miner/
│   │   │   │   └── factory.go
│   │   │   └── utils/
│   │   │       └── copier.go
│   │   ├── setup-eternal.sh
│   │   └── setup-ollam.md
│   └── worker-hub/
│       ├── .dockerignore
│       ├── .gitignore
│       ├── Dockerfile
│       ├── Dockerfile-api
│       ├── Dockerfile-api.Arm
│       ├── Dockerfile.Arm
│       ├── Dockerfile.Hardhat
│       ├── Dockerfile.build
│       ├── Makefile
│       ├── README.md
│       ├── _hardhat.config.ts
│       ├── build.sh
│       ├── chains/
│       │   ├── abstract_testnet/
│       │   │   ├── chain.go
│       │   │   ├── cluster.go
│       │   │   └── staking.go
│       │   ├── base/
│       │   │   ├── chain.go
│       │   │   └── staking.go
│       │   ├── base_new/
│       │   │   ├── chain.go
│       │   │   ├── cluster.go
│       │   │   └── staking.go
│       │   ├── common/
│       │   │   └── common.go
│       │   ├── local/
│       │   │   ├── chain.go
│       │   │   ├── cluster.go
│       │   │   └── staking.go
│       │   └── local_v1/
│       │       ├── chain.go
│       │       └── staking.go
│       ├── cmd/
│       │   ├── api/
│       │   │   └── main.go
│       │   ├── cli/
│       │   │   └── main.go
│       │   ├── cli-fast/
│       │   │   └── main.go
│       │   ├── download_model/
│       │   │   └── main.go
│       │   └── miner/
│       │       └── main.go
│       ├── config/
│       │   └── configs.go
│       ├── docker-compose-arm-local.yml
│       ├── docker-compose-arm.yml
│       ├── docker-compose-local.yml
│       ├── docker-compose.yml
│       ├── download_model_linux.sh
│       ├── download_model_macos.sh
│       ├── entrypoint.sh
│       ├── go.mod
│       ├── go.sum
│       ├── hardhat.config.js
│       ├── internal/
│       │   ├── contracts/
│       │   │   ├── erc20/
│       │   │   │   ├── erc20.go
│       │   │   │   └── erc20.json
│       │   │   ├── gpu_manager/
│       │   │   │   ├── gpu_manager.go
│       │   │   │   └── gpu_manager.json
│       │   │   ├── load_balancer/
│       │   │   │   ├── load_balancer.go
│       │   │   │   └── load_balancer.json
│       │   │   ├── model_collection/
│       │   │   │   ├── model_collection.go
│       │   │   │   └── model_collection.json
│       │   │   ├── model_collection_v1/
│       │   │   │   ├── model_collection_v1.go
│       │   │   │   └── model_collection_v1.json
│       │   │   ├── prompt_scheduler/
│       │   │   │   ├── prompt_scheduler.go
│       │   │   │   └── prompt_scheduler.json
│       │   │   ├── proxy/
│       │   │   │   ├── proxy.go
│       │   │   │   └── proxy.json
│       │   │   ├── staking_hub/
│       │   │   │   ├── staking_hub.go
│       │   │   │   └── staking_hub.json
│       │   │   ├── v1/
│       │   │   │   ├── hybrid_model/
│       │   │   │   │   ├── hybrid_model.go
│       │   │   │   │   ├── hybrid_model.json
│       │   │   │   │   └── hybrid_model_abi.json
│       │   │   │   ├── staking_hub/
│       │   │   │   │   ├── staking_hub.go
│       │   │   │   │   ├── staking_hub.json
│       │   │   │   │   └── staking_hub_abi.json
│       │   │   │   └── worker_hub/
│       │   │   │       ├── worker_hub.go
│       │   │   │       ├── worker_hub.json
│       │   │   │       └── worker_hub_abi.json
│       │   │   ├── w_eai/
│       │   │   │   ├── w_eai.go
│       │   │   │   └── w_eai.json
│       │   │   └── worker_hub/
│       │   │       ├── worker_hub.go
│       │   │       └── worker_hub.json
│       │   ├── delivery/
│       │   │   ├── cmd/
│       │   │   │   ├── app.go
│       │   │   │   └── handler.go
│       │   │   └── http/
│       │   │       ├── app.go
│       │   │       └── response/
│       │   │           └── response.go
│       │   ├── factory/
│       │   │   ├── factory.go
│       │   │   └── local_chain_factory.go
│       │   ├── model/
│       │   │   ├── const.go
│       │   │   ├── local_chain.go
│       │   │   ├── metadata.go
│       │   │   └── model.go
│       │   ├── port/
│       │   │   └── port.go
│       │   └── usecase/
│       │       ├── api_local_chain_v1.go
│       │       ├── cmd_cluster.go
│       │       ├── cmd_local_chain_v1.go
│       │       ├── cmd_local_chain_v2.go
│       │       └── miner.go
│       ├── package.json
│       ├── pkg/
│       │   ├── commons.go
│       │   ├── const.go
│       │   ├── eth/
│       │   │   ├── client.go
│       │   │   └── proxy.go
│       │   ├── googlecloud/
│       │   │   ├── gcs.go
│       │   │   └── util.go
│       │   ├── httpRequest.go
│       │   ├── lighthouse/
│       │   │   ├── Kvasir.txt
│       │   │   ├── lighthouse.go
│       │   │   └── lighthouse_test.go
│       │   ├── logger/
│       │   │   └── logger.go
│       │   ├── utils/
│       │   │   └── copier.go
│       │   └── zip_hf_model_to_light_house/
│       │       └── zip_hf_model.go
│       ├── setup-eternal.sh
│       ├── setup-miner-manual.md
│       ├── setup-ollama.md
│       ├── sol/
│       │   ├── smart-contract-v1/
│       │   │   ├── .gitignore
│       │   │   ├── .gitmodules
│       │   │   ├── README.md
│       │   │   ├── contracts/
│       │   │   │   ├── AI721.sol
│       │   │   │   ├── HybridModel.sol
│       │   │   │   ├── ModelCollection.sol
│       │   │   │   ├── StakingHub.sol
│       │   │   │   ├── Treasury.sol
│       │   │   │   ├── WorkerHub.sol
│       │   │   │   ├── interfaces/
│       │   │   │   │   ├── IAI721.sol
│       │   │   │   │   ├── ICallBack.sol
│       │   │   │   │   ├── IHybridModel.sol
│       │   │   │   │   ├── IInferable.sol
│       │   │   │   │   ├── IModel.sol
│       │   │   │   │   ├── IModelCollection.sol
│       │   │   │   │   ├── IStakingHub.sol
│       │   │   │   │   └── IWorkerHub.sol
│       │   │   │   ├── library/
│       │   │   │   │   ├── Random.sol
│       │   │   │   │   ├── Set.sol
│       │   │   │   │   └── TransferHelper.sol
│       │   │   │   ├── storages/
│       │   │   │   │   ├── AI721Storage.sol
│       │   │   │   │   ├── HybridModelStorage.sol
│       │   │   │   │   ├── ModelCollectionStorage.sol
│       │   │   │   │   ├── StakingHubStorage.sol
│       │   │   │   │   └── WorkerHubStorage.sol
│       │   │   │   ├── tokens/
│       │   │   │   │   ├── DAOToken.sol
│       │   │   │   │   └── IDAOToken.sol
│       │   │   │   └── wEAI.sol
│       │   │   ├── deployedAddresses.json
│       │   │   ├── hardhat.config.ts
│       │   │   ├── package.json
│       │   │   ├── scripts/
│       │   │   │   ├── autoDeploy.ts
│       │   │   │   └── library/
│       │   │   │       ├── lib.ts
│       │   │   │       └── utils.ts
│       │   │   └── tsconfig.json
│       │   └── smart-contract-v2/
│       │       ├── .gitignore
│       │       ├── .gitmodules
│       │       ├── .mocharc.json
│       │       ├── README.md
│       │       ├── compiler_config.json
│       │       ├── contracts/
│       │       │   ├── Dagent721.sol
│       │       │   ├── GPUManager.sol
│       │       │   ├── ModelCollection.sol
│       │       │   ├── ModelLoadBalancer.sol
│       │       │   ├── PromptScheduler.sol
│       │       │   ├── Treasury.sol
│       │       │   ├── interfaces/
│       │       │   │   ├── ICallBack.sol
│       │       │   │   ├── IGPUManager.sol
│       │       │   │   ├── IInferable.sol
│       │       │   │   ├── IModel.sol
│       │       │   │   ├── IModelCollection.sol
│       │       │   │   ├── IModelLoadBalancer.sol
│       │       │   │   ├── IScheduler.sol
│       │       │   │   └── ISystemPromptManager.sol
│       │       │   ├── library/
│       │       │   │   ├── Random.sol
│       │       │   │   ├── Set.sol
│       │       │   │   └── TransferHelper.sol
│       │       │   ├── standardUpgradeable/
│       │       │   │   ├── AI20Upgradeable.sol
│       │       │   │   ├── AI721Upgradeable.sol
│       │       │   │   └── interfaces/
│       │       │   │       ├── IAI20Upgradeable.sol
│       │       │   │       ├── IAI721Upgradeable.sol
│       │       │   │       └── IBase.sol
│       │       │   ├── standards/
│       │       │   │   ├── AI20.sol
│       │       │   │   ├── AI721.sol
│       │       │   │   └── interfaces/
│       │       │   │       ├── IAI20.sol
│       │       │   │       ├── IAI721.sol
│       │       │   │       └── IBase.sol
│       │       │   ├── storages/
│       │       │   │   ├── GPUManagerStorage.sol
│       │       │   │   ├── ModelCollectionStorage.sol
│       │       │   │   ├── ModelLoadBalancerStorage.sol
│       │       │   │   └── PromptSchedulerStorage.sol
│       │       │   └── wEAI.sol
│       │       ├── deployedAddressesV2.json
│       │       ├── foundry.toml
│       │       ├── hardhat.config.ts
│       │       ├── mocha-report.json
│       │       ├── package.json
│       │       ├── remappings.txt
│       │       ├── scripts/
│       │       │   ├── auto_deploy.ts
│       │       │   ├── registerMiners.ts
│       │       │   ├── tasks/
│       │       │   │   ├── control.task.ts
│       │       │   │   └── wallet.task.ts
│       │       │   ├── updateHybridModelMetadata.ts
│       │       │   └── utils.ts
│       │       ├── tests/
│       │       │   ├── address.seed.ts
│       │       │   └── refactor/
│       │       │       ├── helpers.ts
│       │       │       └── refactor.test.ts
│       │       └── tsconfig.json
│       └── version.txt
├── decentralized-inference/
│   ├── .dockerignore
│   ├── .gitignore
│   ├── README.md
│   ├── chat_config.json.example
│   ├── cmd/
│   │   ├── other/
│   │   │   └── chat/
│   │   │       ├── chat.go
│   │   │       └── chat_config.go
│   │   └── server/
│   │       ├── decentralize_infer.go
│   │       ├── router.go
│   │       └── server.go
│   ├── config.json
│   ├── config.json.example
│   ├── eai
│   ├── go.mod
│   ├── go.sum
│   ├── internal/
│   │   ├── abi/
│   │   │   ├── ai721.go
│   │   │   └── workerhub.go
│   │   ├── client/
│   │   │   └── client.go
│   │   ├── config/
│   │   │   └── config.go
│   │   ├── database/
│   │   │   ├── mongo.go
│   │   │   └── mysql.go
│   │   ├── eaimodel/
│   │   │   └── eaimodel.go
│   │   ├── libs/
│   │   │   └── http_client/
│   │   │       └── http.go
│   │   ├── lighthouse/
│   │   │   └── lighthouse.go
│   │   ├── logger/
│   │   │   └── logger.go
│   │   ├── models/
│   │   │   ├── batch_infer_history.go
│   │   │   ├── chain_config.go
│   │   │   ├── cloud_worker_proccess_histories.go
│   │   │   ├── decentralize_infer.go
│   │   │   ├── job_config.go
│   │   │   ├── mysql_models/
│   │   │   │   ├── agent_snapshot_missions.go
│   │   │   │   ├── agent_snapshot_post_action.go
│   │   │   │   ├── app_configs.go
│   │   │   │   ├── assistance_info.go
│   │   │   │   ├── buy_order.go
│   │   │   │   ├── eternal_key_trade_histories.go
│   │   │   │   ├── eternal_keys.go
│   │   │   │   ├── token_holders.go
│   │   │   │   ├── twitter_infos.go
│   │   │   │   └── twitter_tweet.go
│   │   │   └── sync_state.go
│   │   ├── rest/
│   │   │   └── template.go
│   │   ├── services/
│   │   │   ├── chain_config.go
│   │   │   ├── config.json
│   │   │   ├── decentralize_infer.go
│   │   │   ├── jobconfig.go
│   │   │   ├── service.go
│   │   │   ├── submit_solution_job.go
│   │   │   ├── submit_solution_job_test.go
│   │   │   └── worker_process_history.go
│   │   └── types/
│   │       └── decentralize-infer.go
│   ├── main.go
│   └── main_test.go
├── decentralized-storage/
│   ├── .gitignore
│   ├── .mocharc.json
│   ├── README copy.md
│   ├── README.md
│   ├── arweave/
│   │   └── README.md
│   ├── compiler_config.json
│   ├── filecoin/
│   │   └── README.md
│   ├── foundry.toml
│   ├── greenfield/
│   │   └── README.md
│   ├── hardhat.config.ts
│   ├── mocha-report.json
│   ├── package.json
│   ├── remappings.txt
│   └── tsconfig.json
├── developer-guides/
│   ├── README.md
│   ├── agent-design-patterns/
│   │   ├── README.md
│   │   ├── augmented-llm/
│   │   │   └── README.md
│   │   ├── autonomous-agent/
│   │   │   └── README.md
│   │   ├── evaluator-optimizer/
│   │   │   └── README.md
│   │   ├── orchestrator-workers/
│   │   │   └── README.md
│   │   ├── parallelization/
│   │   │   └── README.md
│   │   ├── prompt-chaining/
│   │   │   └── README.md
│   │   └── routing/
│   │       └── README.md
│   ├── examples/
│   │   ├── README.md
│   │   ├── ai-powered-wallet/
│   │   │   ├── .gitignore
│   │   │   ├── contracts/
│   │   │   │   ├── AIPoweredWallet.sol
│   │   │   │   └── AIPoweredWalletV2.sol
│   │   │   ├── hardhat.config.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── scripts/
│   │   │   │   ├── deployAIPoweredWallet.ts
│   │   │   │   ├── suspiciousTransaction.ts
│   │   │   │   └── suspiciousTransactionV2.ts
│   │   │   └── tsconfig.json
│   │   ├── crosschain-llm-communicate/
│   │   │   ├── .eslintignore
│   │   │   ├── .eslintrc.js
│   │   │   ├── .gitignore
│   │   │   ├── .prettierignore
│   │   │   ├── .prettierrc
│   │   │   ├── .prettierrc.js
│   │   │   ├── README.md
│   │   │   ├── contracts/
│   │   │   │   ├── Questioner.sol
│   │   │   │   ├── RequestBuilder.sol
│   │   │   │   └── interfaces/
│   │   │   │       ├── IAIKernel.sol
│   │   │   │       ├── IInferable.sol
│   │   │   │       ├── IModel.sol
│   │   │   │       └── IPromptScheduler.sol
│   │   │   ├── deploy/
│   │   │   │   └── Questioner.ts
│   │   │   ├── foundry.toml
│   │   │   ├── hardhat.config.ts
│   │   │   ├── layerzero.config.ts
│   │   │   ├── mainnet.layerzero.config.ts
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   └── askLLM.ts
│   │   │   ├── solhint.config.js
│   │   │   └── tsconfig.json
│   │   ├── dagent-play-chess/
│   │   │   ├── .gitignore
│   │   │   ├── contracts/
│   │   │   │   └── DagentPlayChess.sol
│   │   │   ├── hardhat.config.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── scripts/
│   │   │   │   ├── playChess.ts
│   │   │   │   └── processBoard.ts
│   │   │   └── tsconfig.json
│   │   ├── decentralized-chatgpt/
│   │   │   ├── README.md
│   │   │   ├── configs/
│   │   │   │   ├── daemon.json
│   │   │   │   └── eternal.json
│   │   │   ├── daemon.py
│   │   │   ├── dagent/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── agents/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── base_agent.py
│   │   │   │   │   ├── react_agent.py
│   │   │   │   │   └── simple_chat_agent.py
│   │   │   │   ├── characters/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── character_base.py
│   │   │   │   │   ├── simple_character.py
│   │   │   │   │   └── twitter_user_character.py
│   │   │   │   ├── constant.py
│   │   │   │   ├── llm/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── base_llm.py
│   │   │   │   │   └── eternal_llm.py
│   │   │   │   ├── models.py
│   │   │   │   ├── registry.py
│   │   │   │   ├── service.py
│   │   │   │   ├── tools/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── base_toolset.py
│   │   │   │   │   ├── functional.py
│   │   │   │   │   ├── search.py
│   │   │   │   │   ├── trading_toolset.py
│   │   │   │   │   └── twitter_toolset.py
│   │   │   │   ├── utils.py
│   │   │   │   └── version.py
│   │   │   ├── http_endpoints.py
│   │   │   ├── requirements.txt
│   │   │   ├── setup.py
│   │   │   └── toolkit/
│   │   │       ├── chat-lite.py
│   │   │       ├── chat.py
│   │   │       ├── get_json_schema.py
│   │   │       └── health_check.py
│   │   ├── decentralized-inference-api-deephermes-base/
│   │   │   ├── README.md
│   │   │   └── chat.js
│   │   ├── decentralized-inference-api-deepseek-r1-1776-avax/
│   │   │   ├── README.md
│   │   │   └── chat.js
│   │   ├── decentralized-inference-api-deepseek-r1-base/
│   │   │   └── README.md
│   │   ├── decentralized-inference-api-deepseek-r1-bnb/
│   │   │   └── README.md
│   │   ├── decentralized-inference-api-dobby-polygon/
│   │   │   └── README.md
│   │   ├── decentralized-inference-api-hyperevm/
│   │   │   ├── README.md
│   │   │   └── chat.js
│   │   ├── decentralized-inference-api-wan2.1-base/
│   │   │   └── README.md
│   │   ├── decentralized-inference-contract-interaction-deepseek-r1-1776-avax/
│   │   │   └── README.md
│   │   ├── decentralized-inference-contract-interaction-deepseek-r1-hyperevm/
│   │   │   └── README.md
│   │   ├── eliza-deepseek-r1-base/
│   │   │   └── README.md
│   │   ├── eliza-dobby-polygon/
│   │   │   └── README.md
│   │   ├── how-to-mint-agent/
│   │   │   ├── .gitignore
│   │   │   ├── config.json
│   │   │   ├── mintAgent.ts
│   │   │   ├── package.json
│   │   │   ├── prompt.txt
│   │   │   ├── readme.md
│   │   │   └── tsconfig.json
│   │   ├── rig-deepseek-r1-base/
│   │   │   └── README.md
│   │   ├── rig-dobby-polygon/
│   │   │   └── README.md
│   │   ├── rig-dobby70-polygon/
│   │   │   └── README.md
│   │   ├── tee-phala-cloud/
│   │   │   ├── README.md
│   │   │   └── golang/
│   │   │       ├── Dockerfile
│   │   │       ├── docker-compose.yml
│   │   │       ├── docker-phala.yml
│   │   │       ├── go.mod
│   │   │       ├── go.sum
│   │   │       └── main.go
│   │   ├── universe-dagents/
│   │   │   ├── .gitignore
│   │   │   ├── contracts/
│   │   │   │   ├── IHybridModel.sol
│   │   │   │   └── IPromptScheduler.sol
│   │   │   ├── hardhat.config.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── scripts/
│   │   │   │   ├── config.json
│   │   │   │   └── sendUniverseAgentRequest.ts
│   │   │   └── tsconfig.json
│   │   ├── zerepy-deepseek-r1-base/
│   │   │   └── README.md
│   │   └── zerepy-dobby-polygon/
│   │       └── README.md
│   └── run-an-end-to-end-decentralized-for-ai-agents/
│       ├── 4.how-to-deploy-and-mint-agent/
│       │   ├── .gitignore
│       │   ├── README.md
│       │   ├── contracts/
│       │   │   ├── AI721.sol
│       │   │   ├── HybridModel.sol
│       │   │   ├── ModelCollection.sol
│       │   │   ├── StakingHub.sol
│       │   │   ├── Treasury.sol
│       │   │   ├── WorkerHub.sol
│       │   │   ├── interfaces/
│       │   │   │   ├── IAI721.sol
│       │   │   │   ├── ICallBack.sol
│       │   │   │   ├── IHybridModel.sol
│       │   │   │   ├── IInferable.sol
│       │   │   │   ├── IModel.sol
│       │   │   │   ├── IModelCollection.sol
│       │   │   │   ├── IStakingHub.sol
│       │   │   │   └── IWorkerHub.sol
│       │   │   ├── library/
│       │   │   │   ├── Random.sol
│       │   │   │   ├── Set.sol
│       │   │   │   └── TransferHelper.sol
│       │   │   ├── storages/
│       │   │   │   ├── AI721Storage.sol
│       │   │   │   ├── HybridModelStorage.sol
│       │   │   │   ├── ModelCollectionStorage.sol
│       │   │   │   ├── StakingHubStorage.sol
│       │   │   │   └── WorkerHubStorage.sol
│       │   │   ├── tokens/
│       │   │   │   ├── DAOToken.sol
│       │   │   │   └── IDAOToken.sol
│       │   │   └── wEAI.sol
│       │   ├── deploy-ai721.sh
│       │   ├── deployedAddresses.json
│       │   ├── get-system-prompt.sh
│       │   ├── hardhat.config.ts
│       │   ├── ls-agents.sh
│       │   ├── mint-agent.sh
│       │   ├── package.json
│       │   ├── scripts/
│       │   │   ├── autoDeploy.ts
│       │   │   ├── getSystemPrompt.ts
│       │   │   ├── library/
│       │   │   │   ├── lib.ts
│       │   │   │   └── utils.ts
│       │   │   ├── lsAgent.ts
│       │   │   └── mintAgent.ts
│       │   ├── system-prompts/
│       │   │   └── naruto_fan.txt
│       │   └── tsconfig.json
│       ├── 5.start-agent/
│       │   ├── Dockerfile
│       │   ├── README.md
│       │   ├── config.json
│       │   └── setup.js
│       └── README.md
├── docs/
│   ├── README.md
│   ├── SUMMARY.md
│   ├── ai-chains/
│   │   ├── ai-chains-bitcoin-l2s-vs-subnets.md
│   │   ├── apps-smart-contracts-vs-apis.md
│   │   ├── base-layer-bitcoin-vs-bittensor.md
│   │   ├── bittensor-and-existing-concepts.md
│   │   └── what-are-ai-chains.md
│   ├── decentralized-inference-api/
│   │   ├── api/
│   │   │   ├── README.md
│   │   │   ├── agent-completion.md
│   │   │   ├── api-key.md
│   │   │   ├── chat-completion.md
│   │   │   ├── completions.md
│   │   │   ├── create-a-dagent.md
│   │   │   ├── get-dagent-info.md
│   │   │   ├── get-deposit-address.md
│   │   │   └── imagine-and-reimagine.md
│   │   ├── onchain-models.md
│   │   ├── open-source/
│   │   │   ├── README.md
│   │   │   ├── architecture.md
│   │   │   └── installation.md
│   │   └── tutorials/
│   │       ├── README.md
│   │       ├── adjust-your-dagent-personality.md
│   │       ├── build-a-dagent-as-a-service-with-eternalai-api.md
│   │       ├── build-unstoppable-eliza-agents.md
│   │       ├── build-unstoppable-rig-agents.md
│   │       ├── build-unstoppable-zerepy-agents-1.md
│   │       ├── build-unstoppable-zerepy-agents.md
│   │       ├── chain-of-thought.md
│   │       ├── decentralized-chatgpt.md
│   │       ├── dont-trust-verify.md
│   │       └── launch-on-twitter.md
│   ├── eai/
│   │   ├── tokenomics.md
│   │   └── utilities.md
│   ├── eternals/
│   │   ├── proof-of-compute.md
│   │   ├── specification.md
│   │   └── what-are-eternals.md
│   ├── fully-onchain-ai-models/
│   │   ├── architecture.md
│   │   ├── deploy-your-first-fully-onchain-ai/
│   │   │   ├── README.md
│   │   │   ├── create-a-self-custody-wallet.md
│   │   │   ├── send-receive-and-trade-eternals.md
│   │   │   ├── set-up-your-development-environment.md
│   │   │   ├── train-an-ai-model-in-keras.md
│   │   │   └── transform-the-keras-model-to-eternal.md
│   │   ├── misc/
│   │   │   ├── README.md
│   │   │   ├── specification/
│   │   │   │   ├── README.md
│   │   │   │   ├── layers.md
│   │   │   │   └── models.md
│   │   │   ├── standardized-data-formats.md
│   │   │   └── transforming-an-ai-model-into-an-eternal.md
│   │   └── progress.md
│   ├── neurons/
│   │   ├── neuron-device.md
│   │   ├── virtual-neurons/
│   │   │   ├── README.md
│   │   │   ├── neuron-as-a-service.md
│   │   │   ├── pooled-neuron.md
│   │   │   └── solo-neuron.md
│   │   └── what-are-neurons.md
│   ├── smart-contracts-ai-powered/
│   │   ├── how-to-use-onchain-flux.1.md
│   │   ├── how-to-use-onchain-llm.md
│   │   ├── onchain-ai-composability-ai-powered-gaming-with-chess.md
│   │   └── onchain-ai-composability-ai-powered-wallet.md
│   └── the-new-internet-ai-powered/
│       ├── bitcoin-ai-powered/
│       │   ├── README.md
│       │   ├── bitai-virtual-machine.md
│       │   ├── eternals-on-bitcoin.md
│       │   └── run-a-bitai-node.md
│       ├── ethereum-ai-powered.md
│       └── solana-ai-powered.md
├── eai.sh
├── install.sh
├── media-kit/
│   ├── .gitignore
│   ├── README.md
│   └── fonts/
│       ├── Inter/
│       │   ├── OFL.txt
│       │   └── README.txt
│       └── JetBrains_Mono/
│           ├── OFL.txt
│           └── README.txt
├── quickstart.sh
└── research/
    ├── README.md
    ├── cuda-evm/
    │   ├── README.md
    │   ├── eternal-cuda-evm-kernel/
    │   │   ├── .gitignore
    │   │   ├── README.md
    │   │   ├── src/
    │   │   │   ├── Makefile
    │   │   │   ├── algo/
    │   │   │   │   ├── activations.cu
    │   │   │   │   ├── conv.cu
    │   │   │   │   ├── element_wise_operator.cu
    │   │   │   │   ├── kernels.cu
    │   │   │   │   ├── matrixmul.cu
    │   │   │   │   ├── merging.cu
    │   │   │   │   ├── normalization.cu
    │   │   │   │   ├── pooling.cu
    │   │   │   │   ├── reduction.cu
    │   │   │   │   └── transforms.cu
    │   │   │   ├── computelib.cu
    │   │   │   ├── deprecated/
    │   │   │   │   └── algo/
    │   │   │   │       └── wrapper.cu
    │   │   │   ├── include/
    │   │   │   │   ├── computelib.h
    │   │   │   │   ├── fixedlonglong32x32.cuh
    │   │   │   │   ├── helpers.cuh
    │   │   │   │   ├── kernels.cuh
    │   │   │   │   ├── operations.cuh
    │   │   │   │   └── tensor.h
    │   │   │   ├── jsoncpp/
    │   │   │   │   ├── json/
    │   │   │   │   │   ├── json-forwards.h
    │   │   │   │   │   └── json.h
    │   │   │   │   └── jsoncpp.cpp
    │   │   │   └── utils/
    │   │   │       └── helpers.cu
    │   │   └── test/
    │   │       ├── abi.py
    │   │       ├── op.py
    │   │       ├── packs/
    │   │       │   ├── __init__.py
    │   │       │   ├── test_abi.py
    │   │       │   ├── test_activations.py
    │   │       │   ├── test_conv2d.py
    │   │       │   ├── test_elementwise.py
    │   │       │   ├── test_matmul.py
    │   │       │   ├── test_merging.py
    │   │       │   ├── test_norm.py
    │   │       │   ├── test_pooling.py
    │   │       │   ├── test_reduction.py
    │   │       │   ├── test_registry.py
    │   │       │   └── test_transformation.py
    │   │       ├── requirements.txt
    │   │       ├── run.py
    │   │       ├── tensor.py
    │   │       └── utils.py
    │   ├── eternal-keras/
    │   │   ├── .gitignore
    │   │   ├── README.md
    │   │   ├── eai/
    │   │   │   ├── __init__.py
    │   │   │   ├── artifacts/
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── collection/
    │   │   │   │   │   ├── ModelCollection.py
    │   │   │   │   │   └── __init__.py
    │   │   │   │   ├── layers/
    │   │   │   │   │   ├── AddLayer.py
    │   │   │   │   │   ├── AveragePooling2DLayer.py
    │   │   │   │   │   ├── BatchNormalizationLayer.py
    │   │   │   │   │   ├── ConcatenateLayer.py
    │   │   │   │   │   ├── Conv2DLayer.py
    │   │   │   │   │   ├── DenseLayer.py
    │   │   │   │   │   ├── DropoutLayer.py
    │   │   │   │   │   ├── FlattenLayer.py
    │   │   │   │   │   ├── GlobalAveragePooling2DLayer.py
    │   │   │   │   │   ├── InputLayer.py
    │   │   │   │   │   ├── LinearLayer.py
    │   │   │   │   │   ├── MaxPooling2DLayer.py
    │   │   │   │   │   ├── MultiplyLayer.py
    │   │   │   │   │   ├── OnesLikeLayer.py
    │   │   │   │   │   ├── ReLULayer.py
    │   │   │   │   │   ├── RescaleLayer.py
    │   │   │   │   │   ├── SigmoidLayer.py
    │   │   │   │   │   ├── SoftmaxLayer.py
    │   │   │   │   │   ├── ZeroPadding2DLayer.py
    │   │   │   │   │   ├── ZerosLikeLayer.py
    │   │   │   │   │   └── __init__.py
    │   │   │   │   └── models/
    │   │   │   │       ├── FunctionalModel.py
    │   │   │   │       └── __init__.py
    │   │   │   ├── cli.py
    │   │   │   ├── deployer.py
    │   │   │   ├── exporter.py
    │   │   │   ├── func.py
    │   │   │   ├── layer_config.py
    │   │   │   ├── layers.py
    │   │   │   ├── model.py
    │   │   │   ├── network_config.py
    │   │   │   ├── utils.py
    │   │   │   └── version.py
    │   │   ├── examples/
    │   │   │   └── fashion_mnist/
    │   │   │       ├── fashion_mnist.keras
    │   │   │       └── fashion_mnist_input.npy
    │   │   ├── requirements.txt
    │   │   ├── setup.py
    │   │   └── tutorial.ipynb
    │   └── eternal-tensor/
    │       ├── .gitignore
    │       ├── .mocharc.json
    │       ├── README.md
    │       ├── contracts/
    │       │   ├── FunctionalModel.sol
    │       │   ├── interfaces/
    │       │   │   ├── ICollectibleModel.sol
    │       │   │   └── IFunctionalModel.sol
    │       │   └── libraries/
    │       │       ├── Float32x32/
    │       │       │   ├── ABDKMath32x32.sol
    │       │       │   └── Lib32x32.sol
    │       │       ├── layers-new/
    │       │       │   ├── AddLayer.sol
    │       │       │   ├── AveragePooling2DLayer.sol
    │       │       │   ├── BatchNormalizationLayer.sol
    │       │       │   ├── ConcatenateLayer.sol
    │       │       │   ├── Conv2DLayer.sol
    │       │       │   ├── DenseLayer.sol
    │       │       │   ├── DepthwiseConv2D.sol
    │       │       │   ├── DropoutLayer.sol
    │       │       │   ├── FlattenLayer.sol
    │       │       │   ├── GlobalAveragePooling2DLayer.sol
    │       │       │   ├── ILayer.sol
    │       │       │   ├── InputLayer.sol
    │       │       │   ├── Layers.sol
    │       │       │   ├── LinearLayer.sol
    │       │       │   ├── MaxPooling2DLayer.sol
    │       │       │   ├── MultiplyLayer.sol
    │       │       │   ├── OnesLikeLayer.sol
    │       │       │   ├── ReLULayer.sol
    │       │       │   ├── RescaleLayer.sol
    │       │       │   ├── SigmoidLayer.sol
    │       │       │   ├── SoftmaxLayer.sol
    │       │       │   ├── ZeroPadding2DLayer.sol
    │       │       │   ├── ZerosLikeLayer.sol
    │       │       │   └── _deprecated/
    │       │       │       ├── EmbeddingLayer.sol
    │       │       │       ├── LSTMLayer.sol
    │       │       │       └── SimpleRNNLayer.sol
    │       │       ├── libCudaParams.sol
    │       │       ├── libCudaTensor.sol
    │       │       └── tensors/
    │       │           ├── TensorMethods.sol
    │       │           ├── Tensors.sol
    │       │           └── _deprecated/
    │       │               ├── Tensor1DCuda.sol
    │       │               ├── Tensor1DMethods.sol
    │       │               ├── Tensor2DCuda.sol
    │       │               ├── Tensor2DMethods.sol
    │       │               ├── Tensor3DCuda.sol
    │       │               ├── Tensor3DMethods.sol
    │       │               ├── Tensor4DCuda.sol
    │       │               └── Tensor4DMethods.sol
    │       ├── foundry.toml
    │       ├── hardhat.config.ts
    │       ├── mocha-report.json
    │       ├── package.json
    │       ├── sample-models/
    │       │   ├── lenet5.b64
    │       │   ├── lenet5.json
    │       │   ├── nft-classifier.b64
    │       │   └── nft-classifier.json
    │       ├── scripts/
    │       │   ├── deploy-functional-model.ts
    │       │   ├── export-artifacts.py
    │       │   ├── get-miniconda3.sh
    │       │   ├── libraries/
    │       │   │   ├── modelLib.ts
    │       │   │   ├── tensorData.ts
    │       │   │   └── utils.ts
    │       │   └── tests/
    │       │       └── layers/
    │       │           ├── add.py
    │       │           ├── add.test.ts
    │       │           ├── avgPooling.test.ts
    │       │           ├── avgpooling2D.py
    │       │           ├── batchnorm.py
    │       │           ├── batchnorm.test.ts
    │       │           ├── concatenate.test.ts
    │       │           ├── conv2d.py
    │       │           ├── conv2d.test.ts
    │       │           ├── dense.py
    │       │           ├── dense.test.ts
    │       │           ├── depthwiseConv2d.py
    │       │           ├── depthwiseconv2d.test.ts
    │       │           ├── dropout.test.ts
    │       │           ├── embedding.test.ts
    │       │           ├── flatten.test.ts
    │       │           ├── globalAvgPooling.test.ts
    │       │           ├── globalavgpooling.py
    │       │           ├── linear.test.ts
    │       │           ├── maxpooling.test.ts
    │       │           ├── maxpooling2D.py
    │       │           ├── multiply.py
    │       │           ├── multiply.test.ts
    │       │           ├── oneslike.test.ts
    │       │           ├── padding.py
    │       │           ├── relu.py
    │       │           ├── relu.test.ts
    │       │           ├── rescale.py
    │       │           ├── rescale.test.ts
    │       │           ├── sigmoid.py
    │       │           ├── sigmoid.test.ts
    │       │           ├── simpleRNN.test.ts
    │       │           ├── softmax.py
    │       │           ├── softmax.test.ts
    │       │           ├── zeropadding.test.ts
    │       │           └── zeroslike.test.ts
    │       └── tsconfig.json
    ├── dao-ai/
    │   └── README.md
    ├── game-ai/
    │   └── README.md
    ├── nft-ai/
    │   ├── README.md
    │   ├── cryptoagents/
    │   │   └── README.md
    │   └── cryptohumans/
    │       └── README.md
    ├── physical-ai/
    │   ├── README.md
    │   ├── neuron/
    │   │   └── README.md
    │   └── sentient/
    │       └── README.md
    ├── stores/
    │   ├── README.md
    │   ├── ability-store/
    │   │   └── README.md
    │   ├── agent-store/
    │   │   └── README.md
    │   ├── knowledge-store/
    │   │   └── README.md
    │   └── model-store/
    │       └── README.md
    └── tee/
        ├── README.md
        ├── marlin/
        │   └── README.md
        └── phala/
            ├── README.md
            └── golang/
                ├── Dockerfile
                ├── docker-compose.yml
                ├── docker-phala.yml
                ├── go.mod
                ├── go.sum
                └── main.go

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Ignore model files
decentralized-compute/models/DeepSeek-R1-Distill-Qwen-1.5B-Q8_0/DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.gguf

# Ignore vim files
[._]*.s[a-v][a-z]
!*.svg  # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
Session.vim
Sessionx.vim
.netrwhist
*~
tags
[._]*.un~

# Etc
.DS_Store
.idea
*.log
tmp/
neurons/solo/build/
neurons/solo/env/
decentralized-compute/cluster/sol/deploy.sh
decentralized-compute/cluster/sol/package-lock.json
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
node_modules/

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
#   For a library or package, you might want to ignore these files since the code is
#   intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
#   However, in case of collaboration, if having platform-specific dependencies or dependencies
#   having no cross-platform support, pipenv may install dependencies that don't work, or not
#   install all needed dependencies.
#Pipfile.lock

# UV
#   Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
#   This is especially recommended for binary packages to ensure reproducibility, and is more
#   commonly ignored for libraries.
#uv.lock

# poetry
#   Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
#   This is especially recommended for binary packages to ensure reproducibility, and is more
#   commonly ignored for libraries.
#   https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
#   Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
#   pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
#   in version control.
#   https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.auth/
.env/
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
vendor/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
#  JetBrains specific template is maintained in a separate JetBrains.gitignore that can
#  be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
#  and can be added to the global gitignore or merged into this file.  For a more nuclear
#  option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# PyPI configuration file
.pypirc

# Ignore build binary
eai-chat
eai-chat-linux
.vscode/

agent-cli/agents/ 

================================================
FILE: Dockerfile.backend
================================================
FROM golang:1.23-bookworm

ENV GIN_MODE=release

WORKDIR /app
RUN apt-get update && apt-get install -y build-essential git

COPY ./agent-as-a-service/agent-orchestration/backend/go.mod ./
COPY ./agent-as-a-service/agent-orchestration/backend/go.sum ./
RUN go mod download

COPY ./agent-as-a-service/agent-orchestration/backend/ ./
RUN mv ./configs/config.json.local ./configs/config.json

CMD ["go", "run", "server.go"]




================================================
FILE: Dockerfile.de-infer
================================================
FROM golang:1.23.4 as builder

WORKDIR /app

COPY decentralized-inference/go.mod decentralized-inference/go.sum ./
RUN go mod download

COPY decentralized-inference /app/

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o decentralized-inference-app .

FROM alpine:latest

WORKDIR /app

COPY --from=builder /app/decentralized-inference-app /app/
COPY decentralized-inference/config.json /app/decentralized-inference/config.json
COPY decentralized-compute/worker-hub/env/local_contracts.json /app/decentralized-compute/worker-hub/env/local_contracts.json

CMD ["./decentralized-inference-app", "server"]


================================================
FILE: EternalAI.js/.gitignore
================================================
node_modules/
**/node_modules/
db/*
/packages/uniswap/db/uniswap


================================================
FILE: EternalAI.js/README.md
================================================
# EternalAI.js is a friendly tool for learning to code and create decentralized AI in JavaScript.

## Development
- you place at root folder
- run some of script to start project at development mode
- yarn
- yarn dev

================================================
FILE: EternalAI.js/lerna.json
================================================
{
  "$schema": "node_modules/lerna/schemas/lerna-schema.json",
  "version": "0.0.0",
  "npmClient": "yarn"
}


================================================
FILE: EternalAI.js/package.json
================================================
{
  "name": "root",
  "private": true,
  "workspaces": [
    "packages/*"
  ],
  "dependencies": {},
  "scripts": {
    "start": "lerna run start --stream --parallel",
    "dev": "lerna run dev --stream --parallel",
    "build": "lerna run build --stream"
  },
  "devDependencies": {
    "lerna": "^8.1.9"
  },
  "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
}


================================================
FILE: EternalAI.js/packages/core/.github/workflows/main.yml
================================================
name: CI
on: [push]
jobs:
  build:
    name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        node: ['10.x', '12.x', '14.x']
        os: [ubuntu-latest, windows-latest, macOS-latest]

    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Use Node ${{ matrix.node }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}

      - name: Install deps and build (with cache)
        uses: bahmutov/npm-install@v1

      - name: Lint
        run: yarn lint

      - name: Test
        run: yarn test --ci --coverage --maxWorkers=2

      - name: Build
        run: yarn build


================================================
FILE: EternalAI.js/packages/core/.github/workflows/size.yml
================================================
name: size
on: [pull_request]
jobs:
  size:
    runs-on: ubuntu-latest
    env:
      CI_JOB_NUMBER: 1
    steps:
      - uses: actions/checkout@v1
      - uses: andresz1/size-limit-action@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: EternalAI.js/packages/core/.gitignore
================================================
*.log
.DS_Store
node_modules
dist


================================================
FILE: EternalAI.js/packages/core/LICENSE
================================================
MIT License

Copyright (c) 2025 Peter

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: EternalAI.js/packages/core/README.md
================================================
# TSDX User Guide

Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.

> This TSDX setup is meant for developing libraries (not apps!) that can be published to NPM. If you’re looking to build a Node app, you could use `ts-node-dev`, plain `ts-node`, or simple `tsc`.

> If you’re new to TypeScript, checkout [this handy cheatsheet](https://devhints.io/typescript)

## Commands

TSDX scaffolds your new library inside `/src`.

To run TSDX, use:

```bash
npm start # or yarn start
```

This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.

To do a one-off build, use `npm run build` or `yarn build`.

To run tests, use `npm test` or `yarn test`.

## Configuration

Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.

### Jest

Jest tests are set up to run with `npm test` or `yarn test`.

### Bundle Analysis

[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`.

#### Setup Files

This is the folder structure we set up for you:

```txt
/src
  index.tsx       # EDIT THIS
/test
  blah.test.tsx   # EDIT THIS
.gitignore
package.json
README.md         # EDIT THIS
tsconfig.json
```

### Rollup

TSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.

### TypeScript

`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.

## Continuous Integration

### GitHub Actions

Two actions are added by default:

- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix
- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)

## Optimizations

Please see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:

```js
// ./types/index.d.ts
declare var __DEV__: boolean;

// inside your code...
if (__DEV__) {
  console.log('foo');
}
```

You can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.

## Module Formats

CJS, ESModules, and UMD module formats are supported.

The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.

## Named Exports

Per Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.

## Including Styles

There are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.

For vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.

## Publishing to NPM

We recommend using [np](https://github.com/sindresorhus/np).


================================================
FILE: EternalAI.js/packages/core/build.tsconfig.json
================================================
{
  "compilerOptions": {
    "target": "esnext",
    "module": "commonjs",
    "lib": ["dom", "esnext"],
    "jsx": "react-jsx",
    "strict": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    },
    "resolveJsonModule": true
  },
  "include": ["src"],
  "exclude": ["node_modules", "dist"]
}


================================================
FILE: EternalAI.js/packages/core/package.json
================================================
{
  "name": "@eternalai.js/core",
  "version": "0.1.0",
  "license": "MIT",
  "main": "dist/bundle.cjs.js",
  "module": "dist/bundle.esm.js",
  "typings": "dist/index.d.ts",
  "files": [
    "dist",
    "src"
  ],
  "engines": {
    "node": ">=10"
  },
  "scripts": {
    "build": "rm -rf dist && rollup -c",
    "build:watch": "rollup -c -w",
    "test": "vitest",
    "lint": "eslint . --ext .ts,.tsx",
    "size": "size-limit",
    "analyze": "size-limit --why"
  },
  "peerDependencies": {},
  "husky": {
    "hooks": {
      "pre-commit": "eslint . --ext .ts,.tsx"
    }
  },
  "prettier": {
    "printWidth": 80,
    "semi": true,
    "singleQuote": true,
    "trailingComma": "es5"
  },
  "author": "Peter",
  "devDependencies": {
    "@rollup/plugin-commonjs": "^21.0.1",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^13.0.6",
    "@rollup/plugin-typescript": "^8.3.3",
    "@size-limit/preset-small-lib": "^11.1.6",
    "husky": "^9.1.7",
    "rollup": "^2.56.3",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-globals": "^1.4.0",
    "rollup-plugin-terser": "^7.0.2",
     "rollup-plugin-uglify": "^6.0.4",
    "size-limit": "^11.1.6",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.7.3"
  },
  "dependencies": {
    "ethers": "5.7.2"
  }
}


================================================
FILE: EternalAI.js/packages/core/rollup.config.js
================================================
const resolve = require('@rollup/plugin-node-resolve').default;
const commonjs = require('@rollup/plugin-commonjs');
const typescript = require('@rollup/plugin-typescript');
const { terser } = require('rollup-plugin-terser');
const pkg = require('./package.json');

const json = require('@rollup/plugin-json');
const builtins = require('rollup-plugin-node-builtins');
const globals = require('rollup-plugin-node-globals');
const inject = require('@rollup/plugin-inject');

module.exports = {
  input: ['./src/index.ts'],
  output: [
    {
      dir: 'dist',
      format: 'cjs',
      sourcemap: true,
    },
  ],
  plugins: [
    resolve({}),
    inject({}),
    commonjs(),
    globals(),
    builtins(),
    typescript({ tsconfig: './build.tsconfig.json' }),
    terser(),
    json(),
  ],
  external: [...Object.keys(pkg.peerDependencies || {}), 'ethers'],
};


================================================
FILE: EternalAI.js/packages/core/src/index.ts
================================================
export * as utils from './utils';


================================================
FILE: EternalAI.js/packages/core/src/types.d.ts
================================================
declare global {
  namespace InjectedTypes {
    type ethers = typeof import('ethers');
  }
}

export {};


================================================
FILE: EternalAI.js/packages/core/src/utils/index.ts
================================================
export * as injects from './injects';


================================================
FILE: EternalAI.js/packages/core/src/utils/injects/ethers.ts
================================================
// Ensure globalThis is defined
if (typeof globalThis === 'undefined') {
  (globalThis as any) = global;
}

const injectDependency = <T = any>(packageName: 'ethers'): T => {
  if ((globalThis as any)[packageName]) {
    return (globalThis as any)[packageName];
  }

  if (packageName === 'ethers') {
    (globalThis as any)[packageName] = require('ethers');
    return (globalThis as any)[packageName];
  }

  throw new Error(`Package ${packageName} not found`);
};

export default injectDependency;


================================================
FILE: EternalAI.js/packages/core/src/utils/injects/index.ts
================================================
export * from './ethers';


================================================
FILE: EternalAI.js/packages/core/tsconfig.json
================================================
{
  "compilerOptions": {
    "target": "esnext",
    "module": "commonjs",
    "lib": ["dom", "esnext"],
    "jsx": "react-jsx",
    "strict": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    },
    "resolveJsonModule": true
  },
  "include": ["src"],
  "exclude": ["node_modules", "dist"]
}


================================================
FILE: EternalAI.js/packages/interact/.github/workflows/main.yml
================================================
name: CI
on: [push]
jobs:
  build:
    name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        node: ['10.x', '12.x', '14.x']
        os: [ubuntu-latest, windows-latest, macOS-latest]

    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Use Node ${{ matrix.node }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node }}

      - name: Install deps and build (with cache)
        uses: bahmutov/npm-install@v1

      - name: Lint
        run: yarn lint

      - name: Test
        run: yarn test --ci --coverage --maxWorkers=2

      - name: Build
        run: yarn build


================================================
FILE: EternalAI.js/packages/interact/.github/workflows/size.yml
================================================
name: size
on: [pull_request]
jobs:
  size:
    runs-on: ubuntu-latest
    env:
      CI_JOB_NUMBER: 1
    steps:
      - uses: actions/checkout@v1
      - uses: andresz1/size-limit-action@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: EternalAI.js/packages/interact/.gitignore
================================================
*.log
.DS_Store
node_modules
dist


================================================
FILE: EternalAI.js/packages/interact/LICENSE
================================================
MIT License

Copyright (c) 2025 Peter

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: EternalAI.js/packages/interact/README.md
================================================
# TSDX User Guide

Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.

> This TSDX setup is meant for developing libraries (not apps!) that can be published to NPM. If you’re looking to build a Node app, you could use `ts-node-dev`, plain `ts-node`, or simple `tsc`.

> If you’re new to TypeScript, checkout [this handy cheatsheet](https://devhints.io/typescript)

## Commands

TSDX scaffolds your new library inside `/src`.

To run TSDX, use:

```bash
npm start # or yarn start
```

This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.

To do a one-off build, use `npm run build` or `yarn build`.

To run tests, use `npm test` or `yarn test`.

## Configuration

Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.

### Jest

Jest tests are set up to run with `npm test` or `yarn test`.

### Bundle Analysis

[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`.

#### Setup Files

This is the folder structure we set up for you:

```txt
/src
  index.tsx       # EDIT THIS
/test
  blah.test.tsx   # EDIT THIS
.gitignore
package.json
README.md         # EDIT THIS
tsconfig.json
```

### Rollup

TSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.

### TypeScript

`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.

## Continuous Integration

### GitHub Actions

Two actions are added by default:

- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix
- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)

## Optimizations

Please see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:

```js
// ./types/index.d.ts
declare var __DEV__: boolean;

// inside your code...
if (__DEV__) {
  console.log('foo');
}
```

You can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.

## Module Formats

CJS, ESModules, and UMD module formats are supported.

The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.

## Named Exports

Per Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.

## Including Styles

There are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.

For vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.

## Publishing to NPM

We recommend using [np](https://github.com/sindresorhus/np).


================================================
FILE: EternalAI.js/packages/interact/build.tsconfig.json
================================================
{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "lib": ["dom", "esnext"],
    "jsx": "react-jsx",
    "strict": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    },
    "resolveJsonModule": true
  },
  "include": ["src", "src/types.d.ts", "src/**/*.d.ts"],
  "exclude": ["node_modules", "dist"]
}


================================================
FILE: EternalAI.js/packages/interact/package.json
================================================
{
  "name": "@eternalai.js/interact",
  "version": "0.1.0",
  "license": "MIT",
  "main": "dist/bundle.cjs.js",
  "module": "dist/bundle.esm.js",
  "typings": "dist/index.d.ts",
  "files": [
    "dist",
    "src"
  ],
  "engines": {
    "node": ">=10"
  },
  "scripts": {
    "build": "rm -rf dist && rollup -c",
    "build:watch": "rollup -c -w",
    "test": "vitest",
    "lint": "eslint . --ext .ts,.tsx",
    "prepare": "rollup -c",
    "size": "size-limit",
    "analyze": "size-limit --why",
    "run-main": "ts-node -r tsconfig-paths/register --transpile-only ./scripts/main.ts"
  },
  "peerDependencies": {},
  "husky": {
    "hooks": {
      "pre-commit": "eslint . --ext .ts,.tsx"
    }
  },
  "prettier": {
    "printWidth": 80,
    "semi": true,
    "singleQuote": true,
    "trailingComma": "es5"
  },
  "author": "Peter",
  "size-limit": [
    {
      "path": "dist/bundle.cjs.js",
      "limit": "10 KB"
    },
    {
      "path": "dist/bundle.esm.js",
      "limit": "10 KB"
    }
  ],
  "devDependencies": {
    "@rollup/plugin-commonjs": "^21.0.1",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^13.0.6",
    "@rollup/plugin-typescript": "^8.3.3",
    "@size-limit/preset-small-lib": "^11.1.6",
    "husky": "^9.1.7",
    "rollup": "^2.56.3",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-globals": "^1.4.0",
    "rollup-plugin-terser": "^7.0.2",
     "rollup-plugin-uglify": "^6.0.4",
    "size-limit": "^11.1.6",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.7.3"
  },
  "dependencies": {
    "ethers": "5.7.2"
  }
}


================================================
FILE: EternalAI.js/packages/interact/rollup.config.js
================================================
const resolve = require('@rollup/plugin-node-resolve').default;
const commonjs = require('@rollup/plugin-commonjs');
const typescript = require('@rollup/plugin-typescript');
const { terser } = require('rollup-plugin-terser');
const pkg = require('./package.json');

const json = require('@rollup/plugin-json');
const builtins = require('rollup-plugin-node-builtins');
const globals = require('rollup-plugin-node-globals');
const inject = require('@rollup/plugin-inject');

const { uglify } = require('rollup-plugin-uglify');
import gzipPlugin from 'rollup-plugin-gzip';

module.exports = {
  input: ['./src/index.ts'],
  output: [
    {
      // dir: 'dist',
      format: 'cjs',
      file: 'dist/index.cjs.js',
      sourcemap: false,
    },
    {
      // dir: 'dist',
      format: 'umd',
      file: 'dist/index.umd.js',
      name: 'Interact',
      sourcemap: false,
    },
  ],
  plugins: [
    resolve({}),
    inject({}),
    commonjs(),
    globals(),
    builtins(),
    typescript({ tsconfig: './build.tsconfig.json', declaration: false }),
    terser(),
    json(),
    uglify(),
    gzipPlugin(),
  ],
  external: [...Object.keys(pkg.peerDependencies || {}), 'ethers'],
};


================================================
FILE: EternalAI.js/packages/interact/scripts/main.ts
================================================
import { ethers } from 'ethers';
import { default as Interact } from '../src/interact';
import { default as InteractWithExternalWallet } from '../src/interactWithExternalWallet';
import { InferPayloadWithMessages, InferPayloadWithPrompt } from '../src/types';
import { ChainId } from '../src/constants';

export const AGENT_CONTRACT_ADDRESSES: Record<ChainId, string> = {
  [ChainId.BSC]: '0x3B9710bA5578C2eeD075D8A23D8c596925fa4625',
  [ChainId.BASE]: '0x1E65FCa9b6640bC87AE41f1a897762c334821D1C',
};

// const wallet = new ethers.Wallet("Your private key here");
const wallet = ethers.Wallet.createRandom();

const externalWallet = {
  address: wallet.address,
  getAddress: wallet.getAddress,
  requestSignature: async (
    transaction: ethers.providers.TransactionRequest
  ) => {
    return await wallet.signTransaction(transaction);
  },
};

async function testInferV1() {
  const inferPayload = {
    chainId: ChainId.BSC,
    agentAddress: AGENT_CONTRACT_ADDRESSES[ChainId.BSC],
    prompt: 'Can you tell me about BTC',
  } satisfies InferPayloadWithPrompt;
  {
    const interact = new Interact(wallet);
    await interact.infer(inferPayload);
  }
}

async function testInferV2() {
  const inferPayload = {
    chainId: ChainId.BSC,
    agentAddress: AGENT_CONTRACT_ADDRESSES[ChainId.BSC],
    messages: [
      {
        role: 'system',
        content: 'You are a BTC master',
      },
      {
        role: 'user',
        content: 'Can you tell me about BTC',
      },
    ],
    isLightHouse: true,
  } satisfies InferPayloadWithMessages;
  {
    const interact = new Interact(wallet);
    await interact.infer(inferPayload);
  }
}

async function testInferExternalWalletV1() {
  const inferPayload = {
    chainId: ChainId.BSC,
    agentAddress: AGENT_CONTRACT_ADDRESSES[ChainId.BSC],
    prompt: 'Can you tell me about BTC',
  } satisfies InferPayloadWithPrompt;
  {
    const interact = new InteractWithExternalWallet(externalWallet);
    await interact.infer(inferPayload);
  }
}

async function testInferExternalWalletV2() {
  const inferPayload = {
    chainId: ChainId.BSC,
    agentAddress: AGENT_CONTRACT_ADDRESSES[ChainId.BSC],
    messages: [
      {
        role: 'system',
        content: 'You are a BTC master',
      },
      {
        role: 'user',
        content: 'Can you tell me about BTC',
      },
    ],
    isLightHouse: true,
  } satisfies InferPayloadWithMessages;
  {
    const interact = new InteractWithExternalWallet(externalWallet);
    await interact.infer(inferPayload);
  }
}

testInferV1();


================================================
FILE: EternalAI.js/packages/interact/src/baseInteract.ts
================================================
import { CHAIN_MAPPING, ChainId } from './constants';
import { InferPayloadWithMessages, InferPayloadWithPrompt } from './types';
import * as methods from './methods';
import { InteractWallet } from './methods/types';

import injectDependency from '@/inject';
// this is inject supported packages
const packages = {
  ethers: injectDependency<InjectedTypes.ethers>('ethers'),
};

class BaseInteract {
  protected getProvider(chainId: ChainId, rpcUrl?: string) {
    // create provider from user optional
    if (!!rpcUrl) {
      return new packages.ethers.providers.JsonRpcProvider(rpcUrl);
    }

    if (!CHAIN_MAPPING[chainId]) {
      throw new Error(`Unsupported chainId: ${chainId}`);
    }

    // create provider from default supported chainId
    return new packages.ethers.providers.JsonRpcProvider(
      CHAIN_MAPPING[chainId]
    );
  }

  protected normalizePayload(
    payload: InferPayloadWithPrompt | InferPayloadWithMessages
  ) {
    return {
      ...payload,
      isLightHouse: payload.isLightHouse ?? false,
    };
  }

  protected async sendSignedTransactionAndListenResult(
    signer: InteractWallet,
    signedTx: string,
    agentAddress: string,
    chainId: ChainId
  ) {
    const sendPromptTxHash = await methods.Infer.sendPrompt(signer, signedTx);

    const workerHubAddress = await methods.Infer.getWorkerHubAddress(
      agentAddress,
      signer
    );

    return await methods.Infer.listenPromptResponse(
      chainId,
      signer,
      workerHubAddress,
      sendPromptTxHash
    );
  }
}

export interface IInteract {
  infer(
    payload: InferPayloadWithPrompt | InferPayloadWithMessages
  ): Promise<string | null>;
}

export default BaseInteract;


================================================
FILE: EternalAI.js/packages/interact/src/constants.ts
================================================
export enum ChainId {
  BASE = 8453,
  BSC = 56,
}

export const CHAIN_MAPPING: Record<ChainId, string> = {
  56: 'https://bsc-dataseed.binance.org/',
  8453: 'https://base.llamarpc.com',
};


================================================
FILE: EternalAI.js/packages/interact/src/global.d.ts
================================================
declare global {
  namespace InjectedTypes {
    type ethers = typeof import('ethers');
  }
}

export {};


================================================
FILE: EternalAI.js/packages/interact/src/index.ts
================================================
export { default as Interact } from './interact';
export { default as InteractWithExternalWallet } from './interactWithExternalWallet';
export * as methods from './methods';
export * from './types';
export * from './constants';


================================================
FILE: EternalAI.js/packages/interact/src/inject.ts
================================================
// Ensure globalThis is defined
if (typeof globalThis === 'undefined') {
  (globalThis as any) = global;
}

const injectDependency = <T = any>(packageName: 'ethers'): T => {
  if ((globalThis as any)[packageName]) {
    return (globalThis as any)[packageName];
  }

  if (packageName === 'ethers') {
    (globalThis as any)[packageName] = require('ethers');
    return (globalThis as any)[packageName];
  }

  throw new Error(`Package ${packageName} not found`);
};

export default injectDependency;


================================================
FILE: EternalAI.js/packages/interact/src/interact.ts
================================================
import * as ethers from 'ethers';
import { InferPayloadWithMessages, InferPayloadWithPrompt } from './types';
import * as methods from './methods';
import { ChainId } from './constants';
import BaseInteract, { IInteract } from './baseInteract';

class Interact extends BaseInteract implements IInteract {
  private _wallet: ethers.Wallet;

  constructor(wallet: ethers.Wallet) {
    super();
    if (!ethers.Wallet.isSigner(wallet)) {
      throw new Error('Provided wallet is not a signer');
    }

    this._wallet = wallet;
  }

  private getNetworkCredential(chainId: ChainId, rpcUrl?: string) {
    const provider = this.getProvider(chainId, rpcUrl);
    const signer = this._wallet.connect(provider);
    return {
      provider,
      signer,
    };
  }

  // Overload signatures
  // @ts-ignore
  public async infer(payload: InferPayloadWithPrompt): Promise<string | null>;
  // @ts-ignore
  public async infer(payload: InferPayloadWithMessages): Promise<string | null>;

  // Implementation
  // @ts-ignore
  public async infer(
    payload: InferPayloadWithPrompt | InferPayloadWithMessages
  ): Promise<string | null> {
    try {
      const normalizedPayload = this.normalizePayload(payload);
      console.log('infer - start', {
        payload: normalizedPayload,
      });
      if (
        typeof (normalizedPayload as InferPayloadWithPrompt).prompt === 'string'
      ) {
        const result = await this.inferWithPrompt(
          normalizedPayload as InferPayloadWithPrompt
        );
        console.log('infer - succeed', result);
        return result;
      } else {
        const result = await this.inferWithMessages(
          normalizedPayload as InferPayloadWithMessages
        );
        console.log('infer - succeed', result);
        return result;
      }
    } catch (e) {
      console.log('infer - failed', e);
      throw e;
    } finally {
      console.log('infer - end');
    }
  }

  private async inferWithPrompt(
    payload: InferPayloadWithPrompt
  ): Promise<string | null> {
    console.log('inferWithPrompt - start');
    const { signer } = this.getNetworkCredential(
      payload.chainId,
      payload.rpcUrl
    );

    const params = await methods.Infer.createPayloadWithPrompt(signer, payload);

    const signedTx = await signer.signTransaction(params);

    return await this.sendSignedTransactionAndListenResult(
      signer,
      signedTx,
      payload.agentAddress,
      payload.chainId
    );
  }

  private async inferWithMessages(
    payload: InferPayloadWithMessages
  ): Promise<string | null> {
    console.log('inferWithMessages - start');
    const { signer } = this.getNetworkCredential(
      payload.chainId,
      payload.rpcUrl
    );

    const params = await methods.Infer.createPayloadWithMessages(
      signer,
      payload
    );

    const signedTx = await signer.signTransaction(params);

    return await this.sendSignedTransactionAndListenResult(
      signer,
      signedTx,
      payload.agentAddress,
      payload.chainId
    );
  }
}

export default Interact;


================================================
FILE: EternalAI.js/packages/interact/src/interactWithExternalWallet.ts
================================================
import {
  ExternalWallet,
  InferPayloadWithMessages,
  InferPayloadWithPrompt,
} from './types';
import * as methods from './methods';
import { ChainId } from './constants';
import { InteractWallet } from './methods/types';
import BaseInteract, { IInteract } from './baseInteract';

class InteractWithExternalWallet extends BaseInteract implements IInteract {
  private _wallet: ExternalWallet;

  constructor(wallet: ExternalWallet) {
    super();
    this._wallet = wallet;
  }

  private getNetworkCredential(chainId: ChainId, rpcUrl?: string) {
    const provider = this.getProvider(chainId, rpcUrl);
    const signer = {
      ...this._wallet,
      provider,
    } satisfies InteractWallet;
    return {
      provider,
      signer,
    };
  }

  // Overload signatures
  // @ts-ignore
  public async infer(payload: InferPayloadWithPrompt): Promise<string | null>;
  // @ts-ignore
  public async infer(payload: InferPayloadWithMessages): Promise<string | null>;

  // Implementation
  // @ts-ignore
  public async infer(
    payload: InferPayloadWithPrompt | InferPayloadWithMessages
  ): Promise<string | null> {
    try {
      const normalizedPayload = this.normalizePayload(payload);
      console.log('inferWithExternalWallet - start', {
        payload: normalizedPayload,
      });
      if (
        typeof (normalizedPayload as InferPayloadWithPrompt).prompt === 'string'
      ) {
        const result = await this.inferWithPrompt(
          normalizedPayload as InferPayloadWithPrompt
        );
        console.log('inferWithExternalWallet - succeed', result);
        return result;
      } else {
        const result = await this.inferWithMessages(
          normalizedPayload as InferPayloadWithMessages
        );
        console.log('inferWithExternalWallet - succeed', result);
        return result;
      }
    } catch (e) {
      console.log('inferWithExternalWallet - failed', e);
      throw e;
    } finally {
      console.log('inferWithExternalWallet - end');
    }
  }

  private async inferWithPrompt(
    payload: InferPayloadWithPrompt
  ): Promise<string | null> {
    console.log('inferWithEternalWalletWithPrompt - start');
    const { signer } = this.getNetworkCredential(
      payload.chainId,
      payload.rpcUrl
    );

    const params = await methods.Infer.createPayloadWithPrompt(signer, payload);

    const signedTx = await signer.requestSignature(params);

    return await this.sendSignedTransactionAndListenResult(
      signer,
      signedTx,
      payload.agentAddress,
      payload.chainId
    );
  }

  private async inferWithMessages(
    payload: InferPayloadWithMessages
  ): Promise<string | null> {
    console.log('inferWithEternalWalletWithMessages - start');

    const { signer } = this.getNetworkCredential(
      payload.chainId,
      payload.rpcUrl
    );

    const params = await methods.Infer.createPayloadWithMessages(
      signer,
      payload
    );

    const signedTx = await signer.requestSignature(params);

    return await this.sendSignedTransactionAndListenResult(
      signer,
      signedTx,
      payload.agentAddress,
      payload.chainId
    );
  }
}

export default InteractWithExternalWallet;


================================================
FILE: EternalAI.js/packages/interact/src/methods/index.ts
================================================
export { default as Infer } from './infer';


================================================
FILE: EternalAI.js/packages/interact/src/methods/infer/constants.ts
================================================
import * as ethers from 'ethers';

export const AGENT_ABI: ethers.ContractInterface = [
  {
    inputs: [
      {
        internalType: 'string',
        name: 'name_',
        type: 'string',
      },
      {
        internalType: 'string',
        name: 'symbol_',
        type: 'string',
      },
      {
        internalType: 'uint256',
        name: 'amount_',
        type: 'uint256',
      },
      {
        internalType: 'address',
        name: 'recipient_',
        type: 'address',
      },
      {
        internalType: 'address',
        name: 'promptScheduler_',
        type: 'address',
      },
      {
        internalType: 'address',
        name: 'modelAddress_',
        type: 'address',
      },
      {
        internalType: 'string',
        name: 'systemPrompt_',
        type: 'string',
      },
      {
        internalType: 'bytes',
        name: 'storageInfo_',
        type: 'bytes',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'constructor',
  },
  {
    inputs: [],
    name: 'InvalidAddress',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidData',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidShortString',
    type: 'error',
  },
  {
    inputs: [
      {
        internalType: 'string',
        name: 'str',
        type: 'string',
      },
    ],
    name: 'StringTooLong',
    type: 'error',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'owner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'spender',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
    ],
    name: 'Approval',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'delegator',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'fromDelegate',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'toDelegate',
        type: 'address',
      },
    ],
    name: 'DelegateChanged',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'delegate',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'previousBalance',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'newBalance',
        type: 'uint256',
      },
    ],
    name: 'DelegateVotesChanged',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [],
    name: 'EIP712DomainChanged',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'hybridModel',
        type: 'address',
      },
    ],
    name: 'ModelUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'previousOwner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'OwnershipTransferred',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'caller',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'request',
        type: 'bytes',
      },
    ],
    name: 'PromptPerformed',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'promptScheduler',
        type: 'address',
      },
    ],
    name: 'PromptSchedulerHubUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'string',
        name: 'systemPrompt',
        type: 'string',
      },
    ],
    name: 'SystemPromptUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'from',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'to',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
    ],
    name: 'Transfer',
    type: 'event',
  },
  {
    inputs: [],
    name: 'CLOCK_MODE',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'DOMAIN_SEPARATOR',
    outputs: [
      {
        internalType: 'bytes32',
        name: '',
        type: 'bytes32',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'owner',
        type: 'address',
      },
      {
        internalType: 'address',
        name: 'spender',
        type: 'address',
      },
    ],
    name: 'allowance',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'spender',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'amount',
        type: 'uint256',
      },
    ],
    name: 'approve',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'balanceOf',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
      {
        internalType: 'uint32',
        name: 'pos',
        type: 'uint32',
      },
    ],
    name: 'checkpoints',
    outputs: [
      {
        components: [
          {
            internalType: 'uint32',
            name: 'fromBlock',
            type: 'uint32',
          },
          {
            internalType: 'uint224',
            name: 'votes',
            type: 'uint224',
          },
        ],
        internalType: 'struct ERC20Votes.Checkpoint',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'clock',
    outputs: [
      {
        internalType: 'uint48',
        name: '',
        type: 'uint48',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'decimals',
    outputs: [
      {
        internalType: 'uint8',
        name: '',
        type: 'uint8',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'spender',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'subtractedValue',
        type: 'uint256',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'delegatee',
        type: 'address',
      },
    ],
    name: 'delegate',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'delegatee',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'nonce',
        type: 'uint256',
      },
      {
        internalType: 'uint256',
        name: 'expiry',
        type: 'uint256',
      },
      {
        internalType: 'uint8',
        name: 'v',
        type: 'uint8',
      },
      {
        internalType: 'bytes32',
        name: 'r',
        type: 'bytes32',
      },
      {
        internalType: 'bytes32',
        name: 's',
        type: 'bytes32',
      },
    ],
    name: 'delegateBySig',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'delegates',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'eip712Domain',
    outputs: [
      {
        internalType: 'bytes1',
        name: 'fields',
        type: 'bytes1',
      },
      {
        internalType: 'string',
        name: 'name',
        type: 'string',
      },
      {
        internalType: 'string',
        name: 'version',
        type: 'string',
      },
      {
        internalType: 'uint256',
        name: 'chainId',
        type: 'uint256',
      },
      {
        internalType: 'address',
        name: 'verifyingContract',
        type: 'address',
      },
      {
        internalType: 'bytes32',
        name: 'salt',
        type: 'bytes32',
      },
      {
        internalType: 'uint256[]',
        name: 'extensions',
        type: 'uint256[]',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'fetchCode',
    outputs: [
      {
        internalType: 'string',
        name: 'logic',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getFileStorageChunkInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'uint256',
            name: 'size',
            type: 'uint256',
          },
          {
            components: [
              {
                internalType: 'address',
                name: 'pointer',
                type: 'address',
              },
              {
                internalType: 'uint32',
                name: 'start',
                type: 'uint32',
              },
              {
                internalType: 'uint32',
                name: 'end',
                type: 'uint32',
              },
            ],
            internalType: 'struct BytecodeSlice[]',
            name: 'slices',
            type: 'tuple[]',
          },
        ],
        internalType: 'struct File',
        name: 'file',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getModelAddress',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: 'timepoint',
        type: 'uint256',
      },
    ],
    name: 'getPastTotalSupply',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'timepoint',
        type: 'uint256',
      },
    ],
    name: 'getPastVotes',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getPromptSchedulerAddress',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: 'id',
        type: 'uint256',
      },
    ],
    name: 'getResultById',
    outputs: [
      {
        internalType: 'bytes',
        name: '',
        type: 'bytes',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getStorageInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'address',
            name: 'contractAddress',
            type: 'address',
          },
          {
            internalType: 'string',
            name: 'filename',
            type: 'string',
          },
        ],
        internalType: 'struct IUtilityAgent.StorageInfo',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getStorageMode',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getSystemPrompt',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'getVotes',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'spender',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'addedValue',
        type: 'uint256',
      },
    ],
    name: 'increaseAllowance',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'name',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'owner',
        type: 'address',
      },
    ],
    name: 'nonces',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'numCheckpoints',
    outputs: [
      {
        internalType: 'uint32',
        name: '',
        type: 'uint32',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'owner',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'owner',
        type: 'address',
      },
      {
        internalType: 'address',
        name: 'spender',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
      {
        internalType: 'uint256',
        name: 'deadline',
        type: 'uint256',
      },
      {
        internalType: 'uint8',
        name: 'v',
        type: 'uint8',
      },
      {
        internalType: 'bytes32',
        name: 'r',
        type: 'bytes32',
      },
      {
        internalType: 'bytes32',
        name: 's',
        type: 'bytes32',
      },
    ],
    name: 'permit',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: 'request',
        type: 'bytes',
      },
    ],
    name: 'prompt',
    outputs: [
      {
        internalType: 'uint256',
        name: 'inferId',
        type: 'uint256',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'symbol',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'totalSupply',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'to',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'amount',
        type: 'uint256',
      },
    ],
    name: 'transfer',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'from',
        type: 'address',
      },
      {
        internalType: 'address',
        name: 'to',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: 'amount',
        type: 'uint256',
      },
    ],
    name: 'transferFrom',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'string',
        name: 'filename',
        type: 'string',
      },
    ],
    name: 'updateFileName',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'modelAddress',
        type: 'address',
      },
    ],
    name: 'updateModelAddress',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'promptScheduler',
        type: 'address',
      },
    ],
    name: 'updatePromptScheduler',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'string',
        name: 'systemPrompt',
        type: 'string',
      },
    ],
    name: 'updateSystemPrompt',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
];

export const HYBRID_MODEL_ABI: ethers.ContractInterface = [
  {
    inputs: [],
    name: 'ModelIdAlreadySet',
    type: 'error',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'uint256',
        name: 'newValue',
        type: 'uint256',
      },
    ],
    name: 'IdentifierUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'uint8',
        name: 'version',
        type: 'uint8',
      },
    ],
    name: 'Initialized',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'string',
        name: 'newValue',
        type: 'string',
      },
    ],
    name: 'MetadataUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'string',
        name: 'newValue',
        type: 'string',
      },
    ],
    name: 'NameUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'previousOwner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'OwnershipTransferred',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'Paused',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'Unpaused',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'newAddress',
        type: 'address',
      },
    ],
    name: 'WorkerHubUpdate',
    type: 'event',
  },
  {
    inputs: [],
    name: 'identifier',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'bool',
        name: '_rawFlag',
        type: 'bool',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'address',
        name: '_creator',
        type: 'address',
      },
      {
        internalType: 'bool',
        name: '_flag',
        type: 'bool',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'address',
        name: '_creator',
        type: 'address',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_workerHub',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_modelCollection',
        type: 'address',
      },
      {
        internalType: 'uint256',
        name: '_identifier',
        type: 'uint256',
      },
      {
        internalType: 'string',
        name: '_name',
        type: 'string',
      },
      {
        internalType: 'string',
        name: '_metadata',
        type: 'string',
      },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'metadata',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'modelCollection',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'name',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'owner',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'pause',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'paused',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_modelId',
        type: 'uint256',
      },
    ],
    name: 'setModelId',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'unpause',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_identifier',
        type: 'uint256',
      },
    ],
    name: 'updateIdentifier',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'string',
        name: '_metadata',
        type: 'string',
      },
    ],
    name: 'updateMetadata',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'string',
        name: '_name',
        type: 'string',
      },
    ],
    name: 'updateName',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_workerHub',
        type: 'address',
      },
    ],
    name: 'updateWorkerHub',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'version',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'pure',
    type: 'function',
  },
  {
    inputs: [],
    name: 'workerHub',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    stateMutability: 'payable',
    type: 'receive',
  },
];

export const WORKER_HUB_ABI: ethers.ContractInterface = [
  {
    inputs: [],
    name: 'AlreadyCommitted',
    type: 'error',
  },
  {
    inputs: [],
    name: 'AlreadyRevealed',
    type: 'error',
  },
  {
    inputs: [],
    name: 'AlreadySeized',
    type: 'error',
  },
  {
    inputs: [],
    name: 'AlreadySubmitted',
    type: 'error',
  },
  {
    inputs: [
      {
        internalType: 'bytes32',
        name: 'value',
        type: 'bytes32',
      },
    ],
    name: 'Bytes32Set_DuplicatedValue',
    type: 'error',
  },
  {
    inputs: [],
    name: 'CannotFastForward',
    type: 'error',
  },
  {
    inputs: [],
    name: 'CommitTimeout',
    type: 'error',
  },
  {
    inputs: [],
    name: 'FailedTransfer',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidAddress',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidCommitment',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidContext',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidData',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidInferenceStatus',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidMiner',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidNonce',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidReveal',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidRole',
    type: 'error',
  },
  {
    inputs: [],
    name: 'NotCommitted',
    type: 'error',
  },
  {
    inputs: [],
    name: 'NotEnoughMiners',
    type: 'error',
  },
  {
    inputs: [],
    name: 'OnlyAssignedWorker',
    type: 'error',
  },
  {
    inputs: [],
    name: 'RevealTimeout',
    type: 'error',
  },
  {
    inputs: [],
    name: 'SubmitTimeout',
    type: 'error',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
    ],
    name: 'Uint256Set_DuplicatedValue',
    type: 'error',
  },
  {
    inputs: [],
    name: 'Unauthorized',
    type: 'error',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assigmentId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes32',
        name: 'commitment',
        type: 'bytes32',
      },
    ],
    name: 'CommitmentSubmission',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'uint256',
        name: 'chainId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'modelAddress',
        type: 'address',
      },
      {
        components: [
          {
            internalType: 'address',
            name: 'receiver',
            type: 'address',
          },
          {
            internalType: 'uint256',
            name: 'amount',
            type: 'uint256',
          },
          {
            internalType: 'enum IWorkerHub.DAOTokenReceiverRole',
            name: 'role',
            type: 'uint8',
          },
        ],
        indexed: false,
        internalType: 'struct IWorkerHub.DAOTokenReceiverInfor[]',
        name: 'receivers',
        type: 'tuple[]',
      },
    ],
    name: 'DAOTokenMintedV2',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        components: [
          {
            internalType: 'uint16',
            name: 'minerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'userPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'referrerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'refereePercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'l2OwnerPercentage',
            type: 'uint16',
          },
        ],
        indexed: false,
        internalType: 'struct IWorkerHub.DAOTokenPercentage',
        name: 'oldValue',
        type: 'tuple',
      },
      {
        components: [
          {
            internalType: 'uint16',
            name: 'minerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'userPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'referrerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'refereePercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'l2OwnerPercentage',
            type: 'uint16',
          },
        ],
        indexed: false,
        internalType: 'struct IWorkerHub.DAOTokenPercentage',
        name: 'newValue',
        type: 'tuple',
      },
    ],
    name: 'DAOTokenPercentageUpdated',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'enum IWorkerHub.InferenceStatus',
        name: 'newStatus',
        type: 'uint8',
      },
    ],
    name: 'InferenceStatusUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'uint8',
        name: 'version',
        type: 'uint8',
      },
    ],
    name: 'Initialized',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assignmentId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
    ],
    name: 'MinerRoleSeized',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assignmentId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint40',
        name: 'expiredAt',
        type: 'uint40',
      },
    ],
    name: 'NewAssignment',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'model',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'creator',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'originInferenceId',
        type: 'uint256',
      },
    ],
    name: 'NewInference',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'previousOwner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'OwnershipTransferred',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'Paused',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'model',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'creator',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'originInferenceId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'input',
        type: 'bytes',
      },
      {
        indexed: false,
        internalType: 'bool',
        name: 'flag',
        type: 'bool',
      },
    ],
    name: 'RawSubmitted',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assigmentId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint40',
        name: 'nonce',
        type: 'uint40',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'output',
        type: 'bytes',
      },
    ],
    name: 'RevealSubmission',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assigmentId',
        type: 'uint256',
      },
    ],
    name: 'SolutionSubmission',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assignmentId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'data',
        type: 'bytes',
      },
    ],
    name: 'StreamedData',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'Unpaused',
    type: 'event',
  },
  {
    inputs: [],
    name: 'assignmentNumber',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    name: 'assignments',
    outputs: [
      {
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        internalType: 'bytes32',
        name: 'commitment',
        type: 'bytes32',
      },
      {
        internalType: 'bytes32',
        name: 'digest',
        type: 'bytes32',
      },
      {
        internalType: 'uint40',
        name: 'revealNonce',
        type: 'uint40',
      },
      {
        internalType: 'address',
        name: 'worker',
        type: 'address',
      },
      {
        internalType: 'enum IWorkerHub.AssignmentRole',
        name: 'role',
        type: 'uint8',
      },
      {
        internalType: 'enum IWorkerHub.Vote',
        name: 'vote',
        type: 'uint8',
      },
      {
        internalType: 'bytes',
        name: 'output',
        type: 'bytes',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_assignId',
        type: 'uint256',
      },
      {
        internalType: 'bytes32',
        name: '_commitment',
        type: 'bytes32',
      },
    ],
    name: 'commit',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_assignmentId',
        type: 'uint256',
      },
    ],
    name: 'getAssignmentInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'uint256',
            name: 'inferenceId',
            type: 'uint256',
          },
          {
            internalType: 'bytes32',
            name: 'commitment',
            type: 'bytes32',
          },
          {
            internalType: 'bytes32',
            name: 'digest',
            type: 'bytes32',
          },
          {
            internalType: 'uint40',
            name: 'revealNonce',
            type: 'uint40',
          },
          {
            internalType: 'address',
            name: 'worker',
            type: 'address',
          },
          {
            internalType: 'enum IWorkerHub.AssignmentRole',
            name: 'role',
            type: 'uint8',
          },
          {
            internalType: 'enum IWorkerHub.Vote',
            name: 'vote',
            type: 'uint8',
          },
          {
            internalType: 'bytes',
            name: 'output',
            type: 'bytes',
          },
        ],
        internalType: 'struct IWorkerHub.Assignment',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_inferenceId',
        type: 'uint256',
      },
    ],
    name: 'getAssignmentsByInference',
    outputs: [
      {
        internalType: 'uint256[]',
        name: '',
        type: 'uint256[]',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_inferenceId',
        type: 'uint256',
      },
    ],
    name: 'getInferenceInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'uint256[]',
            name: 'assignments',
            type: 'uint256[]',
          },
          {
            internalType: 'bytes',
            name: 'input',
            type: 'bytes',
          },
          {
            internalType: 'uint256',
            name: 'value',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'feeL2',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'feeTreasury',
            type: 'uint256',
          },
          {
            internalType: 'address',
            name: 'modelAddress',
            type: 'address',
          },
          {
            internalType: 'uint40',
            name: 'submitTimeout',
            type: 'uint40',
          },
          {
            internalType: 'uint40',
            name: 'commitTimeout',
            type: 'uint40',
          },
          {
            internalType: 'uint40',
            name: 'revealTimeout',
            type: 'uint40',
          },
          {
            internalType: 'enum IWorkerHub.InferenceStatus',
            name: 'status',
            type: 'uint8',
          },
          {
            internalType: 'address',
            name: 'creator',
            type: 'address',
          },
          {
            internalType: 'address',
            name: 'processedMiner',
            type: 'address',
          },
          {
            internalType: 'address',
            name: 'referrer',
            type: 'address',
          },
        ],
        internalType: 'struct IWorkerHub.Inference',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_modelAddress',
        type: 'address',
      },
    ],
    name: 'getMinFeeToUse',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getTreasuryAddress',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'address',
        name: '_creator',
        type: 'address',
      },
      {
        internalType: 'bool',
        name: '_flag',
        type: 'bool',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'address',
        name: '_creator',
        type: 'address',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'inferenceNumber',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_wEAI',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_l2Owner',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_treasury',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_daoToken',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_stakingHub',
        type: 'address',
      },
      {
        internalType: 'uint16',
        name: '_feeL2Percentage',
        type: 'uint16',
      },
      {
        internalType: 'uint16',
        name: '_feeTreasuryPercentage',
        type: 'uint16',
      },
      {
        internalType: 'uint8',
        name: '_minerRequirement',
        type: 'uint8',
      },
      {
        internalType: 'uint40',
        name: '_submitDuration',
        type: 'uint40',
      },
      {
        internalType: 'uint40',
        name: '_commitDuration',
        type: 'uint40',
      },
      {
        internalType: 'uint40',
        name: '_revealDuration',
        type: 'uint40',
      },
      {
        internalType: 'uint16',
        name: '_feeRatioMinerValidor',
        type: 'uint16',
      },
      {
        internalType: 'uint256',
        name: '_daoTokenReward',
        type: 'uint256',
      },
      {
        components: [
          {
            internalType: 'uint16',
            name: 'minerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'userPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'referrerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'refereePercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'l2OwnerPercentage',
            type: 'uint16',
          },
        ],
        internalType: 'struct IWorkerHub.DAOTokenPercentage',
        name: '_daoTokenPercentage',
        type: 'tuple',
      },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'owner',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'pause',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'paused',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address[]',
        name: '_referrers',
        type: 'address[]',
      },
      {
        internalType: 'address[]',
        name: '_referees',
        type: 'address[]',
      },
    ],
    name: 'registerReferrer',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_inferenceId',
        type: 'uint256',
      },
    ],
    name: 'resolveInference',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_assignId',
        type: 'uint256',
      },
      {
        internalType: 'uint40',
        name: '_nonce',
        type: 'uint40',
      },
      {
        internalType: 'bytes',
        name: '_data',
        type: 'bytes',
      },
    ],
    name: 'reveal',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_assignmentId',
        type: 'uint256',
      },
    ],
    name: 'seizeMinerRole',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_newDAOTokenReward',
        type: 'uint256',
      },
    ],
    name: 'setDAOTokenReward',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_wEAI',
        type: 'address',
      },
    ],
    name: 'setWEAIAddress',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_assigmentId',
        type: 'uint256',
      },
      {
        internalType: 'bytes',
        name: '_data',
        type: 'bytes',
      },
    ],
    name: 'submitSolution',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'unpause',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bool',
        name: '_isReferred',
        type: 'bool',
      },
    ],
    name: 'validateDAOSupplyIncrease',
    outputs: [
      {
        internalType: 'bool',
        name: 'notReachedLimit',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'version',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'pure',
    type: 'function',
  },
  {
    stateMutability: 'payable',
    type: 'receive',
  },
];

export const PROMPT_SCHEDULER_ABI: ethers.ContractInterface = [
  {
    inputs: [],
    name: 'AlreadyCommitted',
    type: 'error',
  },
  {
    inputs: [],
    name: 'AlreadyRevealed',
    type: 'error',
  },
  {
    inputs: [],
    name: 'AlreadySeized',
    type: 'error',
  },
  {
    inputs: [],
    name: 'AlreadySubmitted',
    type: 'error',
  },
  {
    inputs: [],
    name: 'CannotFastForward',
    type: 'error',
  },
  {
    inputs: [],
    name: 'CommitTimeout',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidAddress',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidCommitment',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidContext',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidData',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidInferenceStatus',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidMiner',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidNonce',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidReveal',
    type: 'error',
  },
  {
    inputs: [],
    name: 'InvalidRole',
    type: 'error',
  },
  {
    inputs: [],
    name: 'NotCommitted',
    type: 'error',
  },
  {
    inputs: [],
    name: 'NotEnoughMiners',
    type: 'error',
  },
  {
    inputs: [],
    name: 'OnlyAssignedWorker',
    type: 'error',
  },
  {
    inputs: [],
    name: 'RevealTimeout',
    type: 'error',
  },
  {
    inputs: [],
    name: 'SubmitTimeout',
    type: 'error',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
    ],
    name: 'Uint256Set_DuplicatedValue',
    type: 'error',
  },
  {
    inputs: [],
    name: 'Unauthorized',
    type: 'error',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assigmentId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes32',
        name: 'commitment',
        type: 'bytes32',
      },
    ],
    name: 'CommitmentSubmission',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'uint256',
        name: 'chainId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'modelAddress',
        type: 'address',
      },
      {
        components: [
          {
            internalType: 'address',
            name: 'receiver',
            type: 'address',
          },
          {
            internalType: 'uint256',
            name: 'amount',
            type: 'uint256',
          },
          {
            internalType: 'enum IWorkerHub.DAOTokenReceiverRole',
            name: 'role',
            type: 'uint8',
          },
        ],
        indexed: false,
        internalType: 'struct IWorkerHub.DAOTokenReceiverInfor[]',
        name: 'receivers',
        type: 'tuple[]',
      },
    ],
    name: 'DAOTokenMintedV2',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        components: [
          {
            internalType: 'uint16',
            name: 'minerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'userPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'referrerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'refereePercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'l2OwnerPercentage',
            type: 'uint16',
          },
        ],
        indexed: false,
        internalType: 'struct IWorkerHub.DAOTokenPercentage',
        name: 'oldValue',
        type: 'tuple',
      },
      {
        components: [
          {
            internalType: 'uint16',
            name: 'minerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'userPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'referrerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'refereePercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'l2OwnerPercentage',
            type: 'uint16',
          },
        ],
        indexed: false,
        internalType: 'struct IWorkerHub.DAOTokenPercentage',
        name: 'newValue',
        type: 'tuple',
      },
    ],
    name: 'DAOTokenPercentageUpdated',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'enum IWorkerHub.InferenceStatus',
        name: 'newStatus',
        type: 'uint8',
      },
    ],
    name: 'InferenceStatusUpdate',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'uint8',
        name: 'version',
        type: 'uint8',
      },
    ],
    name: 'Initialized',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assignmentId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
    ],
    name: 'MinerRoleSeized',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assignmentId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint40',
        name: 'expiredAt',
        type: 'uint40',
      },
    ],
    name: 'NewAssignment',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'model',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'creator',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'originInferenceId',
        type: 'uint256',
      },
    ],
    name: 'NewInference',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'previousOwner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'OwnershipTransferred',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'Paused',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferenceId',
        type: 'uint256',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'model',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'creator',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'value',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint256',
        name: 'originInferenceId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'input',
        type: 'bytes',
      },
      {
        indexed: false,
        internalType: 'bool',
        name: 'flag',
        type: 'bool',
      },
    ],
    name: 'RawSubmitted',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assigmentId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'uint40',
        name: 'nonce',
        type: 'uint40',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'output',
        type: 'bytes',
      },
    ],
    name: 'RevealSubmission',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'miner',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'uint256',
        name: 'inferId',
        type: 'uint256',
      },
    ],
    name: 'SolutionSubmission',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'uint256',
        name: 'assignmentId',
        type: 'uint256',
      },
      {
        indexed: false,
        internalType: 'bytes',
        name: 'data',
        type: 'bytes',
      },
    ],
    name: 'StreamedData',
    type: 'event',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: false,
        internalType: 'address',
        name: 'account',
        type: 'address',
      },
    ],
    name: 'Unpaused',
    type: 'event',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_inferenceId',
        type: 'uint256',
      },
    ],
    name: 'getInferenceInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'uint256',
            name: 'value',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'feeL2',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'feeTreasury',
            type: 'uint256',
          },
          {
            internalType: 'address',
            name: 'modelAddress',
            type: 'address',
          },
          {
            internalType: 'uint40',
            name: 'submitTimeout',
            type: 'uint40',
          },
          {
            internalType: 'enum IWorkerHub.InferenceStatus',
            name: 'status',
            type: 'uint8',
          },
          {
            internalType: 'address',
            name: 'creator',
            type: 'address',
          },
          {
            internalType: 'address',
            name: 'processedMiner',
            type: 'address',
          },
          {
            internalType: 'address',
            name: 'referrer',
            type: 'address',
          },
          {
            internalType: 'bytes',
            name: 'input',
            type: 'bytes',
          },
          {
            internalType: 'bytes',
            name: 'output',
            type: 'bytes',
          },
        ],
        internalType: 'struct IWorkerHub.Inference',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_modelAddress',
        type: 'address',
      },
    ],
    name: 'getMinFeeToUse',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getMinerRequirement',
    outputs: [
      {
        internalType: 'uint8',
        name: '',
        type: 'uint8',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getSubmitDuration',
    outputs: [
      {
        internalType: 'uint40',
        name: '',
        type: 'uint40',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getTreasuryAddress',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'address',
        name: '_creator',
        type: 'address',
      },
      {
        internalType: 'bool',
        name: '_flag',
        type: 'bool',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes',
        name: '_input',
        type: 'bytes',
      },
      {
        internalType: 'address',
        name: '_creator',
        type: 'address',
      },
    ],
    name: 'infer',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'payable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'inferenceNumber',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_wEAI',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_l2Owner',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_treasury',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_daoToken',
        type: 'address',
      },
      {
        internalType: 'address',
        name: '_stakingHub',
        type: 'address',
      },
      {
        internalType: 'uint16',
        name: '_feeL2Percentage',
        type: 'uint16',
      },
      {
        internalType: 'uint16',
        name: '_feeTreasuryPercentage',
        type: 'uint16',
      },
      {
        internalType: 'uint8',
        name: '_minerRequirement',
        type: 'uint8',
      },
      {
        internalType: 'uint40',
        name: '_submitDuration',
        type: 'uint40',
      },
      {
        internalType: 'uint16',
        name: '_feeRatioMinerValidor',
        type: 'uint16',
      },
      {
        internalType: 'uint256',
        name: '_daoTokenReward',
        type: 'uint256',
      },
      {
        components: [
          {
            internalType: 'uint16',
            name: 'minerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'userPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'referrerPercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'refereePercentage',
            type: 'uint16',
          },
          {
            internalType: 'uint16',
            name: 'l2OwnerPercentage',
            type: 'uint16',
          },
        ],
        internalType: 'struct IWorkerHub.DAOTokenPercentage',
        name: '_daoTokenPercentage',
        type: 'tuple',
      },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'owner',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'pause',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'paused',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address[]',
        name: '_referrers',
        type: 'address[]',
      },
      {
        internalType: 'address[]',
        name: '_referees',
        type: 'address[]',
      },
    ],
    name: 'registerReferrer',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_daoToken',
        type: 'address',
      },
    ],
    name: 'setDAOTokenAddress',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_stakingHub',
        type: 'address',
      },
    ],
    name: 'setStakingHubAddress',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint40',
        name: '_submitDuration',
        type: 'uint40',
      },
    ],
    name: 'setSubmitDuration',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: '_wEAI',
        type: 'address',
      },
    ],
    name: 'setWEAIAddress',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'stakingHub',
    outputs: [
      {
        internalType: 'address',
        name: '',
        type: 'address',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: '_inferId',
        type: 'uint256',
      },
      {
        internalType: 'bytes',
        name: '_data',
        type: 'bytes',
      },
    ],
    name: 'submitSolution',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'address',
        name: 'newOwner',
        type: 'address',
      },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'unpause',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'version',
    outputs: [
      {
        internalType: 'string',
        name: '',
        type: 'string',
      },
    ],
    stateMutability: 'pure',
    type: 'function',
  },
  {
    stateMutability: 'payable',
    type: 'receive',
  },
];

export const IPFS = 'ipfs://';
export const LIGHTHOUSE_IPFS = 'https://gateway.lighthouse.storage/ipfs/';


================================================
FILE: EternalAI.js/packages/interact/src/methods/infer/index.ts
================================================
import * as ethers from 'ethers';

import { InteractWallet } from '../types';
import { Message, SendInferResponse } from './types';
import {
  AGENT_ABI,
  IPFS,
  LIGHTHOUSE_IPFS,
  PROMPT_SCHEDULER_ABI,
  WORKER_HUB_ABI,
} from './constants';
import { ChainId } from '../../constants';
import { InferPayloadWithMessages, InferPayloadWithPrompt } from '../../types';
import { sleep } from '../../utils/time';
import { Fragment, LogDescription } from 'ethers/lib/utils';
import LightHouse from '@/services/light_house';

import injectDependency from '@/inject';
// this is inject supported packages
const packages = {
  ethers: injectDependency<InjectedTypes.ethers>('ethers'),
};

const contracts: Record<string, ethers.Contract> = {};

const getAgentContract = (contractAddress: string, wallet: InteractWallet) => {
  if (!contracts[contractAddress]) {
    contracts[contractAddress] = new packages.ethers.Contract(
      contractAddress,
      AGENT_ABI,
      wallet.provider
    );
  }
  return contracts[contractAddress];
};

const getWorkerHubContract = (
  contractAddress: string,
  wallet: InteractWallet
) => {
  if (!contracts[contractAddress]) {
    contracts[contractAddress] = new packages.ethers.Contract(
      contractAddress,
      PROMPT_SCHEDULER_ABI,
      wallet.provider
    );
  }
  return contracts[contractAddress];
};

export class InferenceResponse {
  result_uri: string;
  storage: string;
  data: string;

  constructor(result_uri: string, storage: string, data: string) {
    this.result_uri = result_uri;
    this.storage = storage;
    this.data = data;
  }

  static fromJSON(json: string): InferenceResponse {
    const parsed = JSON.parse(json);
    return Object.assign(new InferenceResponse('', '', ''), parsed);
  }
}

const Infer = {
  convertMessagesToBytes: async (
    messages: Message[],
    isLightHouse: boolean
  ) => {
    if (isLightHouse) {
      const uploadedUrl = await LightHouse.upload(JSON.stringify(messages));
      return packages.ethers.utils.toUtf8Bytes(uploadedUrl);
    }

    return packages.ethers.utils.toUtf8Bytes(
      JSON.stringify({
        messages,
      })
    );
  },
  getSystemPrompt: async (contractAddress: string, wallet: InteractWallet) => {
    try {
      console.log('infer getSystemPrompt - start');
      const contract = getAgentContract(contractAddress, wallet);
      const systemPrompt = await contract.getSystemPrompt();
      console.log('infer getSystemPrompt - succeed', systemPrompt);
      return systemPrompt;
    } catch (e) {
      console.log('infer getSystemPrompt - failed');
      throw e;
    } finally {
      console.log('infer getSystemPrompt - end');
    }
  },
  createPayloadWithPrompt: async (
    wallet: InteractWallet,
    payload: InferPayloadWithPrompt
  ) => {
    try {
      console.log('infer createPayloadWithPrompt - start', payload);
      const contractAddress = payload.agentAddress;
      const contract = getAgentContract(contractAddress, wallet);

      const systemPrompt = await Infer.getSystemPrompt(contractAddress, wallet);

      const { chainId, prompt, isLightHouse } = payload;

      const promptPayload = await Infer.convertMessagesToBytes(
        [
          {
            role: 'system',
            content: systemPrompt,
          },
          {
            role: 'user',
            content: prompt,
          },
        ],
        !!isLightHouse
      );
      const callData = contract.interface.encodeFunctionData('prompt(bytes)', [
        promptPayload,
      ]);

      const from = wallet.address || (await wallet.getAddress());
      const [gasLimit, gasPrice, nonce] = await Promise.all([
        contract.estimateGas.prompt(promptPayload),
        wallet.provider.getGasPrice(),
        wallet.provider.getTransactionCount(from),
      ]);

      const params = {
        to: contractAddress, // smart contract address
        from: from, // sender address
        data: callData, // data
        chainId: packages.ethers.BigNumber.from(chainId).toNumber(),
        gasLimit: gasLimit,
        gasPrice: gasPrice,
        nonce: nonce,
      } satisfies ethers.ethers.providers.TransactionRequest;
      console.log('infer createPayloadWithPrompt - succeed', params);
      return params;
    } catch (e) {
      console.log('infer createPayloadWithPrompt - failed');
      throw e;
    } finally {
      console.log('infer createPayloadWithPrompt - end');
    }
  },
  createPayloadWithMessages: async (
    wallet: InteractWallet,
    payload: InferPayloadWithMessages
  ) => {
    try {
      console.log('infer createPayloadWithMessages - start', payload);
      const contractAddress = payload.agentAddress;
      const contract = getAgentContract(contractAddress, wallet);

      const { chainId, messages, isLightHouse } = payload;

      const promptPayload = await Infer.convertMessagesToBytes(
        messages,
        !!isLightHouse
      );
      const callData = contract.interface.encodeFunctionData('prompt(bytes)', [
        promptPayload,
      ]);

      const from = wallet.address || (await wallet.getAddress());
      const [gasLimit, gasPrice, nonce] = await Promise.all([
        contract.estimateGas.prompt(promptPayload),
        wallet.provider.getGasPrice(),
        wallet.provider.getTransactionCount(from),
      ]);

      const params = {
        to: contractAddress,
        from: from,
        data: callData,
        chainId: packages.ethers.BigNumber.from(chainId).toNumber(),
        gasLimit: gasLimit,
        gasPrice: gasPrice,
        nonce: nonce,
      } satisfies ethers.ethers.providers.TransactionRequest;
      console.log('infer createPayloadWithMessages - succeed', params);
      return params;
    } catch (e) {
      console.log('infer createPayloadWithMessages - failed');
      throw e;
    } finally {
      console.log('infer createPayloadWithMessages - end');
    }
  },
  sendPrompt: async (
    wallet: InteractWallet,
    signedTx: string
  ): Promise<SendInferResponse> => {
    try {
      console.log('infer execute - start');

      console.log('infer execute - send transaction', signedTx);
      const txResponse = await wallet.provider.sendTransaction(signedTx);

      console.log('infer execute - waiting', txResponse);
      const receipt = await txResponse.wait();

      return receipt.transactionHash;
    } catch (e) {
      console.log('infer execute - failed');
      throw e;
    } finally {
      console.log('infer execute - end');
    }
  },
  getWorkerHubAddress: async (agentAddress: string, wallet: InteractWallet) => {
    try {
      console.log('infer getWorkerHubAddress - start', {
        agentAddress,
      });
      const contractAddress = agentAddress;
      const contract = getAgentContract(contractAddress, wallet);
      const schedule = await contract.getPromptSchedulerAddress();
      console.log('infer getWorkerHubAddress - succeed', schedule);
      return schedule;
    } catch (e) {
      console.log('infer getWorkerHubAddress - failed');
      throw e;
    } finally {
      console.log('infer getWorkerHubAddress - end');
    }
  },
  getInferId: async (wallet: InteractWallet, promptedTxHash: string) => {
    const txReceipt = await wallet.provider.getTransactionReceipt(
      promptedTxHash
    );

    if (!txReceipt || txReceipt.status != 1) {
      throw new Error('Transaction receipt not found.');
    } else {
      try {
        const iface = new packages.ethers.utils.Interface(
          WORKER_HUB_ABI as ReadonlyArray<Fragment>
        );

        const events = txReceipt.logs
          .map((log) => {
            try {
              return iface.parseLog(log);
            } catch (error) {
              return null;
            }
          })
          .filter((event) => event !== null);

        const newInference = events?.find(
          ((event: LogDescription) => event.name === 'NewInference') as any
        );
        return newInference?.args?.inferenceId;
      } catch (e) {
        throw new Error('No Infer Id');
      }
    }
  },

  processOutput: (out: any) => {
    const str: string = packages.ethers.utils.toUtf8String(out);
    try {
      const result = InferenceResponse.fromJSON(str);
      return result;
    } catch (e) {
      return null;
    }
  },

  processOutputToInferResponse: async (output: ethers.Bytes) => {
    const inferResponse = Infer.processOutput(output);
    if (!inferResponse) {
      return null;
    } else {
      if (
        inferResponse.storage == 'lighthouse-filecoint' ||
        inferResponse.result_uri.includes('ipfs://')
      ) {
        const light_house = inferResponse.result_uri.replace(
          IPFS,
          LIGHTHOUSE_IPFS
        );
        const light_house_reponse = await fetch(light_house);
        if (light_house_reponse.ok) {
          const result = await light_house_reponse.text();
          return result;
        }
        return null;
      } else {
        if (inferResponse.data != '') {
          const decodedString = atob(inferResponse.data);
          return decodedString;
        }
        return null;
      }
    }
  },
  getInferenceById: async (
    wallet: InteractWallet,
    workerHubAddress: string,
    inferId: string,
    chainId: ChainId
  ) => {
    if (chainId === ChainId.BSC) {
      const contract = getWorkerHubContract(workerHubAddress, wallet);
      const inferenceInfo = await contract.getInferenceInfo(inferId);
      const output = inferenceInfo[10];
      const bytesData = packages.ethers.utils.arrayify(output);
      if (bytesData.length != 0) {
        const result = await Infer.processOutputToInferResponse(bytesData);
        if (result) {
          return result;
        } else {
          return null;
        }
      } else {
        throw new Error(`waiting process inference ${inferId}`);
      }
    } else if (chainId === ChainId.BASE) {
      const contract = getWorkerHubContract(workerHubAddress, wallet);
      const assignIds = await contract.getInferenceInfo(inferId);
      if (assignIds.length == 0) {
        throw new Error('No assignment found');
      }
      const assignId = assignIds[0];
      const assignInfo = await contract.getAssignmentInfo(assignId);
      if (assignInfo.length == 0) {
        throw new Error('Inference result not ready');
      }
      const output = assignInfo[7];
      const bytesData = packages.ethers.utils.arrayify(output);
      if (bytesData.length != 0) {
        const result = await Infer.processOutputToInferResponse(bytesData);
        if (result) {
          return result;
        } else {
          return null;
        }
      } else {
        throw new Error(`waiting process inference ${inferId}`);
      }
    } else {
      throw Error('Unsupported chainId');
    }
  },
  listenPromptResponse: async (
    chainId: ChainId,
    wallet: InteractWallet,
    workerHubAddress: string,
    promptedTxHash: string
  ) => {
    try {
      console.log('infer listenPromptResponse - start', {
        chainId,
        workerHubAddress,
        promptedTxHash,
      });

      let result: string | null = null;
      const inferId = await Infer.getInferId(wallet, promptedTxHash);

      while (true) {
        try {
          result = await Infer.getInferenceById(
            wallet,
            workerHubAddress,
            inferId,
            chainId
          );
          break;
        } catch (e) {
          console.log('Retry to get inference by reference id');
          await sleep(30);
        }
      }

      console.log('infer listenPromptResponse - succeed', result);
      return result;
    } catch (e) {
      console.log('infer listenPromptResponse - failed');
      throw e;
    } finally {
      console.log('infer listenPromptResponse - end');
    }
  },
};

export default Infer;


================================================
FILE: EternalAI.js/packages/interact/src/methods/infer/types.ts
================================================
export type Message = {
  role: 'system' | 'user' | 'assistant';
  content: string;
};

export type SendInferResponse = string;

export type ListenInferPayload = SendInferResponse;


================================================
FILE: EternalAI.js/packages/interact/src/methods/types.ts
================================================
import * as ethers from 'ethers';

export interface InteractWallet {
  provider: ethers.providers.Provider;
  getAddress: () => Promise<string>;
  address: string;
}

export type InteractMethod = {
  createPayload: <P, R>(payload: P) => R;
  execute: <R>(signedTx: string) => Promise<R>;
};


================================================
FILE: EternalAI.js/packages/interact/src/services/light_house.ts
================================================
const LightHouse = {
  upload: async (content: string) => {
    console.log('LightHouse - Upload content to light house');
    const res = await fetch(
      'https://api.eternalai.org/api/service/light-house/upload/public',
      {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({ content }),
      }
    );
    if (!res.ok) {
      throw new Error(`Light house upload failed: ${res.statusText}`);
    }

    const data = await res.json();
    console.log('LightHouse - Upload succeed - url', data.data);
    // https://gateway.lighthouse.storage/ipfs/bafkreiddf4lmd3nfd5ebusz2ho3usvivmknwf3u6dabjfu2fcptgvrhbvm
    return data.data;
  },
};

export default LightHouse;


================================================
FILE: EternalAI.js/packages/interact/src/types.ts
================================================
import * as ethers from 'ethers';
import { ChainId } from './constants';
import { Message } from './methods/infer/types';
import { InteractWallet } from './methods/types';

type InferPayloadBase = {
  agentAddress: string;
  isLightHouse?: boolean;
  rpcUrl?: string;
};

export type InferPayloadWithPrompt = InferPayloadBase & {
  chainId: ChainId;
  prompt: string;
};

export type InferPayloadWithMessages = InferPayloadBase & {
  chainId: ChainId;
  messages: Message[];
};

export type ExternalWallet = Pick<InteractWallet, 'getAddress' | 'address'> & {
  requestSignature: (
    transaction: ethers.ethers.providers.TransactionRequest
  ) => Promise<string>;
};


================================================
FILE: EternalAI.js/packages/interact/src/utils/time.ts
================================================
export const sleep = async (ms: number) => {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
};


================================================
FILE: EternalAI.js/packages/interact/test/blah.test.ts
================================================
import { sum } from '../src';

describe('blah', () => {
  it('works', () => {
    expect(sum(1, 1)).toEqual(2);
  });
});


================================================
FILE: EternalAI.js/packages/interact/tsconfig.json
================================================
{
  "compilerOptions": {
    "target": "esnext",
    "module": "commonjs",
    "lib": ["dom", "esnext"],
    "jsx": "react-jsx",
    "strict": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "outDir": "dist",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    },
    "resolveJsonModule": true
  },
  "include": ["src", "src/**/*.d.ts"],
  "exclude": ["node_modules", "dist"]
}


================================================
FILE: EternalAI.js/packages/langchain/.eslintrc.cjs
================================================
module.exports = {
  extends: [
    "airbnb-base",
    "eslint:recommended",
    "prettier",
    "plugin:@typescript-eslint/recommended",
  ],
  parserOptions: {
    ecmaVersion: 12,
    parser: "@typescript-eslint/parser",
    project: "./tsconfig.json",
    sourceType: "module",
  },
  plugins: ["@typescript-eslint", "no-instanceof"],
  ignorePatterns: [
    ".eslintrc.cjs",
    "scripts",
    "node_modules",
    "dist",
    "dist-cjs",
    "*.js",
    "*.cjs",
    "*.d.ts",
  ],
  rules: {
    "no-process-env": 2,
    "no-instanceof/no-instanceof": 2,
    "@typescript-eslint/explicit-module-boundary-types": 0,
    "@typescript-eslint/no-empty-function": 0,
    "@typescript-eslint/no-shadow": 0,
    "@typescript-eslint/no-empty-interface": 0,
    "@typescript-eslint/no-use-before-define": ["error", "nofunc"],
    "@typescript-eslint/no-unused-vars": ["warn", { args: "none" }],
    "@typescript-eslint/no-floating-promises": "error",
    "@typescript-eslint/no-misused-promises": "error",
    camelcase: 0,
    "class-methods-use-this": 0,
    "import/extensions": [2, "ignorePackages"],
    "import/no-extraneous-dependencies": [
      "error",
      { devDependencies: ["**/*.test.ts"] },
    ],
    "import/no-unresolved": 0,
    "import/prefer-default-export": 0,
    "keyword-spacing": "error",
    "max-classes-per-file": 0,
    "max-len": 0,
    "no-await-in-loop": 0,
    "no-bitwise": 0,
    "no-console": 0,
    "no-restricted-syntax": 0,
    "no-shadow": 0,
    "no-continue": 0,
    "no-void": 0,
    "no-underscore-dangle": 0,
    "no-use-before-define": 0,
    "no-useless-constructor": 0,
    "no-return-await": 0,
    "consistent-return": 0,
    "no-else-return": 0,
    "func-names": 0,
    "no-lonely-if": 0,
    "prefer-rest-params": 0,
    "new-cap": ["error", { properties: false, capIsNew: false }],
  },
  overrides: [
    {
      files: ["**/*.test.ts"],
      rules: {
        "@typescript-eslint/no-unused-vars": "off",
      },
    },
  ],
};


================================================
FILE: EternalAI.js/packages/langchain/.gitignore
================================================
node_modules
dist
.yarn


================================================
FILE: EternalAI.js/packages/langchain/.prettierrc
================================================
{
  "$schema": "https://json.schemastore.org/prettierrc",
  "printWidth": 80,
  "tabWidth": 2,
  "useTabs": false,
  "semi": true,
  "singleQuote": false,
  "quoteProps": "as-needed",
  "jsxSingleQuote": false,
  "trailingComma": "es5",
  "bracketSpacing": true,
  "arrowParens": "always",
  "requirePragma": false,
  "insertPragma": false,
  "proseWrap": "preserve",
  "htmlWhitespaceSensitivity": "css",
  "vueIndentScriptAndStyle": false,
  "endOfLine": "lf"
}


================================================
FILE: EternalAI.js/packages/langchain/.release-it.json
================================================
{
  "github": {
    "release": true,
    "autoGenerate": true,
    "tokenRef": "GITHUB_TOKEN_RELEASE"
  },
  "npm": {
    "versionArgs": ["--workspaces-update=false"]
  }
}


================================================
FILE: EternalAI.js/packages/langchain/LICENSE
================================================
The MIT License

Copyright (c) 2023 LangChain

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

================================================
FILE: EternalAI.js/packages/langchain/README.md
================================================
# @langchain/eternalai

This package contains the LangChain.js integrations for eternalai through their SDK.

## Installation

```bash npm2yarn
npm install @langchain/eternalai @langchain/core
```

This package, along with the main LangChain package, depends on [`@langchain/core`](https://npmjs.com/package/@langchain/core/).
If you are using this package with other LangChain packages, you should make sure that all of the packages depend on the same instance of `@langchain/core`.
You can do so by adding appropriate field to your project's `package.json` like this:

```json
{
  "name": "your-project",
  "version": "0.0.0",
  "dependencies": {
    "@langchain/eternalai": "^0.0.0",
    "@langchain/core": "^0.3.0"
  },
  "resolutions": {
    "@langchain/core": "^0.3.0"
  },
  "overrides": {
    "@langchain/core": "^0.3.0"
  },
  "pnpm": {
    "overrides": {
      "@langchain/core": "^0.3.0"
    }
  }
}
```

The field you need depends on the package manager you're using, but we recommend adding a field for the common `yarn`, `npm`, and `pnpm` to maximize compatibility.

## Chat Models

This package contains the `<ADD_CLASS_NAME_HERE>` class, which is the recommended way to interface with the eternalai series of models.

To use, install the requirements, and configure your environment.

```bash
export <ADD_ENV_NAME_HERE>=your-api-key
```

Then initialize

```typescript
import { <ADD_CLASS_NAME_HERE> } from "@langchain/eternalai";

const model = new ExampleChatClass({
  apiKey: process.env.EXAMPLE_API_KEY,
});
const response = await model.invoke(new HumanMessage("Hello world!"));
```

## Development

To develop the eternalai package, you'll need to follow these instructions:

### Install dependencies

```bash
yarn install
```

### Build the package

```bash
yarn build
```

Or from the repo root:

```bash
yarn build --filter=@langchain/eternalai
```

### Run tests

Test files should live within a `tests/` file in the `src/` folder. Unit tests should end in `.test.ts` and integration tests should
end in `.int.test.ts`:

```bash
$ yarn test
$ yarn test:int
```

### Lint & Format

Run the linter & formatter to ensure your code is up to standard:

```bash
yarn lint && yarn format
```

### Adding new entrypoints

If you add a new file to be exported, either import & re-export from `src/index.ts`, or add it to the `entrypoints` field in the `config` variable located inside `langchain.config.js` and run `yarn build` to generate the new entrypoint.

================================================
FILE: EternalAI.js/packages/langchain/jest.config.cjs
================================================
/** @type {import('ts-jest').JestConfigWithTsJest} */
module.exports = {
  preset: "ts-jest/presets/default-esm",
  testEnvironment: "./jest.env.cjs",
  modulePathIgnorePatterns: ["dist/", "docs/"],
  moduleNameMapper: {
    "^(\\.{1,2}/.*)\\.js$": "$1",
  },
  transform: {
    "^.+\\.tsx?$": ["@swc/jest"],
  },
  transformIgnorePatterns: [
    "/node_modules/",
    "\\.pnp\\.[^\\/]+$",
    "./scripts/jest-setup-after-env.js",
  ],
  setupFiles: ["dotenv/config"],
  testTimeout: 20_000,
  passWithNoTests: true,
  collectCoverageFrom: ["src/**/*.ts"],
};


================================================
FILE: EternalAI.js/packages/langchain/jest.env.cjs
================================================
const { TestEnvironment } = require("jest-environment-node");

class AdjustedTestEnvironmentToSupportFloat32Array extends TestEnvironment {
  constructor(config, context) {
    // Make `instanceof Float32Array` return true in tests
    // to avoid https://github.com/xenova/transformers.js/issues/57 and https://github.com/jestjs/jest/issues/2549
    super(config, context);
    this.global.Float32Array = Float32Array;
  }
}

module.exports = AdjustedTestEnvironmentToSupportFloat32Array;


================================================
FILE: EternalAI.js/packages/langchain/langchain.config.js
================================================
import { resolve, dirname } from "node:path";
import { fileURLToPath } from "node:url";

/**
 * @param {string} relativePath
 * @returns {string}
 */
function abs(relativePath) {
  return resolve(dirname(fileURLToPath(import.meta.url)), relativePath);
}

export const config = {
  internals: [/node\:/, /@langchain\/core\//],
  entrypoints: {
    index: "index",
  },
  requiresOptionalDependency: [],
  tsConfigPath: resolve("./tsconfig.json"),
  cjsSource: "./dist-cjs",
  cjsDestination: "./dist",
  abs,
};


================================================
FILE: EternalAI.js/packages/langchain/package.json
================================================
{
  "name": "eternalai",
  "version": "0.0.0",
  "description": "Eternalai integration for LangChain.js",
  "type": "module",
  "engines": {
    "node": ">=18"
  },
  "main": "./index.js",
  "types": "./index.d.ts",
  "repository": {
    "type": "git",
    "url": "git@github.com:langchain-ai/langchainjs.git"
  },
  "homepage": "https://github.com/langchain-ai/langchainjs/tree/main/libs/eternalai/",
  "scripts": {
    "build": "yarn turbo:command build:internal --filter=@langchain/eternalai",
    "build:internal": "yarn lc_build --create-entrypoints --pre --tree-shaking",
    "lint:eslint": "NODE_OPTIONS=--max-old-space-size=4096 eslint --cache --ext .ts,.js src/",
    "lint:dpdm": "dpdm --exit-code circular:1 --no-warning --no-tree src/*.ts src/**/*.ts",
    "lint": "yarn lint:eslint && yarn lint:dpdm",
    "lint:fix": "yarn lint:eslint --fix && yarn lint:dpdm",
    "clean": "rm -rf .turbo dist/",
    "prepack": "yarn build",
    "test": "NODE_OPTIONS=--experimental-vm-modules jest --testPathIgnorePatterns=\\.int\\.test.ts --testTimeout 30000 --maxWorkers=50%",
    "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --testPathIgnorePatterns=\\.int\\.test.ts",
    "test:single": "NODE_OPTIONS=--experimental-vm-modules yarn run jest --config jest.config.cjs --testTimeout 100000",
    "test:int": "NODE_OPTIONS=--experimental-vm-modules jest --testPathPattern=\\.int\\.test.ts --testTimeout 100000 --maxWorkers=50%",
    "format": "prettier --config .prettierrc --write \"src\"",
    "format:check": "prettier --config .prettierrc --check \"src\""
  },
  "author": "LangChain",
  "license": "MIT",
  "peerDependencies": {
    "@langchain/core": ">=0.3.0 <0.4.0"
  },
  "devDependencies": {
    "@jest/globals": "^29.5.0",
    "@swc/core": "^1.3.90",
    "@swc/jest": "^0.2.29",
    "@langchain/core": "^0.3.40",
    "@langchain/scripts": ">=0.1.0 <0.2.0",
    "@tsconfig/recommended": "^1.0.3",
    "@typescript-eslint/eslint-plugin": "^6.12.0",
    "@typescript-eslint/parser": "^6.12.0",
    "dotenv": "^16.3.1",
    "dpdm": "^3.12.0",
    "release-it": "^15.10.1",
    "eslint": "^8.33.0",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-config-prettier": "^8.6.0",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-no-instanceof": "^1.0.1",
    "eslint-plugin-prettier": "^4.2.1",
    "jest": "^29.5.0",
    "jest-environment-node": "^29.6.4",
    "prettier": "^2.8.3",
    "rollup": "^4.5.2",
    "ts-jest": "^29.1.0",
    "typescript": "<5.2.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "exports": {
    ".": {
      "types": {
        "import": "./index.d.ts",
        "require": "./index.d.cts",
        "default": "./index.d.ts"
      },
      "import": "./index.js",
      "require": "./index.cjs"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "dist/",
    "index.cjs",
    "index.js",
    "index.d.ts",
    "index.d.cts"
  ]
}


================================================
FILE: EternalAI.js/packages/langchain/scripts/jest-setup-after-env.js
================================================
import { awaitAllCallbacks } from "@langchain/core/callbacks/promises";
import { afterAll, jest } from "@jest/globals";

afterAll(awaitAllCallbacks);

// Allow console.log to be disabled in tests
if (process.env.DISABLE_CONSOLE_LOGS === "true") {
  console.log = jest.fn();
}


================================================
FILE: EternalAI.js/packages/langchain/src/chat_models.ts
================================================
import { type BaseMessage } from "@langchain/core/messages";
import { type BaseLanguageModelCallOptions } from "@langchain/core/language_models/base";

import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
import {
  type BaseChatModelParams,
  SimpleChatModel,
} from "@langchain/core/language_models/chat_models";

// Uncomment if implementing streaming

// import {
//   ChatGenerationChunk,
// } from "@langchain/core/outputs";
// import {
//   AIMessageChunk,
// } from "@langchain/core/messages";

// Uncomment if implementing tool calling

// import {
//   type BindToolsInput,
// } from "@langchain/core/language_models/chat_models";

/**
 * Input to chat model class.
 */
export interface ChatIntegrationInput extends BaseChatModelParams {}

/**
 * Integration with a chat model.
 */
export class ChatIntegration
  // Extend BaseLanguageModelCallOptions and pass it as the generic here
  // to support typing for additional runtime parameters for your integration
  extends SimpleChatModel<BaseLanguageModelCallOptions>
  implements ChatIntegrationInput
{
  // Used for tracing, replace with the same name as your class
  static lc_name() {
    return "ChatIntegration";
  }

  lc_serializable = true;

  /**
   * Replace with any secrets this class passes to `super`.
   * See {@link ../../langchain-cohere/src/chat_model.ts} for
   * an example.
   */
  get lc_secrets(): { [key: string]: string } | undefined {
    return {
      apiKey: "API_KEY_NAME",
    };
  }

  get lc_aliases(): { [key: string]: string } | undefined {
    return {
      apiKey: "API_KEY_NAME",
    };
  }

  constructor(fields?: ChatIntegrationInput) {
    super(fields ?? {});
  }

  // Replace
  _llmType() {
    return "chat_integration";
  }

  /**
   * For some given input messages and options, return a string output.
   */
  _call(
    _messages: BaseMessage[],
    _options: this["ParsedCallOptions"],
    _runManager?: CallbackManagerForLLMRun
  ): Promise<string> {
    throw new Error("Not implemented.");
  }

  /**
   * Implement to support streaming.
   * Should yield chunks iteratively.
   */
  // async *_streamResponseChunks(
  //   messages: BaseMessage[],
  //   options: this["ParsedCallOptions"],
  //   runManager?: CallbackManagerForLLMRun
  // ): AsyncGenerator<ChatGenerationChunk> {
  //   // All models have a built in `this.caller` property for retries
  //   const stream = await this.caller.call(async () =>
  //     createStreamMethod()
  //   );
  //   for await (const chunk of stream) {
  //     if (!chunk.done) {
  //       yield new ChatGenerationChunk({
  //         text: chunk.response,
  //         message: new AIMessageChunk({ content: chunk.response }),
  //       });
  //       await runManager?.handleLLMNewToken(chunk.response ?? "");
  //     }
  //   }
  // }

  /**
   * Implement to support tool calling.
   * You must also pass the bound tools into your actual chat completion call.
   * See {@link ../../langchain-cerberas/src/chat_model.ts} for
   * an example.
   */
  // override bindTools(
  //   tools: BindToolsInput[],
  //   kwargs?: Partial<this["ParsedCallOptions"]>
  // ): Runnable<BaseLanguageModelInput, AIMessageChunk, BaseLanguageModelCallOptions> {
  //   return this.bind({
  //     tools: tools.map((tool) => convertToIntegrationFormat(tool)),
  //     ...kwargs,
  //   });
  // }

  /** @ignore */
  _combineLLMOutput() {
    return [];
  }
}


================================================
FILE: EternalAI.js/packages/langchain/src/index.ts
================================================
export * from "./chat_models.js";
export * from "./llms.js";
export * from "./vectorstores.js";


================================================
FILE: EternalAI.js/packages/langchain/src/llms.ts
================================================
import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
import { LLM, type BaseLLMParams } from "@langchain/core/language_models/llms";
import { type BaseLanguageModelCallOptions } from "@langchain/core/language_models/base";

// Uncomment if implementing streaming

// import {
//   GenerationChunk,
// } from "@langchain/core/outputs";

/**
 * Input to LLM class.
 */
export interface LLMIntegrationInput extends BaseLLMParams {}

/**
 * Integration with an LLM.
 */
export class LLMIntegration
  extends LLM<BaseLanguageModelCallOptions>
  implements LLMIntegrationInput
{
  // Used for tracing, replace with the same name as your class
  static lc_name() {
    return "LLMIntegration";
  }

  lc_serializable = true;

  constructor(fields: LLMIntegrationInput) {
    super(fields);
  }

  // Replace
  _llmType() {
    return "llm_integration";
  }

  /**
   * Replace with any secrets this class passes to `super`.
   * See {@link ../../langchain-cohere/src/chat_model.ts} for
   * an example.
   */
  get lc_secrets(): { [key: string]: string } | undefined {
    return {
      apiKey: "API_KEY_NAME",
    };
  }

  get lc_aliases(): { [key: string]: string } | undefined {
    return {
      apiKey: "API_KEY_NAME",
    };
  }

  /**
   * For some given input string and options, return a string output.
   */
  async _call(
    _prompt: string,
    _options: this["ParsedCallOptions"],
    _runManager?: CallbackManagerForLLMRun
  ): Promise<string> {
    throw new Error("Not implemented.");
  }

  /**
   * Implement to support streaming.
   * Should yield chunks iteratively.
   */
  // async *_streamResponseChunks(
  //   prompt: string,
  //   options: this["ParsedCallOptions"],
  //   runManager?: CallbackManagerForLLMRun
  // ): AsyncGenerator<GenerationChunk> {
  //   const stream = await this.caller.call(async () =>
  //     createStream()
  //   );
  //   for await (const chunk of stream) {
  //     yield new GenerationChunk({
  //       text: chunk.response,
  //       generationInfo: {
  //         ...chunk,
  //         response: undefined,
  //       },
  //     });
  //     await runManager?.handleLLMNewToken(chunk.response ?? "");
  //   }
  // }
}


================================================
FILE: EternalAI.js/packages/langchain/src/tests/chat_models.test.ts
================================================
import { test } from "@jest/globals";

test("Test chat model", async () => {
  // Your test here
});


================================================
FILE: EternalAI.js/packages/langchain/src/tests/integration.int.test.ts
================================================
import { test } from "@jest/globals";

test("Test chat model", async () => {
  // Your integration test here
});


================================================
FILE: EternalAI.js/packages/langchain/src/tests/llms.test.ts
================================================
import { test } from "@jest/globals";

test("Test LLM", async () => {
  // Your test here
});


================================================
FILE: EternalAI.js/packages/langchain/src/tests/vectorstores.test.ts
================================================
import { test } from "@jest/globals";

test("Test vectorstore", async () => {
  // Your test here
});


================================================
FILE: EternalAI.js/packages/langchain/src/vectorstores.ts
================================================
import type { EmbeddingsInterface } from "@langchain/core/embeddings";
import { VectorStore } from "@langchain/core/vectorstores";
import { Document } from "@langchain/core/documents";

/**
 * Database config for your vectorstore.
 */
export interface VectorstoreIntegrationParams {}

/**
 * Class for managing and operating vector search applications with
 * Tigris, an open-source Serverless NoSQL Database and Search Platform.
 */
export class VectorstoreIntegration extends VectorStore {
  // Replace
  _vectorstoreType(): string {
    return "vectorstore_integration";
  }

  constructor(
    embeddings: EmbeddingsInterface,
    params: VectorstoreIntegrationParams
  ) {
    super(embeddings, params);
    this.embeddings = embeddings;
  }

  /**
   * Replace with any secrets this class passes to `super`.
   * See {@link ../../langchain-cohere/src/chat_model.ts} for
   * an example.
   */
  get lc_secrets(): { [key: string]: string } | undefined {
    return {
      apiKey: "API_KEY_NAME",
    };
  }

  get lc_aliases(): { [key: string]: string } | undefined {
    return {
      apiKey: "API_KEY_NAME",
    };
  }

  /**
   * Method to add an array of documents to the vectorstore.
   *
   * Useful to override in case your vectorstore doesn't work directly with embeddings.
   */
  async addDocuments(
    documents: Document[],
    options?: { ids?: string[] } | string[]
  ): Promise<void> {
    const texts = documents.map(({ pageContent }) => pageContent);
    await this.addVectors(
      await this.embeddings.embedDocuments(texts),
      documents,
      options
    );
  }

  /**
   * Method to add raw vectors to the vectorstore.
   */
  async addVectors(
    _vectors: number[][],
    _documents: Document[],
    _options?: { ids?: string[] } | string[]
  ) {
    throw new Error("Not implemented.");
  }

  /**
   * Method to perform a similarity search over the vectorstore and return
   * the k most similar vectors along with their similarity scores.
   */
  async similaritySearchVectorWithScore(
    _query: number[],
    _k: number,
    _filter?: object
  ): Promise<[Document, number][]> {
    throw new Error("Not implemented.");
  }

  /**
   * Static method to create a new instance of the vectorstore from an
   * array of Document instances.
   *
   * Other common static initializer names are fromExistingIndex, initialize, and fromTexts.
   */
  static async fromDocuments(
    docs: Document[],
    embeddings: EmbeddingsInterface,
    dbConfig: VectorstoreIntegrationParams
  ): Promise<VectorstoreIntegration> {
    const instance = new this(embeddings, dbConfig);
    await instance.addDocuments(docs);
    return instance;
  }
}


================================================
FILE: EternalAI.js/packages/langchain/tsconfig.cjs.json
================================================
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "module": "commonjs",
    "declaration": false
  },
  "exclude": ["node_modules", "dist", "docs", "**/tests"]
}


================================================
FILE: EternalAI.js/packages/langchain/tsconfig.json
================================================
{
  "extends": "@tsconfig/recommended",
  "compilerOptions": {
    "outDir": "../dist",
    "rootDir": "./src",
    "target": "ES2021",
    "lib": ["ES2021", "ES2022.Object", "DOM"],
    "module": "ES2020",
    "moduleResolution": "nodenext",
    "esModuleInterop": true,
    "declaration": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "useDefineForClassFields": true,
    "strictPropertyInitialization": false,
    "allowJs": true,
    "strict": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist", "docs"]
}


================================================
FILE: EternalAI.js/packages/langchain/turbo.json
================================================
{
  "extends": ["//"],
  "pipeline": {
    "build": {
      "outputs": ["**/dist/**"]
    },
    "build:internal": {
      "dependsOn": ["^build:internal"]
    }
  }
}


================================================
FILE: EternalAI.js/packages/ui/.gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?


================================================
FILE: EternalAI.js/packages/ui/README.md
================================================
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

- Configure the top-level `parserOptions` property like this:

```js
export default tseslint.config({
  languageOptions: {
    // other options...
    parserOptions: {
      project: ['./tsconfig.node.json', './tsconfig.app.json'],
      tsconfigRootDir: import.meta.dirname,
    },
  },
})
```

- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
- Optionally add `...tseslint.configs.stylisticTypeChecked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:

```js
// eslint.config.js
import react from 'eslint-plugin-react'

export default tseslint.config({
  // Set the react version
  settings: { react: { version: '18.3' } },
  plugins: {
    // Add the react plugin
    react,
  },
  rules: {
    // other rules...
    // Enable its recommended rules
    ...react.configs.recommended.rules,
    ...react.configs['jsx-runtime'].rules,
  },
})
```


================================================
FILE: EternalAI.js/packages/ui/eslint.config.js
================================================
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'

export default tseslint.config(
  { ignores: ['dist'] },
  {
    extends: [js.configs.recommended, ...tseslint.configs.recommended],
    files: ['**/*.{ts,tsx}'],
    languageOptions: {
      ecmaVersion: 2020,
      globals: globals.browser,
    },
    plugins: {
      'react-hooks': reactHooks,
      'react-refresh': reactRefresh,
    },
    rules: {
      ...reactHooks.configs.recommended.rules,
      'react-refresh/only-export-components': [
        'warn',
        { allowConstantExport: true },
      ],
    },
  },
)


================================================
FILE: EternalAI.js/packages/ui/index.html
================================================
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + React + TS</title>
    <script
      src="https://cdnjs.cloudflare.com/ajax/libs/ethers/5.7.2/ethers.umd.min.js"
      integrity="sha512-FDcVY+g7vc5CXANbrTSg1K5qLyriCsGDYCE02Li1tXEYdNQPvLPHNE+rT2Mjei8N7fZbe0WLhw27j2SrGRpdMg=="
      crossorigin="anonymous"
      referrerpolicy="no-referrer"
    ></script>
  </head>
  <body>
    <div id="root"></div>
    <!-- <script type="module" src="/src/main.tsx"></script> -->
    <script type="text/javascript" src="/bundle.iife.js"></script>
  </body>
</html>


================================================
FILE: EternalAI.js/packages/ui/package.json
================================================
{
  "name": "@eternalai.js/ui",
  "private": true,
  "version": "0.1.0",
  "type": "module",
  "scripts": {
    "start": "vite",
    "dev": "vite",
    "build-test": "tsc -b && vite build",
    "lint": "eslint .",
    "preview": "vite preview"
  },
  "dependencies": {
     "ethers": "5.7.2",
    "react": "^19.0.0",
    "react-dom": "^19.0.0"
  },
  "devDependencies": {
    "@eternalai.js/core": "*",
    "@eternalai.js/interact": "*",
    "@eslint/js": "^9.19.0",
    "@types/react": "^19.0.8",
    "@types/react-dom": "^19.0.3",
    "@vitejs/plugin-react": "^4.3.4",
    "eslint": "^9.19.0",
    "eslint-plugin-react-hooks": "^5.0.0",
    "eslint-plugin-react-refresh": "^0.4.18",
    "globals": "^15.14.0",
    "react-router": "^7.1.1",
    "typescript": "~5.7.2",
    "typescript-eslint": "^8.22.0",
    "vite": "^6.1.0"
  }
}


================================================
FILE: EternalAI.js/packages/ui/public/bundle.iife.js
================================================
var Interact=function(e,t){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var a=n(t);const i=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint256",name:"amount_",type:"uint256"},{internalType:"address",name:"recipient_",type:"address"},{internalType:"address",name:"promptScheduler_",type:"address"},{internalType:"address",name:"modelAddress_",type:"address"},{internalType:"string",name:"systemPrompt_",type:"string"},{internalType:"bytes",name:"storageInfo_",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidData",type:"error"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegator",type:"address"},{indexed:!0,internalType:"address",name:"fromDelegate",type:"address"},{indexed:!0,internalType:"address",name:"toDelegate",type:"address"}],name:"DelegateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"delegate",type:"address"},{indexed:!1,internalType:"uint256",name:"previousBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newBalance",type:"uint256"}],name:"DelegateVotesChanged",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"hybridModel",type:"address"}],name:"ModelUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"caller",type:"address"},{indexed:!0,internalType:"uint256",name:"inferId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"request",type:"bytes"}],name:"PromptPerformed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"promptScheduler",type:"address"}],name:"PromptSchedulerHubUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"systemPrompt",type:"string"}],name:"SystemPromptUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CLOCK_MODE",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint32",name:"pos",type:"uint32"}],name:"checkpoints",outputs:[{components:[{internalType:"uint32",name:"fromBlock",type:"uint32"},{internalType:"uint224",name:"votes",type:"uint224"}],internalType:"struct ERC20Votes.Checkpoint",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"clock",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"}],name:"delegate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"delegatee",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"delegateBySig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"delegates",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"fetchCode",outputs:[{internalType:"string",name:"logic",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFileStorageChunkInfo",outputs:[{components:[{internalType:"uint256",name:"size",type:"uint256"},{components:[{internalType:"address",name:"pointer",type:"address"},{internalType:"uint32",name:"start",type:"uint32"},{internalType:"uint32",name:"end",type:"uint32"}],internalType:"struct BytecodeSlice[]",name:"slices",type:"tuple[]"}],internalType:"struct File",name:"file",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getModelAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timepoint",type:"uint256"}],name:"getPastTotalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timepoint",type:"uint256"}],name:"getPastVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getPromptSchedulerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"getResultById",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStorageInfo",outputs:[{components:[{internalType:"address",name:"contractAddress",type:"address"},{internalType:"string",name:"filename",type:"string"}],internalType:"struct IUtilityAgent.StorageInfo",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getStorageMode",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSystemPrompt",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getVotes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"numCheckpoints",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"request",type:"bytes"}],name:"prompt",outputs:[{internalType:"uint256",name:"inferId",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"filename",type:"string"}],name:"updateFileName",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"modelAddress",type:"address"}],name:"updateModelAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"promptScheduler",type:"address"}],name:"updatePromptScheduler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"systemPrompt",type:"string"}],name:"updateSystemPrompt",outputs:[],stateMutability:"nonpayable",type:"function"}],r=[{inputs:[],name:"AlreadyCommitted",type:"error"},{inputs:[],name:"AlreadyRevealed",type:"error"},{inputs:[],name:"AlreadySeized",type:"error"},{inputs:[],name:"AlreadySubmitted",type:"error"},{inputs:[{internalType:"bytes32",name:"value",type:"bytes32"}],name:"Bytes32Set_DuplicatedValue",type:"error"},{inputs:[],name:"CannotFastForward",type:"error"},{inputs:[],name:"CommitTimeout",type:"error"},{inputs:[],name:"FailedTransfer",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidCommitment",type:"error"},{inputs:[],name:"InvalidContext",type:"error"},{inputs:[],name:"InvalidData",type:"error"},{inputs:[],name:"InvalidInferenceStatus",type:"error"},{inputs:[],name:"InvalidMiner",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidReveal",type:"error"},{inputs:[],name:"InvalidRole",type:"error"},{inputs:[],name:"NotCommitted",type:"error"},{inputs:[],name:"NotEnoughMiners",type:"error"},{inputs:[],name:"OnlyAssignedWorker",type:"error"},{inputs:[],name:"RevealTimeout",type:"error"},{inputs:[],name:"SubmitTimeout",type:"error"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"Uint256Set_DuplicatedValue",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!0,internalType:"uint256",name:"assigmentId",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"commitment",type:"bytes32"}],name:"CommitmentSubmission",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!1,internalType:"address",name:"modelAddress",type:"address"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"enum IWorkerHub.DAOTokenReceiverRole",name:"role",type:"uint8"}],indexed:!1,internalType:"struct IWorkerHub.DAOTokenReceiverInfor[]",name:"receivers",type:"tuple[]"}],name:"DAOTokenMintedV2",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint16",name:"minerPercentage",type:"uint16"},{internalType:"uint16",name:"userPercentage",type:"uint16"},{internalType:"uint16",name:"referrerPercentage",type:"uint16"},{internalType:"uint16",name:"refereePercentage",type:"uint16"},{internalType:"uint16",name:"l2OwnerPercentage",type:"uint16"}],indexed:!1,internalType:"struct IWorkerHub.DAOTokenPercentage",name:"oldValue",type:"tuple"},{components:[{internalType:"uint16",name:"minerPercentage",type:"uint16"},{internalType:"uint16",name:"userPercentage",type:"uint16"},{internalType:"uint16",name:"referrerPercentage",type:"uint16"},{internalType:"uint16",name:"refereePercentage",type:"uint16"},{internalType:"uint16",name:"l2OwnerPercentage",type:"uint16"}],indexed:!1,internalType:"struct IWorkerHub.DAOTokenPercentage",name:"newValue",type:"tuple"}],name:"DAOTokenPercentageUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!1,internalType:"enum IWorkerHub.InferenceStatus",name:"newStatus",type:"uint8"}],name:"InferenceStatusUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"assignmentId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"miner",type:"address"}],name:"MinerRoleSeized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"assignmentId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!1,internalType:"uint40",name:"expiredAt",type:"uint40"}],name:"NewAssignment",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"model",type:"address"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"originInferenceId",type:"uint256"}],name:"NewInference",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"model",type:"address"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"originInferenceId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"input",type:"bytes"},{indexed:!1,internalType:"bool",name:"flag",type:"bool"}],name:"RawSubmitted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!0,internalType:"uint256",name:"assigmentId",type:"uint256"},{indexed:!1,internalType:"uint40",name:"nonce",type:"uint40"},{indexed:!1,internalType:"bytes",name:"output",type:"bytes"}],name:"RevealSubmission",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!0,internalType:"uint256",name:"assigmentId",type:"uint256"}],name:"SolutionSubmission",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"assignmentId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"StreamedData",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"assignmentNumber",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"assignments",outputs:[{internalType:"uint256",name:"inferenceId",type:"uint256"},{internalType:"bytes32",name:"commitment",type:"bytes32"},{internalType:"bytes32",name:"digest",type:"bytes32"},{internalType:"uint40",name:"revealNonce",type:"uint40"},{internalType:"address",name:"worker",type:"address"},{internalType:"enum IWorkerHub.AssignmentRole",name:"role",type:"uint8"},{internalType:"enum IWorkerHub.Vote",name:"vote",type:"uint8"},{internalType:"bytes",name:"output",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_assignId",type:"uint256"},{internalType:"bytes32",name:"_commitment",type:"bytes32"}],name:"commit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_assignmentId",type:"uint256"}],name:"getAssignmentInfo",outputs:[{components:[{internalType:"uint256",name:"inferenceId",type:"uint256"},{internalType:"bytes32",name:"commitment",type:"bytes32"},{internalType:"bytes32",name:"digest",type:"bytes32"},{internalType:"uint40",name:"revealNonce",type:"uint40"},{internalType:"address",name:"worker",type:"address"},{internalType:"enum IWorkerHub.AssignmentRole",name:"role",type:"uint8"},{internalType:"enum IWorkerHub.Vote",name:"vote",type:"uint8"},{internalType:"bytes",name:"output",type:"bytes"}],internalType:"struct IWorkerHub.Assignment",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_inferenceId",type:"uint256"}],name:"getAssignmentsByInference",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_inferenceId",type:"uint256"}],name:"getInferenceInfo",outputs:[{components:[{internalType:"uint256[]",name:"assignments",type:"uint256[]"},{internalType:"bytes",name:"input",type:"bytes"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"feeL2",type:"uint256"},{internalType:"uint256",name:"feeTreasury",type:"uint256"},{internalType:"address",name:"modelAddress",type:"address"},{internalType:"uint40",name:"submitTimeout",type:"uint40"},{internalType:"uint40",name:"commitTimeout",type:"uint40"},{internalType:"uint40",name:"revealTimeout",type:"uint40"},{internalType:"enum IWorkerHub.InferenceStatus",name:"status",type:"uint8"},{internalType:"address",name:"creator",type:"address"},{internalType:"address",name:"processedMiner",type:"address"},{internalType:"address",name:"referrer",type:"address"}],internalType:"struct IWorkerHub.Inference",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_modelAddress",type:"address"}],name:"getMinFeeToUse",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTreasuryAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"address",name:"_creator",type:"address"},{internalType:"bool",name:"_flag",type:"bool"}],name:"infer",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"address",name:"_creator",type:"address"}],name:"infer",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"inferenceNumber",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_wEAI",type:"address"},{internalType:"address",name:"_l2Owner",type:"address"},{internalType:"address",name:"_treasury",type:"address"},{internalType:"address",name:"_daoToken",type:"address"},{internalType:"address",name:"_stakingHub",type:"address"},{internalType:"uint16",name:"_feeL2Percentage",type:"uint16"},{internalType:"uint16",name:"_feeTreasuryPercentage",type:"uint16"},{internalType:"uint8",name:"_minerRequirement",type:"uint8"},{internalType:"uint40",name:"_submitDuration",type:"uint40"},{internalType:"uint40",name:"_commitDuration",type:"uint40"},{internalType:"uint40",name:"_revealDuration",type:"uint40"},{internalType:"uint16",name:"_feeRatioMinerValidor",type:"uint16"},{internalType:"uint256",name:"_daoTokenReward",type:"uint256"},{components:[{internalType:"uint16",name:"minerPercentage",type:"uint16"},{internalType:"uint16",name:"userPercentage",type:"uint16"},{internalType:"uint16",name:"referrerPercentage",type:"uint16"},{internalType:"uint16",name:"refereePercentage",type:"uint16"},{internalType:"uint16",name:"l2OwnerPercentage",type:"uint16"}],internalType:"struct IWorkerHub.DAOTokenPercentage",name:"_daoTokenPercentage",type:"tuple"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"_referrers",type:"address[]"},{internalType:"address[]",name:"_referees",type:"address[]"}],name:"registerReferrer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_inferenceId",type:"uint256"}],name:"resolveInference",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_assignId",type:"uint256"},{internalType:"uint40",name:"_nonce",type:"uint40"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"reveal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_assignmentId",type:"uint256"}],name:"seizeMinerRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_newDAOTokenReward",type:"uint256"}],name:"setDAOTokenReward",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_wEAI",type:"address"}],name:"setWEAIAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_assigmentId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"submitSolution",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_isReferred",type:"bool"}],name:"validateDAOSupplyIncrease",outputs:[{internalType:"bool",name:"notReachedLimit",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{stateMutability:"payable",type:"receive"}],s=[{inputs:[],name:"AlreadyCommitted",type:"error"},{inputs:[],name:"AlreadyRevealed",type:"error"},{inputs:[],name:"AlreadySeized",type:"error"},{inputs:[],name:"AlreadySubmitted",type:"error"},{inputs:[],name:"CannotFastForward",type:"error"},{inputs:[],name:"CommitTimeout",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidCommitment",type:"error"},{inputs:[],name:"InvalidContext",type:"error"},{inputs:[],name:"InvalidData",type:"error"},{inputs:[],name:"InvalidInferenceStatus",type:"error"},{inputs:[],name:"InvalidMiner",type:"error"},{inputs:[],name:"InvalidNonce",type:"error"},{inputs:[],name:"InvalidReveal",type:"error"},{inputs:[],name:"InvalidRole",type:"error"},{inputs:[],name:"NotCommitted",type:"error"},{inputs:[],name:"NotEnoughMiners",type:"error"},{inputs:[],name:"OnlyAssignedWorker",type:"error"},{inputs:[],name:"RevealTimeout",type:"error"},{inputs:[],name:"SubmitTimeout",type:"error"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"}],name:"Uint256Set_DuplicatedValue",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!0,internalType:"uint256",name:"assigmentId",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"commitment",type:"bytes32"}],name:"CommitmentSubmission",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!1,internalType:"address",name:"modelAddress",type:"address"},{components:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"enum IWorkerHub.DAOTokenReceiverRole",name:"role",type:"uint8"}],indexed:!1,internalType:"struct IWorkerHub.DAOTokenReceiverInfor[]",name:"receivers",type:"tuple[]"}],name:"DAOTokenMintedV2",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint16",name:"minerPercentage",type:"uint16"},{internalType:"uint16",name:"userPercentage",type:"uint16"},{internalType:"uint16",name:"referrerPercentage",type:"uint16"},{internalType:"uint16",name:"refereePercentage",type:"uint16"},{internalType:"uint16",name:"l2OwnerPercentage",type:"uint16"}],indexed:!1,internalType:"struct IWorkerHub.DAOTokenPercentage",name:"oldValue",type:"tuple"},{components:[{internalType:"uint16",name:"minerPercentage",type:"uint16"},{internalType:"uint16",name:"userPercentage",type:"uint16"},{internalType:"uint16",name:"referrerPercentage",type:"uint16"},{internalType:"uint16",name:"refereePercentage",type:"uint16"},{internalType:"uint16",name:"l2OwnerPercentage",type:"uint16"}],indexed:!1,internalType:"struct IWorkerHub.DAOTokenPercentage",name:"newValue",type:"tuple"}],name:"DAOTokenPercentageUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!1,internalType:"enum IWorkerHub.InferenceStatus",name:"newStatus",type:"uint8"}],name:"InferenceStatusUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"assignmentId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"miner",type:"address"}],name:"MinerRoleSeized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"assignmentId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!1,internalType:"uint40",name:"expiredAt",type:"uint40"}],name:"NewAssignment",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"model",type:"address"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"originInferenceId",type:"uint256"}],name:"NewInference",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"inferenceId",type:"uint256"},{indexed:!0,internalType:"address",name:"model",type:"address"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"uint256",name:"originInferenceId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"input",type:"bytes"},{indexed:!1,internalType:"bool",name:"flag",type:"bool"}],name:"RawSubmitted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!0,internalType:"uint256",name:"assigmentId",type:"uint256"},{indexed:!1,internalType:"uint40",name:"nonce",type:"uint40"},{indexed:!1,internalType:"bytes",name:"output",type:"bytes"}],name:"RevealSubmission",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"miner",type:"address"},{indexed:!0,internalType:"uint256",name:"inferId",type:"uint256"}],name:"SolutionSubmission",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"assignmentId",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"StreamedData",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"uint256",name:"_inferenceId",type:"uint256"}],name:"getInferenceInfo",outputs:[{components:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"feeL2",type:"uint256"},{internalType:"uint256",name:"feeTreasury",type:"uint256"},{internalType:"address",name:"modelAddress",type:"address"},{internalType:"uint40",name:"submitTimeout",type:"uint40"},{internalType:"enum IWorkerHub.InferenceStatus",name:"status",type:"uint8"},{internalType:"address",name:"creator",type:"address"},{internalType:"address",name:"processedMiner",type:"address"},{internalType:"address",name:"referrer",type:"address"},{internalType:"bytes",name:"input",type:"bytes"},{internalType:"bytes",name:"output",type:"bytes"}],internalType:"struct IWorkerHub.Inference",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_modelAddress",type:"address"}],name:"getMinFeeToUse",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMinerRequirement",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSubmitDuration",outputs:[{internalType:"uint40",name:"",type:"uint40"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTreasuryAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"address",name:"_creator",type:"address"},{internalType:"bool",name:"_flag",type:"bool"}],name:"infer",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"address",name:"_creator",type:"address"}],name:"infer",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"inferenceNumber",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_wEAI",type:"address"},{internalType:"address",name:"_l2Owner",type:"address"},{internalType:"address",name:"_treasury",type:"address"},{internalType:"address",name:"_daoToken",type:"address"},{internalType:"address",name:"_stakingHub",type:"address"},{internalType:"uint16",name:"_feeL2Percentage",type:"uint16"},{internalType:"uint16",name:"_feeTreasuryPercentage",type:"uint16"},{internalType:"uint8",name:"_minerRequirement",type:"uint8"},{internalType:"uint40",name:"_submitDuration",type:"uint40"},{internalType:"uint16",name:"_feeRatioMinerValidor",type:"uint16"},{internalType:"uint256",name:"_daoTokenReward",type:"uint256"},{components:[{internalType:"uint16",name:"minerPercentage",type:"uint16"},{internalType:"uint16",name:"userPercentage",type:"uint16"},{internalType:"uint16",name:"referrerPercentage",type:"uint16"},{internalType:"uint16",name:"refereePercentage",type:"uint16"},{internalType:"uint16",name:"l2OwnerPercentage",type:"uint16"}],internalType:"struct IWorkerHub.DAOTokenPercentage",name:"_daoTokenPercentage",type:"tuple"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"_referrers",type:"address[]"},{internalType:"address[]",name:"_referees",type:"address[]"}],name:"registerReferrer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_daoToken",type:"address"}],name:"setDAOTokenAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_stakingHub",type:"address"}],name:"setStakingHubAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint40",name:"_submitDuration",type:"uint40"}],name:"setSubmitDuration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_wEAI",type:"address"}],name:"setWEAIAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"stakingHub",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_inferId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"submitSolution",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{stateMutability:"payable",type:"receive"}];var p;e.ChainId=void 0,(p=e.ChainId||(e.ChainId={}))[p.BASE=8453]="BASE",p[p.BSC=56]="BSC";const u={56:"https://bsc-dataseed.binance.org/",8453:"https://base.llamarpc.com"},y=async e=>new Promise((t=>{setTimeout(t,e)})),o=async e=>{console.log("LightHouse - Upload content to light house");const t=await fetch("https://api.eternalai.org/api/service/light-house/upload/public",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(!t.ok)throw new Error(`Light house upload failed: ${t.statusText}`);const n=await t.json();return console.log("LightHouse - Upload succeed - url",n.data),n.data},d={},l=(e,t)=>(d[e]||(d[e]=new a.Contract(e,i,t.provider)),d[e]),m=(e,t)=>(d[e]||(d[e]=new a.Contract(e,s,t.provider)),d[e]);class c{result_uri;storage;data;constructor(e,t,n){this.result_uri=e,this.storage=t,this.data=n}static fromJSON(e){const t=JSON.parse(e);return Object.assign(new c("","",""),t)}}const T={convertMessagesToBytes:async(e,t)=>{if(t){const t=await o(JSON.stringify(e));return a.utils.toUtf8Bytes(t)}return a.utils.toUtf8Bytes(JSON.stringify({messages:e}))},getSystemPrompt:async(e,t)=>{try{console.log("infer getSystemPrompt - start");const n=l(e,t),a=await n.getSystemPrompt();return console.log("infer getSystemPrompt - succeed",a),a}catch(e){throw console.log("infer getSystemPrompt - failed"),e}finally{console.log("infer getSystemPrompt - end")}},createPayloadWithPrompt:async(e,t)=>{try{console.log("infer createPayloadWithPrompt - start",t);const n=t.agentAddress,i=l(n,e),r=await T.getSystemPrompt(n,e),{chainId:s,prompt:p,isLightHouse:u}=t,y=await T.convertMessagesToBytes([{role:"system",content:r},{role:"user",content:p}],!!u),o=i.interface.encodeFunctionData("prompt(bytes)",[y]),d=e.address||await e.getAddress(),[m,c,f]=await Promise.all([i.estimateGas.prompt(y),e.provider.getGasPrice(),e.provider.getTransactionCount(d)]),g={to:n,from:d,data:o,chainId:a.BigNumber.from(s).toNumber(),gasLimit:m,gasPrice:c,nonce:f};return console.log("infer createPayloadWithPrompt - succeed",g),g}catch(e){throw console.log("infer createPayloadWithPrompt - failed"),e}finally{console.log("infer createPayloadWithPrompt - end")}},createPayloadWithMessages:async(e,t)=>{try{console.log("infer createPayloadWithMessages - start",t);const n=t.agentAddress,i=l(n,e),{chainId:r,messages:s,isLightHouse:p}=t,u=await T.convertMessagesToBytes(s,!!p),y=i.interface.encodeFunctionData("prompt(bytes)",[u]),o=e.address||await e.getAddress(),[d,m,c]=await Promise.all([i.estimateGas.prompt(u),e.provider.getGasPrice(),e.provider.getTransactionCount(o)]),f={to:n,from:o,data:y,chainId:a.BigNumber.from(r).toNumber(),gasLimit:d,gasPrice:m,nonce:c};return console.log("infer createPayloadWithMessages - succeed",f),f}catch(e){throw console.log("infer createPayloadWithMessages - failed"),e}finally{console.log("infer createPayloadWithMessages - end")}},sendPrompt:async(e,t)=>{try{console.log("infer execute - start"),console.log("infer execute - send transaction",t);const n=await e.provider.sendTransaction(t);console.log("infer execute - waiting",n);return(await n.wait()).transactionHash}catch(e){throw console.log("infer execute - failed"),e}finally{console.log("infer execute - end")}},getWorkerHubAddress:async(e,t)=>{try{console.log("infer getWorkerHubAddress - start",{agentAddress:e});const n=l(e,t),a=await n.getPromptSchedulerAddress();return console.log("infer getWorkerHubAddress - succeed",a),a}catch(e){throw console.log("infer getWorkerHubAddress - failed"),e}finally{console.log("infer getWorkerHubAddress - end")}},getInferId:async(e,t)=>{const n=await e.provider.getTransactionReceipt(t);if(!n||1!=n.status)throw new Error("Transaction receipt not found.");try{const e=new a.utils.Interface(r),t=n.logs.map((t=>{try{return e.parseLog(t)}catch(e){return null}})).filter((e=>null!==e)),i=t?.find((e=>"NewInference"===e.name));return i?.args?.inferenceId}catch(e){throw new Error("No Infer Id")}},processOutput:e=>{const t=a.utils.toUtf8String(e);try{return c.fromJSON(t)}catch(e){return null}},processOutputToInferResponse:async e=>{const t=T.processOutput(e);if(t){if("lighthouse-filecoint"==t.storage||t.result_uri.includes("ipfs://")){const e=t.result_uri.replace("ipfs://","https://gateway.lighthouse.storage/ipfs/"),n=await fetch(e);if(n.ok){return await n.text()}return null}if(""!=t.data){return atob(t.data)}return null}return null},getInferenceById:async(t,n,i,r)=>{if(r===e.ChainId.BSC){const e=m(n,t),r=(await e.getInferenceInfo(i))[10],s=a.utils.arrayify(r);if(0!=s.length){const e=await T.processOutputToInferResponse(s);return e||null}throw new Error(`waiting process inference ${i}`)}if(r===e.ChainId.BASE){const e=m(n,t),r=await e.getInferenceInfo(i);if(0==r.length)throw new Error("No assignment found");const s=r[0],p=await e.getAssignmentInfo(s);if(0==p.length)throw new Error("Inference result not ready");const u=p[7],y=a.utils.arrayify(u);if(0!=y.length){const e=await T.processOutputToInferResponse(y);return e||null}throw new Error(`waiting process inference ${i}`)}throw Error("Unsupported chainId")},listenPromptResponse:async(e,t,n,a)=>{try{console.log("infer listenPromptResponse - start",{chainId:e,workerHubAddress:n,promptedTxHash:a});let i=null;const r=await T.getInferId(t,a);for(;;)try{i=await T.getInferenceById(t,n,r,e);break}catch(e){console.log("Retry to get inference by reference id"),await y(30)}return console.log("infer listenPromptResponse - succeed",i),i}catch(e){throw console.log("infer listenPromptResponse - failed"),e}finally{console.log("infer listenPromptResponse - end")}}};var f=Object.freeze({__proto__:null,Infer:T});return e.CHAIN_MAPPING=u,e.Interact=class{_wallet;constructor(e){if(!a.Wallet.isSigner(e))throw new Error("Provided wallet is not a signer");this._wallet=e}getProvider(e,t){if(t)return new a.providers.JsonRpcProvider(t);if(!u[e])throw new Error(`Unsupported chainId: ${e}`);return new a.providers.JsonRpcProvider(u[e])}getNetworkCredential(e,t){const n=this.getProvider(e,t);return{provider:n,signer:this._wallet.connect(n)}}normalizePayload(e){return{...e,isLightHouse:e.isLightHouse??!1}}async infer(e){try{const t=this.normalizePayload(e);if(console.log("infer - start",{payload:t}),"string"==typeof t.prompt){const e=await this.inferWithPrompt(t);return console.log("infer - succeed",e),e}{const e=await this.inferWithMessages(t);return console.log("infer - succeed",e),e}}catch(e){throw console.log("infer - failed",e),e}finally{console.log("infer - end")}}async inferWithPrompt(e){console.log("inferWithPrompt - start");const{signer:t}=this.getNetworkCredential(e.chainId,e.rpcUrl),n=await T.createPayloadWithPrompt(t,e),a=await t.signTransaction(n),i=await T.sendPrompt(t,a),r=await T.getWorkerHubAddress(e.agentAddress,t);return await T.listenPromptResponse(e.chainId,t,r,i)}async inferWithMessages(e){console.log("inferWithMessages - start");const{signer:t}=this.getNetworkCredential(e.chainId,e.rpcUrl),n=await T.createPayloadWithMessages(t,e),a=await t.signTransaction(n),i=await T.sendPrompt(t,a),r=await T.getWorkerHubAddress(e.agentAddress,t);return await T.listenPromptResponse(e.chainId,t,r,i)}},e.InteractWithExternalWallet=class{_wallet;constructor(e){this._wallet=e}getProvider(e,t){if(t)return new a.providers.JsonRpcProvider(t);if(!u[e])throw new Error(`Un
Download .txt
gitextract_7dr28zc4/

├── .gitignore
├── Dockerfile.backend
├── Dockerfile.de-infer
├── EternalAI.js/
│   ├── .gitignore
│   ├── README.md
│   ├── lerna.json
│   ├── package.json
│   └── packages/
│       ├── core/
│       │   ├── .github/
│       │   │   └── workflows/
│       │   │       ├── main.yml
│       │   │       └── size.yml
│       │   ├── .gitignore
│       │   ├── LICENSE
│       │   ├── README.md
│       │   ├── build.tsconfig.json
│       │   ├── package.json
│       │   ├── rollup.config.js
│       │   ├── src/
│       │   │   ├── index.ts
│       │   │   ├── types.d.ts
│       │   │   └── utils/
│       │   │       ├── index.ts
│       │   │       └── injects/
│       │   │           ├── ethers.ts
│       │   │           └── index.ts
│       │   └── tsconfig.json
│       ├── interact/
│       │   ├── .github/
│       │   │   └── workflows/
│       │   │       ├── main.yml
│       │   │       └── size.yml
│       │   ├── .gitignore
│       │   ├── LICENSE
│       │   ├── README.md
│       │   ├── build.tsconfig.json
│       │   ├── package.json
│       │   ├── rollup.config.js
│       │   ├── scripts/
│       │   │   └── main.ts
│       │   ├── src/
│       │   │   ├── baseInteract.ts
│       │   │   ├── constants.ts
│       │   │   ├── global.d.ts
│       │   │   ├── index.ts
│       │   │   ├── inject.ts
│       │   │   ├── interact.ts
│       │   │   ├── interactWithExternalWallet.ts
│       │   │   ├── methods/
│       │   │   │   ├── index.ts
│       │   │   │   ├── infer/
│       │   │   │   │   ├── constants.ts
│       │   │   │   │   ├── index.ts
│       │   │   │   │   └── types.ts
│       │   │   │   └── types.ts
│       │   │   ├── services/
│       │   │   │   └── light_house.ts
│       │   │   ├── types.ts
│       │   │   └── utils/
│       │   │       └── time.ts
│       │   ├── test/
│       │   │   └── blah.test.ts
│       │   └── tsconfig.json
│       ├── langchain/
│       │   ├── .eslintrc.cjs
│       │   ├── .gitignore
│       │   ├── .prettierrc
│       │   ├── .release-it.json
│       │   ├── LICENSE
│       │   ├── README.md
│       │   ├── jest.config.cjs
│       │   ├── jest.env.cjs
│       │   ├── langchain.config.js
│       │   ├── package.json
│       │   ├── scripts/
│       │   │   └── jest-setup-after-env.js
│       │   ├── src/
│       │   │   ├── chat_models.ts
│       │   │   ├── index.ts
│       │   │   ├── llms.ts
│       │   │   ├── tests/
│       │   │   │   ├── chat_models.test.ts
│       │   │   │   ├── integration.int.test.ts
│       │   │   │   ├── llms.test.ts
│       │   │   │   └── vectorstores.test.ts
│       │   │   └── vectorstores.ts
│       │   ├── tsconfig.cjs.json
│       │   ├── tsconfig.json
│       │   └── turbo.json
│       └── ui/
│           ├── .gitignore
│           ├── README.md
│           ├── eslint.config.js
│           ├── index.html
│           ├── package.json
│           ├── public/
│           │   └── bundle.iife.js
│           ├── src/
│           │   ├── App.css
│           │   ├── App.tsx
│           │   ├── index.css
│           │   ├── main.tsx
│           │   ├── pages/
│           │   │   ├── home/
│           │   │   │   ├── Styles.css
│           │   │   │   └── index.tsx
│           │   │   ├── package-core/
│           │   │   │   ├── Styles.css
│           │   │   │   └── index.tsx
│           │   │   └── package-interact/
│           │   │       ├── Styles.css
│           │   │       └── index.tsx
│           │   └── vite-env.d.ts
│           ├── tsconfig.app.json
│           ├── tsconfig.json
│           ├── tsconfig.node.json
│           └── vite.config.ts
├── LICENSE
├── Makefile
├── README.md
├── agent-as-a-service/
│   ├── .eslint.config.js
│   ├── .gitignore
│   ├── .npmrc
│   ├── .yarnrc.yml
│   ├── README.md
│   ├── agent-deep-researcher/
│   │   ├── Dockerfile
│   │   ├── Pipfile
│   │   └── src/
│   │       ├── deep_research.py
│   │       └── main.py
│   ├── agent-launchpad/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   ├── contracts/
│   │   │   ├── base/
│   │   │   │   ├── BaseMulticall.sol
│   │   │   │   ├── BaseUpgradeable.sol
│   │   │   │   └── BlockContext.sol
│   │   │   ├── core/
│   │   │   │   ├── NoDelegateCall.sol
│   │   │   │   ├── UniswapV3Factory.sol
│   │   │   │   ├── UniswapV3Pool.sol
│   │   │   │   ├── UniswapV3PoolDeployer.sol
│   │   │   │   ├── UniswapV3PoolProxy.sol
│   │   │   │   ├── interfaces/
│   │   │   │   │   ├── IERC20Minimal.sol
│   │   │   │   │   ├── IUniswapV3Factory.sol
│   │   │   │   │   ├── IUniswapV3Pool.sol
│   │   │   │   │   ├── IUniswapV3PoolDeployer.sol
│   │   │   │   │   ├── callback/
│   │   │   │   │   │   ├── IUniswapV3FlashCallback.sol
│   │   │   │   │   │   ├── IUniswapV3MintCallback.sol
│   │   │   │   │   │   └── IUniswapV3SwapCallback.sol
│   │   │   │   │   └── pool/
│   │   │   │   │       ├── IUniswapV3PoolActions.sol
│   │   │   │   │       ├── IUniswapV3PoolDerivedState.sol
│   │   │   │   │       ├── IUniswapV3PoolEvents.sol
│   │   │   │   │       ├── IUniswapV3PoolImmutables.sol
│   │   │   │   │       ├── IUniswapV3PoolOwnerActions.sol
│   │   │   │   │       └── IUniswapV3PoolState.sol
│   │   │   │   ├── libraries/
│   │   │   │   │   ├── BitMath.sol
│   │   │   │   │   ├── FixedPoint128.sol
│   │   │   │   │   ├── FixedPoint96.sol
│   │   │   │   │   ├── FullMath.sol
│   │   │   │   │   ├── LiquidityMath.sol
│   │   │   │   │   ├── LowGasSafeMath.sol
│   │   │   │   │   ├── Oracle.sol
│   │   │   │   │   ├── Position.sol
│   │   │   │   │   ├── SafeCast.sol
│   │   │   │   │   ├── SqrtPriceMath.sol
│   │   │   │   │   ├── SwapMath.sol
│   │   │   │   │   ├── Tick.sol
│   │   │   │   │   ├── TickBitmap.sol
│   │   │   │   │   ├── TickMath.sol
│   │   │   │   │   ├── TransferHelper.sol
│   │   │   │   │   └── UnsafeMath.sol
│   │   │   │   └── test/
│   │   │   │       └── TestUniswapV3Callee.sol
│   │   │   ├── interfaces/
│   │   │   │   └── IWETH.sol
│   │   │   ├── periphery/
│   │   │   │   ├── NonfungiblePositionManager.sol
│   │   │   │   ├── NonfungibleTokenPositionDescriptor.sol
│   │   │   │   ├── SwapRouter.sol
│   │   │   │   ├── base/
│   │   │   │   │   ├── BlockTimestamp.sol
│   │   │   │   │   ├── ERC721Permit.sol
│   │   │   │   │   ├── LiquidityManagement.sol
│   │   │   │   │   ├── Multicall.sol
│   │   │   │   │   ├── PeripheryImmutableState.sol
│   │   │   │   │   ├── PeripheryPayments.sol
│   │   │   │   │   ├── PeripheryPaymentsWithFee.sol
│   │   │   │   │   ├── PeripheryValidation.sol
│   │   │   │   │   ├── PoolInitializer.sol
│   │   │   │   │   └── SelfPermit.sol
│   │   │   │   ├── interfaces/
│   │   │   │   │   ├── IERC20Metadata.sol
│   │   │   │   │   ├── IERC721Permit.sol
│   │   │   │   │   ├── IMulticall.sol
│   │   │   │   │   ├── INonfungiblePositionManager.sol
│   │   │   │   │   ├── INonfungibleTokenPositionDescriptor.sol
│   │   │   │   │   ├── IPeripheryImmutableState.sol
│   │   │   │   │   ├── IPeripheryPayments.sol
│   │   │   │   │   ├── IPeripheryPaymentsWithFee.sol
│   │   │   │   │   ├── IPoolInitializer.sol
│   │   │   │   │   ├── IQuoter.sol
│   │   │   │   │   ├── IQuoterV2.sol
│   │   │   │   │   ├── ISelfPermit.sol
│   │   │   │   │   ├── ISwapRouter.sol
│   │   │   │   │   ├── ITickLens.sol
│   │   │   │   │   ├── IV3Migrator.sol
│   │   │   │   │   └── external/
│   │   │   │   │       ├── IERC1271.sol
│   │   │   │   │       └── IERC20PermitAllowed.sol
│   │   │   │   ├── lens/
│   │   │   │   │   ├── Quoter.sol
│   │   │   │   │   ├── QuoterV2.sol
│   │   │   │   │   ├── TickLens.sol
│   │   │   │   │   └── UniswapInterfaceMulticall.sol
│   │   │   │   └── libraries/
│   │   │   │       ├── AddressStringUtil.sol
│   │   │   │       ├── BytesLib.sol
│   │   │   │       ├── CallbackValidation.sol
│   │   │   │       ├── ChainId.sol
│   │   │   │       ├── HexStrings.sol
│   │   │   │       ├── LiquidityAmounts.sol
│   │   │   │       ├── NFTDescriptor.sol
│   │   │   │       ├── NFTSVG.sol
│   │   │   │       ├── OracleLibrary.sol
│   │   │   │       ├── Path.sol
│   │   │   │       ├── PoolAddress.sol
│   │   │   │       ├── PoolTicksCounter.sol
│   │   │   │       ├── PositionKey.sol
│   │   │   │       ├── PositionValue.sol
│   │   │   │       ├── SafeERC20Namer.sol
│   │   │   │       ├── SqrtPriceMathPartial.sol
│   │   │   │       ├── TokenRatioSortOrder.sol
│   │   │   │       ├── TransferHelper.sol
│   │   │   │       └── UniswapV3Broker.sol
│   │   │   └── token/
│   │   │       └── AGENTToken.sol
│   │   ├── deploy/
│   │   │   ├── apechain/
│   │   │   │   └── deployed.json
│   │   │   ├── arbitrum/
│   │   │   │   └── deployed.json
│   │   │   ├── base/
│   │   │   │   └── deployed.json
│   │   │   ├── bittensor/
│   │   │   │   └── deployed.json
│   │   │   ├── bsc/
│   │   │   │   └── deployed.json
│   │   │   ├── helpers.ts
│   │   │   ├── migrations.ts
│   │   │   └── types.ts
│   │   ├── hardhat.config.ts
│   │   ├── package.json
│   │   └── tsconfig.json
│   ├── agent-orchestration/
│   │   ├── README.md
│   │   ├── backend/
│   │   │   ├── .cursorignore
│   │   │   ├── .gitignore
│   │   │   ├── Dockerfile
│   │   │   ├── Dockerfile.compose
│   │   │   ├── apis/
│   │   │   │   ├── api_admin.go
│   │   │   │   ├── api_agent.go
│   │   │   │   ├── api_agent_assistant.go
│   │   │   │   ├── api_agent_infer.go
│   │   │   │   ├── api_agent_infra.go
│   │   │   │   ├── api_agent_trade.go
│   │   │   │   ├── api_external_wallet.go
│   │   │   │   ├── api_infra_twitter_app.go
│   │   │   │   ├── api_internal.go
│   │   │   │   ├── api_key_subscription.go
│   │   │   │   ├── api_knowledge.go
│   │   │   │   ├── api_pump.go
│   │   │   │   ├── api_robot.go
│   │   │   │   ├── api_sample_twitter_app.go
│   │   │   │   ├── api_store.go
│   │   │   │   ├── api_store_trading_app.go
│   │   │   │   ├── api_user.go
│   │   │   │   ├── api_vibe.go
│   │   │   │   ├── apis.go
│   │   │   │   ├── middlewares.go
│   │   │   │   └── routers.go
│   │   │   ├── compose.yaml
│   │   │   ├── configs/
│   │   │   │   ├── config.json.local
│   │   │   │   ├── config.json.sample
│   │   │   │   ├── configs.go
│   │   │   │   └── mission_token.go
│   │   │   ├── daos/
│   │   │   │   ├── agent_chain_fee.go
│   │   │   │   ├── agent_dao.go
│   │   │   │   ├── agent_eai_topup.go
│   │   │   │   ├── agent_external_info.go
│   │   │   │   ├── agent_info.go
│   │   │   │   ├── agent_info_install.go
│   │   │   │   ├── agent_info_knowledge_base.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_snapshot_mission.go
│   │   │   │   ├── agent_snapshot_post.go
│   │   │   │   ├── agent_snapshot_post_action.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_store_install.go
│   │   │   │   ├── agent_store_mission.go
│   │   │   │   ├── agent_store_try.go
│   │   │   │   ├── agent_store_try_detail.go
│   │   │   │   ├── agent_token_dao.go
│   │   │   │   ├── agent_trade_token.go
│   │   │   │   ├── agent_twitter_post.go
│   │   │   │   ├── agent_wallet.go
│   │   │   │   ├── agent_wallet_action.go
│   │   │   │   ├── api_subscription_history.go
│   │   │   │   ├── api_subscription_key.go
│   │   │   │   ├── api_subscription_package.go
│   │   │   │   ├── api_subscription_usage_log.go
│   │   │   │   ├── batch_infer_history.go
│   │   │   │   ├── block_scan_info.go
│   │   │   │   ├── chain_config.go
│   │   │   │   ├── daos.go
│   │   │   │   ├── external_wallet.go
│   │   │   │   ├── external_wallet_order.go
│   │   │   │   ├── external_wallet_token.go
│   │   │   │   ├── infra_twiiter_app.go
│   │   │   │   ├── job_config.go
│   │   │   │   ├── launchpad.go
│   │   │   │   ├── launchpad_member.go
│   │   │   │   ├── launchpad_transaction.go
│   │   │   │   ├── meme_fees_collected.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── mission_store_history.go
│   │   │   │   ├── mission_store_rating.go
│   │   │   │   ├── model_market.go
│   │   │   │   ├── model_predict_history.go
│   │   │   │   ├── robot_dao.go
│   │   │   │   ├── sample_twiiter_app.go
│   │   │   │   ├── store_trading_app.go
│   │   │   │   ├── training_request.go
│   │   │   │   ├── training_request_erc20_info.go
│   │   │   │   ├── twitter_following.go
│   │   │   │   ├── twitter_post.go
│   │   │   │   ├── twitter_tweet.go
│   │   │   │   ├── twitter_tweet_liked.go
│   │   │   │   ├── twitter_user.go
│   │   │   │   ├── user_dao.go
│   │   │   │   ├── user_transaction.go
│   │   │   │   ├── vibe.go
│   │   │   │   └── zk_sync_network.go
│   │   │   ├── databases/
│   │   │   │   └── database.go
│   │   │   ├── errs/
│   │   │   │   └── errors.go
│   │   │   ├── go.mod
│   │   │   ├── go.sum
│   │   │   ├── helpers/
│   │   │   │   ├── auth.go
│   │   │   │   ├── copier.go
│   │   │   │   ├── crypto.go
│   │   │   │   ├── file.go
│   │   │   │   ├── http_request.go
│   │   │   │   ├── json.go
│   │   │   │   ├── net.go
│   │   │   │   ├── rand.go
│   │   │   │   ├── recaptcha.go
│   │   │   │   ├── sign.go
│   │   │   │   ├── time.go
│   │   │   │   ├── tpl.go
│   │   │   │   ├── twitter.go
│   │   │   │   ├── univ3.go
│   │   │   │   └── utils.go
│   │   │   ├── internal/
│   │   │   │   ├── core/
│   │   │   │   │   └── ports/
│   │   │   │   │       ├── agent_info.go
│   │   │   │   │       ├── app_config.go
│   │   │   │   │       ├── knowledge_ports.go
│   │   │   │   │       └── scraper_ports.go
│   │   │   │   ├── repository/
│   │   │   │   │   ├── agent_info_knowledge_base_repo.go
│   │   │   │   │   ├── agent_info_repo.go
│   │   │   │   │   ├── app_config.go
│   │   │   │   │   ├── knowledge_base_file_repo.go
│   │   │   │   │   └── knowledge_base_repo.go
│   │   │   │   └── usecase/
│   │   │   │       ├── agent_info/
│   │   │   │       │   └── agent_info.go
│   │   │   │       ├── appconfig/
│   │   │   │       │   └── appconfig_usecase.go
│   │   │   │       └── knowledge/
│   │   │   │           └── knowledge_usecase.go
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   ├── models/
│   │   │   │   ├── agent.go
│   │   │   │   ├── agent_info_knowledege_bases.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_snapshot_post.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_wallet.go
│   │   │   │   ├── api_subscription.go
│   │   │   │   ├── app_configs.go
│   │   │   │   ├── external_wallet.go
│   │   │   │   ├── infer.go
│   │   │   │   ├── infra_twitter_app.go
│   │   │   │   ├── knowledge_base.go
│   │   │   │   ├── launchpad.go
│   │   │   │   ├── llm_model.go
│   │   │   │   ├── meme.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── models.go
│   │   │   │   ├── robot.go
│   │   │   │   ├── sample_twiiter_app.go
│   │   │   │   ├── store_trading_app.go
│   │   │   │   ├── tokens.go
│   │   │   │   ├── twitter_post.go
│   │   │   │   ├── users.go
│   │   │   │   └── vibe.go
│   │   │   ├── pkg/
│   │   │   │   ├── drivers/
│   │   │   │   │   └── mysql/
│   │   │   │   │       ├── action.go
│   │   │   │   │       ├── base.go
│   │   │   │   │       ├── filter.go
│   │   │   │   │       ├── gorm_connection.go
│   │   │   │   │       ├── mysql_config.go
│   │   │   │   │       └── mysql_connection.go
│   │   │   │   ├── encrypt/
│   │   │   │   │   └── encrypt.go
│   │   │   │   ├── eth/
│   │   │   │   │   └── client.go
│   │   │   │   ├── scraper/
│   │   │   │   │   └── colly/
│   │   │   │   │       ├── colly.go
│   │   │   │   │       └── colly_test.go
│   │   │   │   ├── secret_manager/
│   │   │   │   │   └── secret_manager.go
│   │   │   │   └── utils/
│   │   │   │       ├── copier.go
│   │   │   │       ├── crypto.go
│   │   │   │       ├── scraper.go
│   │   │   │       ├── solana.go
│   │   │   │       ├── solana_test.go
│   │   │   │       ├── string_utils.go
│   │   │   │       └── utils.go
│   │   │   ├── serializers/
│   │   │   │   ├── agent_assistant_serializers.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_serializers.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_token_serializers.go
│   │   │   │   ├── api_key_subscription.go
│   │   │   │   ├── external_wallet_serializers.go
│   │   │   │   ├── infer_req.go
│   │   │   │   ├── knowledge_serializers.go
│   │   │   │   ├── launchpad_serializers.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── preview_serializers.go
│   │   │   │   ├── pump_serializers.go
│   │   │   │   ├── reqs.go
│   │   │   │   ├── resps.go
│   │   │   │   ├── robot_serializers.go
│   │   │   │   ├── token_holder_serializers.go
│   │   │   │   ├── user_serializers.go
│   │   │   │   ├── user_transaction.go
│   │   │   │   └── vibe_serializers.go
│   │   │   ├── server.go
│   │   │   ├── server_test.go
│   │   │   ├── services/
│   │   │   │   ├── 3rd/
│   │   │   │   │   ├── aidojo/
│   │   │   │   │   │   └── aidojo.go
│   │   │   │   │   ├── binds/
│   │   │   │   │   │   ├── agentfactory/
│   │   │   │   │   │   │   ├── AgentFactory.go
│   │   │   │   │   │   │   ├── AgentFactory.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── agentshares/
│   │   │   │   │   │   │   ├── AgentShares.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── agenttoken/
│   │   │   │   │   │   │   └── AGENTToken.go
│   │   │   │   │   │   ├── agentupgradeable/
│   │   │   │   │   │   │   ├── AgentUpgradeable.go
│   │   │   │   │   │   │   ├── AgentUpgradeable.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── aikb721/
│   │   │   │   │   │   │   ├── KB721.abi
│   │   │   │   │   │   │   └── kb_721.go
│   │   │   │   │   │   ├── apechainnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── apechainpool/
│   │   │   │   │   │   │   ├── Pool.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── arbitrumfactory/
│   │   │   │   │   │   │   ├── Factory.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── arbitrumnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── arbitrumpool/
│   │   │   │   │   │   │   ├── Pool.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── avaxnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── basenonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── basequoterv2/
│   │   │   │   │   │   │   ├── QuoterV2.go
│   │   │   │   │   │   │   ├── abi.json
│   │   │   │   │   │   │   └── extras.go
│   │   │   │   │   │   ├── baseswaprouter02/
│   │   │   │   │   │   │   ├── SwapRouter02.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── bridge/
│   │   │   │   │   │   │   └── Bridge.go
│   │   │   │   │   │   ├── bscfactory/
│   │   │   │   │   │   │   ├── Factory.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── bscnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── bscpool/
│   │   │   │   │   │   │   ├── Pool.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── celononfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   ├── abi.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── dagent721/
│   │   │   │   │   │   │   ├── Dagent721.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── daotoken/
│   │   │   │   │   │   │   └── DAOToken.go
│   │   │   │   │   │   ├── daotreasury/
│   │   │   │   │   │   │   └── DAOTreasury.go
│   │   │   │   │   │   ├── erc1155/
│   │   │   │   │   │   │   └── ERC1155.go
│   │   │   │   │   │   ├── erc20/
│   │   │   │   │   │   │   └── erc20.go
│   │   │   │   │   │   ├── erc20realworldagent/
│   │   │   │   │   │   │   ├── ERC20RealWorldAgent.go
│   │   │   │   │   │   │   ├── ERC20RealWorldAgent.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── erc20utilityagent/
│   │   │   │   │   │   │   ├── ERC20UtilityAgent.go
│   │   │   │   │   │   │   ├── ERC20UtilityAgent.json
│   │   │   │   │   │   │   └── abigen.sh
│   │   │   │   │   │   ├── erc721/
│   │   │   │   │   │   │   └── erc721.go
│   │   │   │   │   │   ├── ethereumnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── filestore/
│   │   │   │   │   │   │   └── FileStore.json
│   │   │   │   │   │   ├── gpumanager/
│   │   │   │   │   │   │   ├── GPUManagerr.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── iagenttokendeployer/
│   │   │   │   │   │   │   └── IAGENTTokenDeployer.go
│   │   │   │   │   │   ├── ihybridmodel/
│   │   │   │   │   │   │   └── IHybridModel.go
│   │   │   │   │   │   ├── imagehub/
│   │   │   │   │   │   │   └── ImageHub.go
│   │   │   │   │   │   ├── isystempromptmanager/
│   │   │   │   │   │   │   └── ISystemPromptManager.go
│   │   │   │   │   │   ├── iv3swaprouter/
│   │   │   │   │   │   │   └── IV3SwapRouter.go
│   │   │   │   │   │   ├── iworkerhub/
│   │   │   │   │   │   │   └── workerhub.go
│   │   │   │   │   │   ├── memenonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── memequoter/
│   │   │   │   │   │   │   ├── QuoterV2.go
│   │   │   │   │   │   │   └── extras.go
│   │   │   │   │   │   ├── memeswaprouter/
│   │   │   │   │   │   │   └── SwapRouter.go
│   │   │   │   │   │   ├── multisend/
│   │   │   │   │   │   │   └── MultiSend.go
│   │   │   │   │   │   ├── orderpayment/
│   │   │   │   │   │   │   ├── OrderPayment.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── polygonnonfungiblepositionmanager/
│   │   │   │   │   │   │   ├── NonfungiblePositionManager.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── proxyadmin/
│   │   │   │   │   │   │   └── ProxyAdmin.go
│   │   │   │   │   │   ├── sunpumplaunchpad/
│   │   │   │   │   │   │   ├── SunpumpLaunchpad.go
│   │   │   │   │   │   │   └── abi.json
│   │   │   │   │   │   ├── systempromptmanager/
│   │   │   │   │   │   │   └── SystemPromptManager.go
│   │   │   │   │   │   ├── tokenfactory/
│   │   │   │   │   │   │   └── TokenFactory.go
│   │   │   │   │   │   ├── transparentupgradeableproxy/
│   │   │   │   │   │   │   └── TransparentUpgradeableProxy.go
│   │   │   │   │   │   ├── transparentupgradeableproxyzk/
│   │   │   │   │   │   │   └── TransparentUpgradeableProxy.go
│   │   │   │   │   │   ├── uniswapv3factory/
│   │   │   │   │   │   │   └── UniswapV3Factory.go
│   │   │   │   │   │   ├── uniswapv3pool/
│   │   │   │   │   │   │   └── UniswapV3Pool.go
│   │   │   │   │   │   ├── vibetokenfactory/
│   │   │   │   │   │   │   └── VibeTokenFactory.go
│   │   │   │   │   │   ├── wbvm/
│   │   │   │   │   │   │   └── WBVM.go
│   │   │   │   │   │   ├── workerhub/
│   │   │   │   │   │   │   └── workerhub.go
│   │   │   │   │   │   └── zksyncnonfungiblepositionmanager/
│   │   │   │   │   │       ├── NonfungiblePositionManager.go
│   │   │   │   │   │       └── abi.json
│   │   │   │   │   ├── blockchain_utils/
│   │   │   │   │   │   └── blockchain_utils.go
│   │   │   │   │   ├── bridgeapi/
│   │   │   │   │   │   └── bridge_api.go
│   │   │   │   │   ├── btcapi/
│   │   │   │   │   │   ├── blockchain.go
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── hiroso.go
│   │   │   │   │   │   ├── mempool.go
│   │   │   │   │   │   └── sdk.go
│   │   │   │   │   ├── clanker/
│   │   │   │   │   │   └── clanker_client.go
│   │   │   │   │   ├── coingecko/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── coinmarketcap/
│   │   │   │   │   │   └── coin_market_cap.go
│   │   │   │   │   ├── core/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── deep_research/
│   │   │   │   │   │   └── deep_research.go
│   │   │   │   │   ├── delegate_cash/
│   │   │   │   │   │   └── delegate_cash.go
│   │   │   │   │   ├── dexscreener/
│   │   │   │   │   │   ├── dexscreener.go
│   │   │   │   │   │   └── dexscreener_wss.go
│   │   │   │   │   ├── eth/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── ethapi/
│   │   │   │   │   │   ├── agenttoken.go
│   │   │   │   │   │   ├── agentupgradeable.go
│   │   │   │   │   │   ├── apechain_swapv3.go
│   │   │   │   │   │   ├── arbitrum_swapv3.go
│   │   │   │   │   │   ├── avax_swapv3.go
│   │   │   │   │   │   ├── base_swapv3.go
│   │   │   │   │   │   ├── bsc_swapv3.go
│   │   │   │   │   │   ├── celo_swapv3.go
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── dagent721.go
│   │   │   │   │   │   ├── daotoken.go
│   │   │   │   │   │   ├── daotreasury.go
│   │   │   │   │   │   ├── erc20.go
│   │   │   │   │   │   ├── erc20realworldagent.go
│   │   │   │   │   │   ├── erc20utilityagent.go
│   │   │   │   │   │   ├── erc721.go
│   │   │   │   │   │   ├── ethereum_swapv3.go
│   │   │   │   │   │   ├── events.go
│   │   │   │   │   │   ├── external_events.go
│   │   │   │   │   │   ├── gpumanager.go
│   │   │   │   │   │   ├── iagenttokendeployer.go
│   │   │   │   │   │   ├── iv3swaprouter.go
│   │   │   │   │   │   ├── meme_swapv3.go
│   │   │   │   │   │   ├── multisend.go
│   │   │   │   │   │   ├── polygon_swapv3.go
│   │   │   │   │   │   ├── proxyadmin.go
│   │   │   │   │   │   ├── systempromptmanager.go
│   │   │   │   │   │   ├── tokenfactory.go
│   │   │   │   │   │   ├── transparentupgradeableproxy.go
│   │   │   │   │   │   ├── univ3.go
│   │   │   │   │   │   ├── vibe_token.go
│   │   │   │   │   │   └── workerhub.go
│   │   │   │   │   ├── evmapi/
│   │   │   │   │   │   └── base.go
│   │   │   │   │   ├── googlestorage/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── hiro/
│   │   │   │   │   │   ├── hiro.go
│   │   │   │   │   │   └── structs.go
│   │   │   │   │   ├── lighthouse/
│   │   │   │   │   │   ├── lighthouse.go
│   │   │   │   │   │   ├── zip_upload.go
│   │   │   │   │   │   └── zip_upload_test.go
│   │   │   │   │   ├── magiceden/
│   │   │   │   │   │   ├── magiceden.go
│   │   │   │   │   │   ├── magiceden_hardcode.go
│   │   │   │   │   │   └── structs.go
│   │   │   │   │   ├── moralis/
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── moralis.go
│   │   │   │   │   │   └── structure.go
│   │   │   │   │   ├── openai/
│   │   │   │   │   │   ├── openai.go
│   │   │   │   │   │   └── utils.go
│   │   │   │   │   ├── opensea/
│   │   │   │   │   │   ├── opensea.go
│   │   │   │   │   │   └── structures.go
│   │   │   │   │   ├── privy/
│   │   │   │   │   │   └── privy_client.go
│   │   │   │   │   ├── pumfun/
│   │   │   │   │   │   └── client.go
│   │   │   │   │   ├── rapid/
│   │   │   │   │   │   └── rapid.go
│   │   │   │   │   ├── taapi/
│   │   │   │   │   │   └── taapi.go
│   │   │   │   │   ├── telegram/
│   │   │   │   │   │   └── telegram.go
│   │   │   │   │   ├── trxapi/
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── common.go
│   │   │   │   │   │   ├── sunpumplaunchpad.go
│   │   │   │   │   │   ├── systempromptmanager.go
│   │   │   │   │   │   └── trx20.go
│   │   │   │   │   ├── twitter/
│   │   │   │   │   │   ├── auth.go
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── common_obj.go
│   │   │   │   │   │   ├── error_obj.go
│   │   │   │   │   │   ├── exclude.go
│   │   │   │   │   │   ├── expansions.go
│   │   │   │   │   │   ├── media_obj.go
│   │   │   │   │   │   ├── place_obj.go
│   │   │   │   │   │   ├── poll_obj.go
│   │   │   │   │   │   ├── tweet.go
│   │   │   │   │   │   ├── tweet_obj.go
│   │   │   │   │   │   ├── tweet_params.go
│   │   │   │   │   │   ├── upload_video.go
│   │   │   │   │   │   ├── user.go
│   │   │   │   │   │   ├── user_obj.go
│   │   │   │   │   │   ├── user_params.go
│   │   │   │   │   │   └── wrap_api.go
│   │   │   │   │   ├── zkapi/
│   │   │   │   │   │   ├── client.go
│   │   │   │   │   │   ├── erc1155.go
│   │   │   │   │   │   ├── erc20.go
│   │   │   │   │   │   ├── erc721.go
│   │   │   │   │   │   ├── hybridmodel.go
│   │   │   │   │   │   ├── image_hub.go
│   │   │   │   │   │   ├── systempromptmanager.go
│   │   │   │   │   │   ├── transparentupgradeableproxy.go
│   │   │   │   │   │   └── zksync_swapv3.go
│   │   │   │   │   └── zkclient/
│   │   │   │   │       └── client.go
│   │   │   │   ├── agent_abilities_job.go
│   │   │   │   ├── agent_abilities_luckymoney.go
│   │   │   │   ├── agent_abilities_telebot.go
│   │   │   │   ├── agent_abilities_twitter.go
│   │   │   │   ├── agent_analytic.go
│   │   │   │   ├── agent_balances.go
│   │   │   │   ├── agent_brains.go
│   │   │   │   ├── agent_create_agent_srv.go
│   │   │   │   ├── agent_create_token_video.go
│   │   │   │   ├── agent_infer.go
│   │   │   │   ├── agent_infer_job.go
│   │   │   │   ├── agent_infra.go
│   │   │   │   ├── agent_knowledgebase.go
│   │   │   │   ├── agent_launchpad.go
│   │   │   │   ├── agent_launchpad_job.go
│   │   │   │   ├── agent_library.go
│   │   │   │   ├── agent_manage.go
│   │   │   │   ├── agent_mints.go
│   │   │   │   ├── agent_nfts.go
│   │   │   │   ├── agent_report.go
│   │   │   │   ├── agent_srv.go
│   │   │   │   ├── agent_store.go
│   │   │   │   ├── agent_token_srv.go
│   │   │   │   ├── agent_trading.go
│   │   │   │   ├── agent_twin_trains.go
│   │   │   │   ├── agent_utilities.go
│   │   │   │   ├── agent_video.go
│   │   │   │   ├── api_subscription_srv.go
│   │   │   │   ├── blockchain_subcriber.go
│   │   │   │   ├── blockchain_subcriber_job.go
│   │   │   │   ├── dex_srv.go
│   │   │   │   ├── external_wallet_srv.go
│   │   │   │   ├── infra_twitter_app.go
│   │   │   │   ├── internal_srv.go
│   │   │   │   ├── ipfs.go
│   │   │   │   ├── job_srv.go
│   │   │   │   ├── knowledge_base_job.go
│   │   │   │   ├── mission_store.go
│   │   │   │   ├── redis_srv.go
│   │   │   │   ├── robot_srv.go
│   │   │   │   ├── sample_twitter_app.go
│   │   │   │   ├── service.go
│   │   │   │   ├── store_trading_app.go
│   │   │   │   ├── telegram.go
│   │   │   │   ├── token_liquidity.go
│   │   │   │   ├── token_liquidity_events.go
│   │   │   │   ├── token_liquidity_job.go
│   │   │   │   ├── twitter_job.go
│   │   │   │   ├── user_srv.go
│   │   │   │   ├── vibe_srv.go
│   │   │   │   └── video_magic_prompt.go
│   │   │   └── types/
│   │   │       └── numeric/
│   │   │           ├── address.go
│   │   │           ├── bigints.go
│   │   │           ├── common.go
│   │   │           ├── hash.go
│   │   │           ├── hex.go
│   │   │           ├── numeric.go
│   │   │           └── quote_uint64s.go
│   │   ├── core/
│   │   │   ├── cmd/
│   │   │   │   └── api/
│   │   │   │       └── main.go
│   │   │   ├── common/
│   │   │   │   └── database/
│   │   │   │       └── database.go
│   │   │   ├── config/
│   │   │   │   └── config.json.sample
│   │   │   ├── domain/
│   │   │   │   ├── errors.go
│   │   │   │   └── wallet.go
│   │   │   ├── go.mod
│   │   │   ├── go.sum
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   ├── modules/
│   │   │   │   └── wallet/
│   │   │   │       ├── delivery/
│   │   │   │       │   └── http/
│   │   │   │       │       └── handler.go
│   │   │   │       ├── repository/
│   │   │   │       │   └── mysql/
│   │   │   │       │       └── mysql.go
│   │   │   │       └── usecase/
│   │   │   │           └── usecase.go
│   │   │   ├── pkg/
│   │   │   │   └── core/
│   │   │   │       ├── core.go
│   │   │   │       └── wallet/
│   │   │   │           └── wallet.go
│   │   │   ├── serializers/
│   │   │   │   └── serializers.go
│   │   │   ├── server/
│   │   │   │   └── http.go
│   │   │   └── utils/
│   │   │       ├── blowfish.go
│   │   │       ├── ip.go
│   │   │       ├── map.go
│   │   │       └── utils.go
│   │   ├── lib-services/
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── contants.ts
│   │   │   │   ├── core/
│   │   │   │   │   └── index.ts
│   │   │   │   ├── neynar.ts
│   │   │   │   ├── raydium.ts
│   │   │   │   ├── server.ts
│   │   │   │   └── utils.ts
│   │   │   ├── tsconfig-scryptTS.json
│   │   │   └── tsconfig.json
│   │   ├── md.go
│   │   └── remote-service/
│   │       ├── .cursorignore
│   │       ├── .gitignore
│   │       ├── cmd/
│   │       │   ├── client/
│   │       │   │   └── main.go
│   │       │   └── server/
│   │       │       ├── discover/
│   │       │       │   └── discover.go
│   │       │       └── main.go
│   │       ├── go.mod
│   │       ├── go.sum
│   │       └── proto/
│   │           ├── script.sh
│   │           ├── script_service.pb.go
│   │           ├── script_service.proto
│   │           └── script_service_grpc.pb.go
│   ├── characters/
│   │   └── luna.character.ts
│   ├── dagent/
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── agent/
│   │   │   │   └── index.ts
│   │   │   ├── dagentCharacter.ts
│   │   │   ├── direct/
│   │   │   │   ├── constant.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── service.ts
│   │   │   │   └── utils.ts
│   │   │   ├── storage/
│   │   │   │   └── index.ts
│   │   │   └── utils/
│   │   │       ├── environment.ts
│   │   │       └── helpers.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── lerna.json
│   ├── package.json
│   ├── plugins/
│   │   ├── client-dagent/
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── dagent-farcaster.ts
│   │   │   │   ├── dagent-twitter.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   ├── core/
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── base-dagent.ts
│   │   │   │   ├── client/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── base.ts
│   │   │   │   │   └── index.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── logger.ts
│   │   │   │   ├── store/
│   │   │   │   │   └── store.ts
│   │   │   │   ├── types/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── api.ts
│   │   │   │   │   ├── chain.ts
│   │   │   │   │   ├── character.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── store.ts
│   │   │   │   │   └── token.ts
│   │   │   │   └── utils/
│   │   │   │       └── generation.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   ├── plugin-direct/
│   │   │   ├── README.md
│   │   │   ├── nodemon.json
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   └── index.ts
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   ├── plugin-farcaster/
│   │   │   ├── package.json
│   │   │   ├── src/
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── tsconfig.build.json
│   │   │   ├── tsconfig.json
│   │   │   └── tsup.config.ts
│   │   └── plugin-twitter/
│   │       ├── package.json
│   │       ├── src/
│   │       │   ├── index.ts
│   │       │   └── types.ts
│   │       ├── tsconfig.build.json
│   │       ├── tsconfig.json
│   │       └── tsup.config.ts
│   ├── scripts/
│   │   ├── comma.js
│   │   └── start-dagent.js
│   └── tsconfig.json
├── agent-cli/
│   ├── bin/
│   │   └── eai.js
│   ├── install.sh
│   ├── package.json
│   ├── src/
│   │   ├── const.ts
│   │   ├── eliza/
│   │   │   ├── Dockerfile
│   │   │   ├── config.json
│   │   │   ├── sample.sh
│   │   │   └── start.sh
│   │   ├── eternalai/
│   │   │   ├── Dockerfile
│   │   │   ├── chat.sh
│   │   │   ├── default_config.json
│   │   │   ├── default_local_contracts.json
│   │   │   └── start.sh
│   │   ├── handler.ts
│   │   ├── log.ts
│   │   ├── main.ts
│   │   ├── manager.ts
│   │   ├── mintv1.ts
│   │   ├── mintv2.ts
│   │   ├── model_handler.ts
│   │   ├── rig/
│   │   │   ├── Dockerfile
│   │   │   ├── agent_with_eternalai.rs
│   │   │   └── start.sh
│   │   └── utils.ts
│   ├── tsconfig.json
│   └── tsup.config.ts
├── agent-launcher/
│   ├── .eslintrc.cjs
│   ├── .gitignore
│   ├── README.md
│   ├── crypto-agents/
│   │   ├── README.md
│   │   └── js/
│   │       ├── twitter-dm/
│   │       │   ├── .dockerignore
│   │       │   ├── .gitignore
│   │       │   ├── Dockerfile
│   │       │   ├── README.md
│   │       │   ├── docker-compose.yml
│   │       │   ├── package.json
│   │       │   ├── src/
│   │       │   │   ├── prompt/
│   │       │   │   │   └── index.ts
│   │       │   │   ├── server.ts
│   │       │   │   ├── types/
│   │       │   │   │   └── chat.ts
│   │       │   │   └── utils/
│   │       │   │       └── logger.ts
│   │       │   └── tsconfig.json
│   │       └── twitter-infra/
│   │           ├── .gitignore
│   │           ├── Dockerfile
│   │           ├── README.md
│   │           ├── package.json
│   │           └── src/
│   │               ├── index.ts
│   │               └── prompt/
│   │                   ├── index.ts
│   │                   └── types.ts
│   ├── electron/
│   │   ├── electron-env.d.ts
│   │   ├── main.ts
│   │   └── preload.ts
│   ├── electron-builder.json5
│   ├── index.html
│   ├── package.json
│   ├── src/
│   │   ├── App.tsx
│   │   ├── components/
│   │   │   ├── header/
│   │   │   │   ├── index.tsx
│   │   │   │   ├── menu/
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── menuConfig.ts
│   │   │   │   │   └── styles.module.scss
│   │   │   │   ├── styles.module.scss
│   │   │   │   └── wallet/
│   │   │   │       ├── index.tsx
│   │   │   │       └── styles.module.scss
│   │   │   └── layout/
│   │   │       ├── index.tsx
│   │   │       └── styles.module.scss
│   │   ├── constants/
│   │   │   └── route-path.ts
│   │   ├── hooks/
│   │   │   └── useOnClickOutSide.ts
│   │   ├── main.tsx
│   │   ├── pages/
│   │   │   ├── home/
│   │   │   │   ├── chat-agent/
│   │   │   │   │   ├── bundle.js
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   ├── provider/
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── interface.ts
│   │   │   │   └── trade-agent/
│   │   │   │       ├── form-trade/
│   │   │   │       │   └── index.tsx
│   │   │   │       ├── index.tsx
│   │   │   │       └── styles.module.scss
│   │   │   └── mine/
│   │   │       ├── __mock__/
│   │   │       │   └── nodes.ts
│   │   │       ├── components/
│   │   │       │   ├── button-base/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── card-base/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── config-info-card/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   └── node-card/
│   │   │       │       ├── index.tsx
│   │   │       │       └── styles.module.scss
│   │   │       ├── features/
│   │   │       │   ├── header/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── node-actions/
│   │   │       │   │   └── index.tsx
│   │   │       │   ├── node-config-info/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   ├── node-device-info/
│   │   │       │   │   ├── index.tsx
│   │   │       │   │   └── styles.module.scss
│   │   │       │   └── node-list/
│   │   │       │       ├── index.tsx
│   │   │       │       └── styles.module.scss
│   │   │       ├── index.tsx
│   │   │       └── stores/
│   │   │           └── useNodes.ts
│   │   ├── styles/
│   │   │   └── global.scss
│   │   ├── types/
│   │   │   └── data.ts
│   │   ├── utils/
│   │   │   ├── data.ts
│   │   │   └── extension.ts
│   │   ├── vite-env.d.ts
│   │   └── worker.js
│   ├── tsconfig.json
│   ├── tsconfig.node.json
│   └── vite.config.ts
├── agent-studio/
│   ├── .eslint.config.js
│   ├── .gitignore
│   ├── .npmrc
│   ├── .yarnrc.yml
│   ├── README.md
│   ├── lerna.json
│   ├── package.json
│   ├── packages/
│   │   ├── studio-app/
│   │   │   ├── .gitignore
│   │   │   ├── README.md
│   │   │   ├── package.json
│   │   │   ├── public/
│   │   │   │   ├── index.html
│   │   │   │   ├── manifest.json
│   │   │   │   └── robots.txt
│   │   │   ├── src/
│   │   │   │   ├── App.module.scss
│   │   │   │   ├── App.test.tsx
│   │   │   │   ├── App.tsx
│   │   │   │   ├── categories/
│   │   │   │   │   ├── ai-framework/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── eliza/
│   │   │   │   │   │   │   ├── ElizaFramework/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── blockchains/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── categories.ts
│   │   │   │   │   ├── decentralize-inference/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── defi/
│   │   │   │   │   │   └── tradeAnalytics/
│   │   │   │   │   │       ├── CustomRenderer/
│   │   │   │   │   │       │   ├── Fields/
│   │   │   │   │   │       │   │   ├── FrequencyField.tsx
│   │   │   │   │   │       │   │   └── TokenField.tsx
│   │   │   │   │   │       │   └── index.tsx
│   │   │   │   │   │       ├── types.ts
│   │   │   │   │   │       └── validates/
│   │   │   │   │   │           ├── create.ts
│   │   │   │   │   │           ├── index.ts
│   │   │   │   │   │           └── update.ts
│   │   │   │   │   ├── farcaster/
│   │   │   │   │   │   ├── postOnFarcaster/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── AiModelField.tsx
│   │   │   │   │   │   │   │   │   ├── DetailsField.tsx
│   │   │   │   │   │   │   │   │   └── FrequencyField.tsx
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   │   └── validates/
│   │   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │   │       └── update.ts
│   │   │   │   │   │   ├── replyOnFarcaster/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── AiModelField.tsx
│   │   │   │   │   │   │   │   │   ├── DetailsField.tsx
│   │   │   │   │   │   │   │   │   └── FrequencyField.tsx
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   │   └── validates/
│   │   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │   │       └── update.ts
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── new-agent/
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── persisted-agent.ts
│   │   │   │   │   ├── personalities/
│   │   │   │   │   │   ├── ReviewNft.tsx
│   │   │   │   │   │   ├── helpers.ts
│   │   │   │   │   │   ├── import-from-nft/
│   │   │   │   │   │   │   ├── ImportFromNft/
│   │   │   │   │   │   │   │   ├── CollectionModal/
│   │   │   │   │   │   │   │   │   ├── CollectionListView.tsx
│   │   │   │   │   │   │   │   │   ├── CollectionNFTItem.tsx
│   │   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   │   ├── CollectionThumbItem.tsx
│   │   │   │   │   │   │   │   ├── CollectionView.tsx
│   │   │   │   │   │   │   │   ├── PersonalityView.tsx
│   │   │   │   │   │   │   │   ├── TokenIdView.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── import-from-ordinals/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── CollectionModal/
│   │   │   │   │   │   │   │   │   │   ├── CollectionListView.tsx
│   │   │   │   │   │   │   │   │   │   ├── CollectionNFTItem.tsx
│   │   │   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   │   │   ├── CollectionThumbItem.tsx
│   │   │   │   │   │   │   │   │   ├── CollectionView.tsx
│   │   │   │   │   │   │   │   │   ├── PersonalityView.tsx
│   │   │   │   │   │   │   │   │   └── TokenIdView.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── import-from-token/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── ContractAddressView.tsx
│   │   │   │   │   │   │   │   │   ├── PersonalityView.tsx
│   │   │   │   │   │   │   │   │   ├── TokenNameView.tsx
│   │   │   │   │   │   │   │   │   └── TokenSymbolView.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── import-genomics/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── SelectTwitterModal/
│   │   │   │   │   │   │   │   │   ├── SelectTwitterModal.module.scss
│   │   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   │   ├── TwitterCloneTube/
│   │   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   │   ├── TwitterClonedView/
│   │   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   ├── knowledge/
│   │   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   │   ├── Fields/
│   │   │   │   │   │   │   │   │   ├── DescriptionView.tsx
│   │   │   │   │   │   │   │   │   ├── NameView.tsx
│   │   │   │   │   │   │   │   │   └── UploadFile/
│   │   │   │   │   │   │   │   │       ├── ListFiles/
│   │   │   │   │   │   │   │   │       │   ├── index.tsx
│   │   │   │   │   │   │   │   │       │   └── styles.module.scss
│   │   │   │   │   │   │   │   │       ├── index.tsx
│   │   │   │   │   │   │   │   │       └── styles.module.scss
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   │   └── validates/
│   │   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │   │       └── update.ts
│   │   │   │   │   │   ├── new-personality/
│   │   │   │   │   │   │   ├── NewPersonality/
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   ├── shared/
│   │   │   │   │   │   ├── CustomRendererNoInput/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validators/
│   │   │   │   │   │       └── index.ts
│   │   │   │   │   ├── tokens/
│   │   │   │   │   │   ├── CustomRenderer/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── validates/
│   │   │   │   │   │       ├── create.ts
│   │   │   │   │   │       ├── index.ts
│   │   │   │   │   │       └── update.ts
│   │   │   │   │   └── x/
│   │   │   │   │       ├── engageOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── followOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── postFollowingOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   ├── FetchPostsFrequencyField.tsx
│   │   │   │   │       │   │   │   ├── FrequencyField.tsx
│   │   │   │   │       │   │   │   └── styles.module.scss
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── postNewsOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   ├── FrequencyField.tsx
│   │   │   │   │       │   │   │   ├── SearchTopicField.tsx
│   │   │   │   │       │   │   │   └── styles.module.scss
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── postOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── replyOnX/
│   │   │   │   │       │   ├── CustomRenderer/
│   │   │   │   │       │   │   ├── Fields/
│   │   │   │   │       │   │   │   ├── AiModelField.tsx
│   │   │   │   │       │   │   │   ├── DetailsField.tsx
│   │   │   │   │       │   │   │   └── FrequencyField.tsx
│   │   │   │   │       │   │   └── index.tsx
│   │   │   │   │       │   ├── types.ts
│   │   │   │   │       │   └── validates/
│   │   │   │   │       │       ├── create.ts
│   │   │   │   │       │       ├── index.ts
│   │   │   │   │       │       └── update.ts
│   │   │   │   │       ├── styles.module.scss
│   │   │   │   │       └── tradingOnX/
│   │   │   │   │           ├── CustomRenderer/
│   │   │   │   │           │   ├── Fields/
│   │   │   │   │           │   │   ├── AiModelField.tsx
│   │   │   │   │           │   │   ├── DetailsField.tsx
│   │   │   │   │           │   │   └── FrequencyField.tsx
│   │   │   │   │           │   └── index.tsx
│   │   │   │   │           ├── types.ts
│   │   │   │   │           └── validates/
│   │   │   │   │               ├── create.ts
│   │   │   │   │               ├── index.ts
│   │   │   │   │               └── update.ts
│   │   │   │   ├── chakra-themes.tsx
│   │   │   │   ├── components/
│   │   │   │   │   ├── ConnectXContent/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── CustomRendererBase/
│   │   │   │   │   │   ├── CustomRendererBaseTitle.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── IconRenderer/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── LoadingRow/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── NumberCounter/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── ScreenLoading/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── SimulateTasks/
│   │   │   │   │   │   ├── ChatSimulate/
│   │   │   │   │   │   │   ├── Chat/
│   │   │   │   │   │   │   │   ├── ChatList.tsx
│   │   │   │   │   │   │   │   ├── ChatMessage.tsx
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   ├── styles.module.scss
│   │   │   │   │   │   │   │   └── types.ts
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── EngageSimulate/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── PostFollowingSimulate/
│   │   │   │   │   │   │   ├── SearchedFollowing.module.scss
│   │   │   │   │   │   │   ├── SearchedFollowing.tsx
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── PostNewsSimulate/
│   │   │   │   │   │   │   ├── SearchedNews.module.scss
│   │   │   │   │   │   │   ├── SearchedNews.tsx
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── PostSimulate/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── ReplySimulate/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── SimulateResult/
│   │   │   │   │   │   │   ├── SimulateResult.module.scss
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── constants.ts
│   │   │   │   │   │   ├── hooks/
│   │   │   │   │   │   │   └── useHandleSimulateTasks.ts
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── SvgInset/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── TextRender/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── ToastMessage/
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   ├── ToastOverlay/
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── buttons/
│   │   │   │   │   │   ├── ResetButton/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   ├── SubmitButton/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── styles.ts
│   │   │   │   │   ├── form/
│   │   │   │   │   │   ├── fields/
│   │   │   │   │   │   │   ├── StudioFieldInputPlaceholder/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioFieldLabel/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioFieldTooltip/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioHorizontalField/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── StudioVerticalField/
│   │   │   │   │   │   │       └── index.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── inputs/
│   │   │   │   │   │   │   ├── StudioDatetimeInput/
│   │   │   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   │   │   └── styles.module.scss
│   │   │   │   │   │   │   ├── StudioDropdown/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioInput/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   ├── StudioTextArea/
│   │   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   │   └── StudioToggle/
│   │   │   │   │   │   │       ├── index.tsx
│   │   │   │   │   │   │       └── styles.module.scss
│   │   │   │   │   │   ├── styles.ts
│   │   │   │   │   │   └── types.ts
│   │   │   │   │   ├── icons/
│   │   │   │   │   │   ├── LaunchIcon.tsx
│   │   │   │   │   │   ├── common.tsx
│   │   │   │   │   │   └── studio.tsx
│   │   │   │   │   └── skeleton/
│   │   │   │   │       ├── SkeletonMessage.tsx
│   │   │   │   │       ├── styles.module.scss
│   │   │   │   │       └── versions/
│   │   │   │   │           ├── SkeletonAvatar.tsx
│   │   │   │   │           ├── SkeletonCustom.tsx
│   │   │   │   │           ├── SkeletonLongText.tsx
│   │   │   │   │           ├── SkeletonShortText.tsx
│   │   │   │   │           ├── constants.ts
│   │   │   │   │           └── index.ts
│   │   │   │   ├── configs/
│   │   │   │   │   └── index.ts
│   │   │   │   ├── constants/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── category-keys.ts
│   │   │   │   │   ├── category-option-keys.ts
│   │   │   │   │   ├── default-values.ts
│   │   │   │   │   ├── mapping.ts
│   │   │   │   │   ├── models.ts
│   │   │   │   │   ├── networks.ts
│   │   │   │   │   ├── option-values.ts
│   │   │   │   │   ├── tokens.ts
│   │   │   │   │   ├── toolset.ts
│   │   │   │   │   └── validates.ts
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── useAgentDataFieldChange.ts
│   │   │   │   │   ├── useCollections.ts
│   │   │   │   │   ├── useDataValidates.ts
│   │   │   │   │   ├── useDebounce.ts
│   │   │   │   │   ├── useDetectChainIdForMissionModel.ts
│   │   │   │   │   ├── useEffectOnce.ts
│   │   │   │   │   ├── useGeneratePersonality.ts
│   │   │   │   │   ├── useLatest.ts
│   │   │   │   │   ├── useThrottle.ts
│   │   │   │   │   ├── useThrottleValue.ts
│   │   │   │   │   └── useUnmount.ts
│   │   │   │   ├── index.css
│   │   │   │   ├── index.tsx
│   │   │   │   ├── pages/
│   │   │   │   │   ├── Create/
│   │   │   │   │   │   ├── CreateButton/
│   │   │   │   │   │   │   └── index.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   └── Update/
│   │   │   │   │       ├── AutoUpdateSaving/
│   │   │   │   │       │   └── index.tsx
│   │   │   │   │       └── index.tsx
│   │   │   │   ├── providers/
│   │   │   │   │   └── GlobalDataProvider/
│   │   │   │   │       ├── ModelData.tsx
│   │   │   │   │       └── index.tsx
│   │   │   │   ├── react-app-env.d.ts
│   │   │   │   ├── reportWebVitals.ts
│   │   │   │   ├── services/
│   │   │   │   │   ├── agent-database.ts
│   │   │   │   │   └── apis/
│   │   │   │   │       ├── agent/
│   │   │   │   │       │   ├── index.tsx
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       ├── chain/
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       ├── clients.ts
│   │   │   │   │       ├── file/
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       ├── model/
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── types.ts
│   │   │   │   │       └── studio/
│   │   │   │   │           ├── index.ts
│   │   │   │   │           └── types.ts
│   │   │   │   ├── setupTests.ts
│   │   │   │   ├── stores/
│   │   │   │   │   ├── useAgentServiceStore.ts
│   │   │   │   │   ├── useCommonStore.ts
│   │   │   │   │   └── useStudioAgentStore.ts
│   │   │   │   ├── types/
│   │   │   │   │   ├── agent.ts
│   │   │   │   │   ├── collection.ts
│   │   │   │   │   ├── message.ts
│   │   │   │   │   └── px2rem.ts
│   │   │   │   └── utils/
│   │   │   │       ├── agent.ts
│   │   │   │       ├── category.ts
│   │   │   │       ├── common.ts
│   │   │   │       ├── data.ts
│   │   │   │       ├── file.ts
│   │   │   │       ├── process.ts
│   │   │   │       ├── prompt.ts
│   │   │   │       ├── string.ts
│   │   │   │       ├── time.ts
│   │   │   │       ├── toast.tsx
│   │   │   │       ├── twitter.ts
│   │   │   │       ├── validate.ts
│   │   │   │       └── validator.ts
│   │   │   └── tsconfig.json
│   │   └── studio-dnd/
│   │       ├── .gitignore
│   │       ├── .npmignore
│   │       ├── .prettierrc.json
│   │       ├── .storybook/
│   │       │   ├── main.ts
│   │       │   ├── preview.scss
│   │       │   └── preview.ts
│   │       ├── .stylelintignore
│   │       ├── .stylelintrc.cjs
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── eslint.config.js
│   │       ├── package.json
│   │       ├── rollup.config.mjs
│   │       ├── setupTests.ts
│   │       ├── src/
│   │       │   ├── enums/
│   │       │   │   └── node-type.ts
│   │       │   ├── hooks/
│   │       │   │   ├── useEffectOnce.ts
│   │       │   │   ├── useLatest.ts
│   │       │   │   ├── useThrottle.ts
│   │       │   │   ├── useThrottleValue.ts
│   │       │   │   └── useUnmount.ts
│   │       │   ├── index.ts
│   │       │   ├── modules/
│   │       │   │   ├── Studio/
│   │       │   │   │   ├── Studio.scss
│   │       │   │   │   ├── Studio.stories.tsx
│   │       │   │   │   ├── Studio.tsx
│   │       │   │   │   ├── StudioAgent.stories.tsx
│   │       │   │   │   ├── StudioAgentV2.stories.tsx
│   │       │   │   │   ├── __mocks__/
│   │       │   │   │   │   ├── agent-categories-v2.tsx
│   │       │   │   │   │   ├── agent-categories.tsx
│   │       │   │   │   │   ├── agent-data-source-v2.ts
│   │       │   │   │   │   ├── agent-data-source.ts
│   │       │   │   │   │   ├── categories.ts
│   │       │   │   │   │   ├── data-source.ts
│   │       │   │   │   │   └── data.ts
│   │       │   │   │   ├── components/
│   │       │   │   │   │   ├── Board/
│   │       │   │   │   │   │   ├── Board.scss
│   │       │   │   │   │   │   ├── BoardOverlay/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── CustomEdges/
│   │       │   │   │   │   │   └── EdgeBase/
│   │       │   │   │   │   │       ├── EdgeBase.scss
│   │       │   │   │   │   │       └── index.tsx
│   │       │   │   │   │   ├── CustomNodes/
│   │       │   │   │   │   │   ├── DraggingPlaceholder/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── NodeBase/
│   │       │   │   │   │   │       ├── DraggingFloating/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── LegoRender/
│   │       │   │   │   │   │       │   ├── LegoRender.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBase.scss
│   │       │   │   │   │   │       ├── NodeBaseChild/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBaseConnection/
│   │       │   │   │   │   │       │   ├── NodeBaseConnection.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBaseReadOnly/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeBaseWrapper/
│   │       │   │   │   │   │       │   ├── NodeBaseWrapper.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeSingle/
│   │       │   │   │   │   │       │   ├── NodeSingle.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NodeStacks/
│   │       │   │   │   │   │       │   ├── NodeStacks.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── index.tsx
│   │       │   │   │   │   │       └── types.ts
│   │       │   │   │   │   ├── DataFields/
│   │       │   │   │   │   │   ├── FormRender/
│   │       │   │   │   │   │   │   ├── FormRender.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Select/
│   │       │   │   │   │   │   │   ├── Select.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── TextArea/
│   │       │   │   │   │   │   │   ├── TextArea.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── Textbox/
│   │       │   │   │   │   │       ├── Textbox.scss
│   │       │   │   │   │   │       └── index.tsx
│   │       │   │   │   │   ├── DataFlow/
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── DnD/
│   │       │   │   │   │   │   ├── Distribution/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── DndFlow/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Factory/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Package/
│   │       │   │   │   │   │   │   ├── Package.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Product/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── ProductAddon/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── ProductPlaceholder/
│   │       │   │   │   │   │   │   ├── Package.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Source/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── base/
│   │       │   │   │   │   │       ├── DragMask/
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── Draggable/
│   │       │   │   │   │   │       │   ├── Draggable.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       ├── NoDraggable/
│   │       │   │   │   │   │       │   ├── NoDraggable.scss
│   │       │   │   │   │   │       │   └── index.tsx
│   │       │   │   │   │   │       └── StaticDroppable/
│   │       │   │   │   │   │           ├── StaticDroppable.scss
│   │       │   │   │   │   │           └── index.tsx
│   │       │   │   │   │   ├── EventHandler/
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── Lego/
│   │       │   │   │   │   │   ├── Lego.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── LegoContent/
│   │       │   │   │   │   │   ├── LegoContent.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── LegoParent/
│   │       │   │   │   │   │   ├── LegoParent.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── Overlay/
│   │       │   │   │   │   │   ├── Overlay.scss
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── Render/
│   │       │   │   │   │   │   ├── ImageRender/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── TextRender/
│   │       │   │   │   │   │       └── index.tsx
│   │       │   │   │   │   ├── Sidebar/
│   │       │   │   │   │   │   ├── CategoryGroup/
│   │       │   │   │   │   │   │   ├── CategoryGroup.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── Sidebar.scss
│   │       │   │   │   │   │   ├── SidebarOverlay/
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   ├── SidebarTab/
│   │       │   │   │   │   │   │   ├── SidebarTab.scss
│   │       │   │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   │   └── index.tsx
│   │       │   │   │   │   ├── icons/
│   │       │   │   │   │   │   ├── common.tsx
│   │       │   │   │   │   │   └── lego.tsx
│   │       │   │   │   │   ├── index.tsx
│   │       │   │   │   │   └── ui/
│   │       │   │   │   │       └── Tooltip/
│   │       │   │   │   │           ├── Tooltip.scss
│   │       │   │   │   │           └── index.tsx
│   │       │   │   │   ├── constants/
│   │       │   │   │   │   ├── area-class-names.ts
│   │       │   │   │   │   ├── color-palettes.ts
│   │       │   │   │   │   ├── configs.ts
│   │       │   │   │   │   ├── default-values.ts
│   │       │   │   │   │   ├── key-map.ts
│   │       │   │   │   │   └── time.ts
│   │       │   │   │   ├── database/
│   │       │   │   │   │   └── category-color-database.ts
│   │       │   │   │   ├── enums/
│   │       │   │   │   │   ├── category.ts
│   │       │   │   │   │   ├── index.ts
│   │       │   │   │   │   ├── side.ts
│   │       │   │   │   │   └── tab.ts
│   │       │   │   │   ├── hooks/
│   │       │   │   │   │   ├── useContainerMouse.ts
│   │       │   │   │   │   ├── useDndAction.ts
│   │       │   │   │   │   ├── useDndInteraction.ts
│   │       │   │   │   │   ├── useEdgeSelected.ts
│   │       │   │   │   │   ├── useFormFunction.ts
│   │       │   │   │   │   ├── useNewStore.ts
│   │       │   │   │   │   ├── useNodeSelected.ts
│   │       │   │   │   │   └── useStudio.ts
│   │       │   │   │   ├── index.ts
│   │       │   │   │   ├── stores/
│   │       │   │   │   │   ├── useStudioCategoryStore.ts
│   │       │   │   │   │   ├── useStudioConfigStore.ts
│   │       │   │   │   │   ├── useStudioDataSourceStore.ts
│   │       │   │   │   │   ├── useStudioDataStore.ts
│   │       │   │   │   │   ├── useStudioDndStore.ts
│   │       │   │   │   │   ├── useStudioFlowStore.ts
│   │       │   │   │   │   ├── useStudioFlowViewStore.ts
│   │       │   │   │   │   ├── useStudioFormStore.ts
│   │       │   │   │   │   └── useStudioStore.ts
│   │       │   │   │   ├── types/
│   │       │   │   │   │   ├── base.ts
│   │       │   │   │   │   ├── category.ts
│   │       │   │   │   │   ├── config.ts
│   │       │   │   │   │   ├── data-source.ts
│   │       │   │   │   │   ├── dnd.ts
│   │       │   │   │   │   ├── graph.ts
│   │       │   │   │   │   ├── index.ts
│   │       │   │   │   │   └── ui.ts
│   │       │   │   │   └── utils/
│   │       │   │   │       ├── array.ts
│   │       │   │   │       ├── category.ts
│   │       │   │   │       ├── data.ts
│   │       │   │   │       ├── edge.ts
│   │       │   │   │       ├── node.ts
│   │       │   │   │       ├── ui.ts
│   │       │   │   │       └── validates.ts
│   │       │   │   └── index.ts
│   │       │   ├── styles/
│   │       │   │   ├── _reset.scss
│   │       │   │   ├── _root.scss
│   │       │   │   └── global.scss
│   │       │   └── utils/
│   │       │       └── data.ts
│   │       ├── tsconfig.json
│   │       ├── vite.config.ts
│   │       └── vitest.config.ts
│   └── tsconfig.json
├── ai-architectures/
│   ├── README.md
│   ├── agent-battle/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── api.http
│   │   ├── cmd/
│   │   │   ├── api/
│   │   │   │   ├── module.go
│   │   │   │   └── route.go
│   │   │   ├── main.go
│   │   │   ├── setting/
│   │   │   │   ├── module.go
│   │   │   │   └── setting.go
│   │   │   └── worker/
│   │   │       ├── module.go
│   │   │       └── worker.go
│   │   ├── docs/
│   │   │   ├── diagrams/
│   │   │   │   └── userflow.puml
│   │   │   ├── docs.go
│   │   │   ├── swagger.json
│   │   │   └── swagger.yaml
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── internal/
│   │   │   ├── adapters/
│   │   │   │   ├── handler/
│   │   │   │   │   └── game/
│   │   │   │   │       └── game_handler.go
│   │   │   │   └── repository/
│   │   │   │       └── mongo/
│   │   │   │           ├── game_repo.go
│   │   │   │           ├── module.go
│   │   │   │           ├── setting_repo.go
│   │   │   │           └── worker_repo.go
│   │   │   ├── contract/
│   │   │   │   └── erc20/
│   │   │   │       ├── erc20.go
│   │   │   │       ├── erc20.json
│   │   │   │       └── usecase/
│   │   │   │           ├── usecase.go
│   │   │   │           └── usecase_test.go
│   │   │   └── core/
│   │   │       ├── middleware/
│   │   │       │   ├── authentication.go
│   │   │       │   └── middleware.go
│   │   │       ├── model/
│   │   │       │   ├── base.go
│   │   │       │   ├── game.go
│   │   │       │   ├── setting.go
│   │   │       │   └── worker.go
│   │   │       ├── port/
│   │   │       │   ├── erc20_port.go
│   │   │       │   └── game_port.go
│   │   │       ├── service/
│   │   │       │   └── game_usecase/
│   │   │       │       ├── usecase.go
│   │   │       │       └── usecase_test.go
│   │   │       └── worker/
│   │   │           └── game/
│   │   │               └── worker.go
│   │   └── pkg/
│   │       ├── constants/
│   │       │   ├── constants.go
│   │       │   └── sort/
│   │       │       └── constant.go
│   │       ├── cryptoamount/
│   │       │   ├── cryptoamount.go
│   │       │   └── cryptoamount_test.go
│   │       ├── drivers/
│   │       │   └── mongodb/
│   │       │       ├── cast/
│   │       │       │   └── cast.go
│   │       │       ├── init.go
│   │       │       ├── module.go
│   │       │       ├── options.go
│   │       │       ├── repository.go
│   │       │       └── types.go
│   │       ├── encrypt/
│   │       │   └── encrypt.go
│   │       ├── eth/
│   │       │   └── client.go
│   │       ├── fiber/
│   │       │   ├── cache/
│   │       │   │   ├── cache.go
│   │       │   │   ├── config.go
│   │       │   │   ├── heap.go
│   │       │   │   ├── manager.go
│   │       │   │   └── manager_msgp.go
│   │       │   └── fiberzap/
│   │       │       ├── filberzap.go
│   │       │       └── types.go
│   │       ├── logger/
│   │       │   └── logger.go
│   │       ├── rest/
│   │       │   └── template.go
│   │       ├── secret_manager/
│   │       │   └── secret_manager.go
│   │       ├── telegram/
│   │       │   └── client.go
│   │       └── utils/
│   │           ├── copier.go
│   │           ├── crypto.go
│   │           ├── fiber_error.go
│   │           ├── file.go
│   │           ├── html.go
│   │           ├── jwt_token.go
│   │           ├── mongo.go
│   │           ├── password.go
│   │           ├── slice.go
│   │           ├── string.go
│   │           ├── url.go
│   │           └── utils.go
│   ├── agent-task-handlers/
│   │   ├── .gitignore
│   │   ├── .pre-commit-config.yaml
│   │   ├── Dockerfile
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── pyproject.toml
│   │   ├── requirements-dev.txt
│   │   ├── requirements.txt
│   │   ├── scripts/
│   │   │   └── reset_redis.sh
│   │   ├── server.py
│   │   ├── tests/
│   │   │   ├── __init__.py
│   │   │   └── unit/
│   │   │       ├── __init__.py
│   │   │       ├── mock/
│   │   │       │   ├── __init__.py
│   │   │       │   ├── api_twitter.py
│   │   │       │   ├── kn_base.py
│   │   │       │   ├── llm.py
│   │   │       │   ├── postprocess.py
│   │   │       │   ├── sleep.py
│   │   │       │   └── twin_agent.py
│   │   │       ├── test_post_v2.py
│   │   │       └── utils.py
│   │   └── x_content/
│   │       ├── __init__.py
│   │       ├── api.py
│   │       ├── cache/
│   │       │   ├── __init__.py
│   │       │   ├── base_state_handler.py
│   │       │   ├── chat_request_state_handler.py
│   │       │   ├── entity_cache.py
│   │       │   └── mission_state_handler.py
│   │       ├── constants/
│   │       │   ├── __init__.py
│   │       │   ├── analytic.py
│   │       │   ├── chain.py
│   │       │   ├── game.py
│   │       │   ├── main.py
│   │       │   ├── models.py
│   │       │   ├── redis.py
│   │       │   ├── telegram.py
│   │       │   ├── trading.py
│   │       │   ├── twin.py
│   │       │   └── utils.py
│   │       ├── legacy_services/
│   │       │   ├── __init__.py
│   │       │   ├── post.py
│   │       │   ├── twin.py
│   │       │   └── utils.py
│   │       ├── llm/
│   │       │   ├── __init__.py
│   │       │   ├── base.py
│   │       │   ├── eternal_ai.py
│   │       │   ├── local.py
│   │       │   ├── time_estimation.py
│   │       │   └── utils.py
│   │       ├── models.py
│   │       ├── service.py
│   │       ├── services/
│   │       │   ├── __init__.py
│   │       │   ├── chat/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── chat_langgraph.py
│   │       │   │   ├── memory.py
│   │       │   │   ├── service.py
│   │       │   │   └── tools.py
│   │       │   └── fact/
│   │       │       ├── __init__.py
│   │       │       ├── fact_check.py
│   │       │       ├── run_fact_check.py
│   │       │       └── service.py
│   │       ├── tasks/
│   │       │   ├── __init__.py
│   │       │   ├── _legacy/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── post_search.py
│   │       │   │   ├── quote_tweet.py
│   │       │   │   └── shadow_reply.py
│   │       │   ├── base.py
│   │       │   ├── game_agent/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── create_gamev2.py
│   │       │   │   ├── judge_gamev2.py
│   │       │   │   ├── prompts.py
│   │       │   │   └── subtasks/
│   │       │   │       ├── __init__.py
│   │       │   │       └── reply/
│   │       │   │           ├── __init__.py
│   │       │   │           └── reply_create_game.py
│   │       │   ├── others.py
│   │       │   ├── reply_base.py
│   │       │   ├── reply_subtask_base.py
│   │       │   ├── social_agent/
│   │       │   │   ├── __init__.py
│   │       │   │   ├── chat.py
│   │       │   │   ├── chat_v2.py
│   │       │   │   ├── post_v2.py
│   │       │   │   ├── post_v3.py
│   │       │   │   ├── react_agent.py
│   │       │   │   ├── react_agent_for_trading.py
│   │       │   │   ├── react_agent_use_deepseek_r1.py
│   │       │   │   ├── social_reply.py
│   │       │   │   └── subtasks/
│   │       │   │       ├── __init__.py
│   │       │   │       └── reply/
│   │       │   │           ├── __init__.py
│   │       │   │           ├── reply_game.py
│   │       │   │           └── reply_regular.py
│   │       │   └── utils.py
│   │       ├── toolcall/
│   │       │   ├── __init__.py
│   │       │   ├── dynamic_toolcall.py
│   │       │   ├── toolcall.py
│   │       │   ├── utils.py
│   │       │   └── wrapped_external_apis.py
│   │       ├── utils.py
│   │       ├── verifications.py
│   │       └── wrappers/
│   │           ├── __init__.py
│   │           ├── analytic/
│   │           │   ├── __init__.py
│   │           │   └── custom.py
│   │           ├── api/
│   │           │   ├── __init__.py
│   │           │   └── twitter_v2/
│   │           │       ├── __init__.py
│   │           │       ├── main.py
│   │           │       └── models/
│   │           │           ├── __init__.py
│   │           │           ├── objects.py
│   │           │           └── response.py
│   │           ├── assets/
│   │           │   └── twitter_accounts.json
│   │           ├── bing_search.py
│   │           ├── browsing.py
│   │           ├── conversation.py
│   │           ├── game.py
│   │           ├── gcs.py
│   │           ├── google_search.py
│   │           ├── knowledge_base/
│   │           │   ├── __init__.py
│   │           │   ├── base.py
│   │           │   ├── eternals_kb.py
│   │           │   └── local.py
│   │           ├── llm_tasks.py
│   │           ├── log_decorators.py
│   │           ├── magic.py
│   │           ├── postprocess.py
│   │           ├── rag_search.py
│   │           ├── redis_wrapper.py
│   │           ├── telegram.py
│   │           ├── trading.py
│   │           ├── tweet_specialty.py
│   │           ├── twin_agent.py
│   │           └── vision_tasks.py
│   ├── docling-server/
│   │   ├── Dockerfile
│   │   ├── requirements.txt
│   │   └── server.py
│   ├── knowledge-base/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── app/
│   │   │   ├── __init__.py
│   │   │   ├── api.py
│   │   │   ├── constants.py
│   │   │   ├── embedding.py
│   │   │   ├── graph_handlers.py
│   │   │   ├── handlers.py
│   │   │   ├── io.py
│   │   │   ├── models.py
│   │   │   ├── registry.py
│   │   │   ├── state.py
│   │   │   ├── utils.py
│   │   │   ├── verifications.py
│   │   │   └── wrappers/
│   │   │       ├── __init__.py
│   │   │       ├── log_decorators.py
│   │   │       ├── milvus_kit.py
│   │   │       ├── redis_kit.py
│   │   │       └── telegram_kit.py
│   │   ├── docker-compose.yml
│   │   ├── example.env
│   │   ├── milvus-docker-compose.yml
│   │   ├── models-docker-compose.yml
│   │   ├── requirements.txt
│   │   ├── scripts/
│   │   │   ├── export_collection_data.py
│   │   │   ├── reset_milvus.sh
│   │   │   └── reset_redis.sh
│   │   └── server.py
│   └── launchpad-agent/
│       ├── .gitignore
│       ├── Dockerfile
│       ├── LICENSE
│       ├── README.md
│       ├── app/
│       │   ├── __init__.py
│       │   ├── agents/
│       │   │   ├── __init__.py
│       │   │   ├── investor_analyzer.py
│       │   │   ├── mcp_agent.py
│       │   │   ├── onboarding_agent.py
│       │   │   ├── project_identifier.py
│       │   │   └── tweet_classifier.py
│       │   ├── apis.py
│       │   ├── config.py
│       │   ├── handlers.py
│       │   ├── mcps/
│       │   │   ├── __init__.py
│       │   │   ├── launchpad_mcp.py
│       │   │   ├── twitter_mcp.py
│       │   │   └── utils.py
│       │   ├── schemas/
│       │   │   ├── __init__.py
│       │   │   ├── agents.py/
│       │   │   │   └── receptionist_models.py
│       │   │   ├── commons.py
│       │   │   ├── evaluation.py
│       │   │   ├── evaluation_state.py
│       │   │   ├── launchpad.py
│       │   │   ├── services.py
│       │   │   ├── twitter.py
│       │   │   └── utils.py
│       │   └── utils/
│       │       ├── __init__.py
│       │       ├── caching.py
│       │       ├── concurrency.py
│       │       ├── launchpad_api_calls.py
│       │       ├── lm.py
│       │       ├── logging.py
│       │       ├── misc.py
│       │       ├── mongodb.py
│       │       └── twitter_api_calls.py
│       ├── requirements.base.txt
│       ├── requirements.txt
│       └── server.py
├── ai-kernel/
│   ├── .gitignore
│   ├── .mocharc.json
│   ├── compiler_config.json
│   ├── contracts/
│   │   ├── GPUManager.sol
│   │   ├── HybridModel.sol
│   │   ├── ModelCollection.sol
│   │   ├── ModelLoadBalancer.sol
│   │   ├── PromptScheduler.sol
│   │   ├── StakingHub.sol
│   │   ├── Treasury.sol
│   │   ├── WorkerHub.sol
│   │   ├── interfaces/
│   │   │   ├── ICallBack.sol
│   │   │   ├── IGPUManager.sol
│   │   │   ├── IHybridModel.sol
│   │   │   ├── IInferable.sol
│   │   │   ├── IModel.sol
│   │   │   ├── IModelCollection.sol
│   │   │   ├── IModelLoadBalancer.sol
│   │   │   ├── IScheduler.sol
│   │   │   ├── IStakingHub.sol
│   │   │   ├── ISystemPromptManager.sol
│   │   │   └── IWorkerHub.sol
│   │   ├── library/
│   │   │   ├── Random.sol
│   │   │   ├── Set.sol
│   │   │   └── TransferHelper.sol
│   │   ├── storages/
│   │   │   ├── GPUManagerStorage.sol
│   │   │   ├── HybridModelStorage.sol
│   │   │   ├── ModelCollectionStorage.sol
│   │   │   ├── ModelLoadBalancerStorage.sol
│   │   │   ├── PromptSchedulerStorage.sol
│   │   │   ├── StakingHubStorage.sol
│   │   │   └── WorkerHubStorage.sol
│   │   ├── tokens/
│   │   │   ├── DAOToken.sol
│   │   │   └── IDAOToken.sol
│   │   └── wEAI.sol
│   ├── foundry.toml
│   ├── hardhat.config.ts
│   ├── mocha-report.json
│   ├── package.json
│   ├── remappings.txt
│   └── tsconfig.json
├── blockchains/
│   ├── README.md
│   ├── arbitrum/
│   │   └── README.md
│   ├── base/
│   │   └── README.md
│   ├── bitcoin/
│   │   └── README.md
│   ├── ethereum/
│   │   └── README.md
│   └── solana/
│       └── README.md
├── compose.yaml
├── decentralized-agents/
│   ├── .gitignore
│   ├── .mocharc.json
│   ├── README.md
│   ├── characters/
│   │   ├── donald_trump.txt
│   │   ├── elon_musk.txt
│   │   ├── lex_fridman-by-ben.txt
│   │   ├── mr-robot-by-hope.txt
│   │   ├── naruto_fan.txt
│   │   └── pikachu.txt
│   ├── compiler_config.json
│   ├── contracts/
│   │   ├── standards/
│   │   │   ├── AI721.sol
│   │   │   ├── interfaces/
│   │   │   │   ├── IAI721.sol
│   │   │   │   ├── IAI721Errors.sol
│   │   │   │   └── IBase.sol
│   │   │   ├── llm-agent/
│   │   │   │   ├── ERC20LLMAgent.sol
│   │   │   │   ├── ICommonAgent.sol
│   │   │   │   ├── ILLMAgent.sol
│   │   │   │   ├── LLMAgent.sol
│   │   │   │   └── interfaces/
│   │   │   │       ├── IHybridModel.sol
│   │   │   │       ├── IInferable.sol
│   │   │   │       ├── IModel.sol
│   │   │   │       └── IPromptScheduler.sol
│   │   │   ├── real-world-agent/
│   │   │   │   ├── ERC20RealWorldAgent.sol
│   │   │   │   ├── IRealWorldAgent.sol
│   │   │   │   └── RealWorldAgent.sol
│   │   │   └── utility-agent/
│   │   │       ├── ERC20UtilityAgent.sol
│   │   │       ├── File.sol
│   │   │       ├── ICommonAgent.sol
│   │   │       ├── IFileStore.sol
│   │   │       ├── IUtilityAgent.sol
│   │   │       └── UtilityAgent.sol
│   │   └── standards-upgradeable/
│   │       ├── AI721Upgradeable.sol
│   │       └── interfaces/
│   │           ├── IAI721Upgradeable.sol
│   │           └── IBase.sol
│   ├── foundry.toml
│   ├── hardhat.config.ts
│   ├── mocha-report.json
│   ├── package.json
│   ├── remappings.txt
│   └── tsconfig.json
├── decentralized-compute/
│   ├── README.md
│   ├── cluster/
│   │   ├── .dockerignore
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── Dockerfile.Arm
│   │   ├── Dockerfile.Hardhat
│   │   ├── Dockerfile.build
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── _hardhat.config.ts
│   │   ├── build.sh
│   │   ├── chains/
│   │   │   ├── abstract_testnet/
│   │   │   │   ├── chain.go
│   │   │   │   ├── cluster.go
│   │   │   │   └── staking.go
│   │   │   ├── base/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base_new/
│   │   │   │   ├── chain.go
│   │   │   │   ├── cluster.go
│   │   │   │   └── staking.go
│   │   │   ├── common/
│   │   │   │   └── common.go
│   │   │   └── local/
│   │   │       ├── chain.go
│   │   │       ├── cluster.go
│   │   │       └── staking.go
│   │   ├── cmd/
│   │   │   ├── api/
│   │   │   │   └── main.go
│   │   │   └── miner/
│   │   │       └── main.go
│   │   ├── config/
│   │   │   └── configs.go
│   │   ├── docker-compose-arm-local.yml
│   │   ├── docker-compose-arm.yml
│   │   ├── docker-compose-local.yml
│   │   ├── docker-compose.yml
│   │   ├── download_model_linux.sh
│   │   ├── download_model_macos.sh
│   │   ├── entrypoint.sh
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── hardhat.config.js
│   │   ├── internal/
│   │   │   ├── contracts/
│   │   │   │   ├── erc20/
│   │   │   │   │   ├── erc20.go
│   │   │   │   │   └── erc20.json
│   │   │   │   ├── gpu_manager/
│   │   │   │   │   ├── gpu_manager.go
│   │   │   │   │   └── gpu_manager.json
│   │   │   │   ├── load_balancer/
│   │   │   │   │   ├── load_balancer.go
│   │   │   │   │   └── load_balancer.json
│   │   │   │   ├── model_collection/
│   │   │   │   │   ├── model_collection.go
│   │   │   │   │   └── model_collection.json
│   │   │   │   ├── prompt_scheduler/
│   │   │   │   │   ├── prompt_scheduler.go
│   │   │   │   │   └── prompt_scheduler.json
│   │   │   │   ├── proxy/
│   │   │   │   │   ├── proxy.go
│   │   │   │   │   └── proxy.json
│   │   │   │   ├── staking_hub/
│   │   │   │   │   ├── staking_hub.go
│   │   │   │   │   └── staking_hub.json
│   │   │   │   ├── w_eai/
│   │   │   │   │   ├── w_eai.go
│   │   │   │   │   └── w_eai.json
│   │   │   │   └── worker_hub/
│   │   │   │       ├── worker_hub.go
│   │   │   │       └── worker_hub.json
│   │   │   ├── delivery/
│   │   │   │   ├── cmd/
│   │   │   │   │   ├── app.go
│   │   │   │   │   └── handler.go
│   │   │   │   └── http/
│   │   │   │       └── app.go
│   │   │   ├── factory/
│   │   │   │   └── factory.go
│   │   │   ├── model/
│   │   │   │   ├── const.go
│   │   │   │   ├── local_chain.go
│   │   │   │   ├── metadata.go
│   │   │   │   └── model.go
│   │   │   ├── port/
│   │   │   │   └── port.go
│   │   │   └── usecase/
│   │   │       ├── cmd_cluster.go
│   │   │       ├── cmd_local_chain.go
│   │   │       └── miner.go
│   │   ├── package.json
│   │   ├── pkg/
│   │   │   ├── commons.go
│   │   │   ├── const.go
│   │   │   ├── eth/
│   │   │   │   ├── client.go
│   │   │   │   └── proxy.go
│   │   │   ├── googlecloud/
│   │   │   │   ├── gcs.go
│   │   │   │   └── util.go
│   │   │   ├── httpRequest.go
│   │   │   ├── lighthouse/
│   │   │   │   ├── Kvasir.txt
│   │   │   │   ├── lighthouse.go
│   │   │   │   └── lighthouse_test.go
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   └── utils/
│   │   │       └── copier.go
│   │   ├── setup-eternal.sh
│   │   ├── setup-miner-manual.md
│   │   ├── setup-ollam.md
│   │   ├── sol/
│   │   │   ├── .gitignore
│   │   │   ├── .gitmodules
│   │   │   ├── .mocharc.json
│   │   │   ├── README.md
│   │   │   ├── compiler_config.json
│   │   │   ├── contracts/
│   │   │   │   ├── Dagent721.sol
│   │   │   │   ├── GPUManager.sol
│   │   │   │   ├── ModelCollection.sol
│   │   │   │   ├── ModelLoadBalancer.sol
│   │   │   │   ├── PromptScheduler.sol
│   │   │   │   ├── Treasury.sol
│   │   │   │   ├── interfaces/
│   │   │   │   │   ├── ICallBack.sol
│   │   │   │   │   ├── IGPUManager.sol
│   │   │   │   │   ├── IInferable.sol
│   │   │   │   │   ├── IModel.sol
│   │   │   │   │   ├── IModelCollection.sol
│   │   │   │   │   ├── IModelLoadBalancer.sol
│   │   │   │   │   ├── IScheduler.sol
│   │   │   │   │   └── ISystemPromptManager.sol
│   │   │   │   ├── library/
│   │   │   │   │   ├── Random.sol
│   │   │   │   │   ├── Set.sol
│   │   │   │   │   └── TransferHelper.sol
│   │   │   │   ├── standardUpgradeable/
│   │   │   │   │   ├── AI20Upgradeable.sol
│   │   │   │   │   ├── AI721Upgradeable.sol
│   │   │   │   │   └── interfaces/
│   │   │   │   │       ├── IAI20Upgradeable.sol
│   │   │   │   │       ├── IAI721Upgradeable.sol
│   │   │   │   │       └── IBase.sol
│   │   │   │   ├── standards/
│   │   │   │   │   ├── AI20.sol
│   │   │   │   │   ├── AI721.sol
│   │   │   │   │   └── interfaces/
│   │   │   │   │       ├── IAI20.sol
│   │   │   │   │       ├── IAI721.sol
│   │   │   │   │       └── IBase.sol
│   │   │   │   ├── storages/
│   │   │   │   │   ├── GPUManagerStorage.sol
│   │   │   │   │   ├── ModelCollectionStorage.sol
│   │   │   │   │   ├── ModelLoadBalancerStorage.sol
│   │   │   │   │   └── PromptSchedulerStorage.sol
│   │   │   │   └── wEAI.sol
│   │   │   ├── deployedAddressesV2.json
│   │   │   ├── foundry.toml
│   │   │   ├── hardhat.config.ts
│   │   │   ├── mocha-report.json
│   │   │   ├── package.json
│   │   │   ├── remappings.txt
│   │   │   ├── scripts/
│   │   │   │   ├── auto_deploy.ts
│   │   │   │   ├── library/
│   │   │   │   │   ├── lib.ts
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── registerMiners.ts
│   │   │   │   ├── tasks/
│   │   │   │   │   ├── control.task.ts
│   │   │   │   │   └── wallet.task.ts
│   │   │   │   ├── updateHybridModelMetadata.ts
│   │   │   │   └── utils.ts
│   │   │   ├── tests/
│   │   │   │   ├── address.seed.ts
│   │   │   │   └── refactor/
│   │   │   │       ├── helpers.ts
│   │   │   │       └── refactor.test.ts
│   │   │   └── tsconfig.json
│   │   └── version.txt
│   ├── core/
│   │   ├── contracts/
│   │   │   ├── erc20/
│   │   │   │   ├── erc20.go
│   │   │   │   └── erc20.json
│   │   │   ├── gpu_manager/
│   │   │   │   ├── gpu_manager.go
│   │   │   │   └── gpu_manager.json
│   │   │   ├── load_balancer/
│   │   │   │   ├── load_balancer.go
│   │   │   │   └── load_balancer.json
│   │   │   ├── model_collection/
│   │   │   │   ├── model_collection.go
│   │   │   │   └── model_collection.json
│   │   │   ├── model_collection_v1/
│   │   │   │   ├── model_collection_v1.go
│   │   │   │   └── model_collection_v1.json
│   │   │   ├── prompt_scheduler/
│   │   │   │   ├── prompt_scheduler.go
│   │   │   │   └── prompt_scheduler.json
│   │   │   ├── proxy/
│   │   │   │   ├── proxy.go
│   │   │   │   └── proxy.json
│   │   │   ├── staking_hub/
│   │   │   │   ├── staking_hub.go
│   │   │   │   └── staking_hub.json
│   │   │   ├── v1/
│   │   │   │   ├── hybrid_model/
│   │   │   │   │   ├── hybrid_model.go
│   │   │   │   │   ├── hybrid_model.json
│   │   │   │   │   └── hybrid_model_abi.json
│   │   │   │   ├── staking_hub/
│   │   │   │   │   ├── staking_hub.go
│   │   │   │   │   ├── staking_hub.json
│   │   │   │   │   └── staking_hub_abi.json
│   │   │   │   └── worker_hub/
│   │   │   │       ├── worker_hub.go
│   │   │   │       ├── worker_hub.json
│   │   │   │       └── worker_hub_abi.json
│   │   │   ├── w_eai/
│   │   │   │   ├── w_eai.go
│   │   │   │   └── w_eai.json
│   │   │   └── worker_hub/
│   │   │       ├── worker_hub.go
│   │   │       └── worker_hub.json
│   │   ├── go.mod
│   │   └── go.sum
│   ├── miner/
│   │   ├── .gitignore
│   │   ├── chains/
│   │   │   ├── base/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base_new/
│   │   │   │   ├── chain.go
│   │   │   │   ├── cluster.go
│   │   │   │   └── staking.go
│   │   │   └── common/
│   │   │       └── common.go
│   │   ├── cmd/
│   │   │   ├── api/
│   │   │   │   ├── main.go
│   │   │   │   └── main_test.go
│   │   │   └── miner/
│   │   │       ├── main.go
│   │   │       └── main_test.go
│   │   ├── config/
│   │   │   └── configs.go
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── install.sh
│   │   ├── internal/
│   │   │   ├── delivery/
│   │   │   │   └── http/
│   │   │   │       ├── app.go
│   │   │   │       ├── commons.go
│   │   │   │       ├── response/
│   │   │   │       │   └── response.go
│   │   │   │       └── routers.go
│   │   │   ├── factory/
│   │   │   │   └── factory.go
│   │   │   ├── model/
│   │   │   │   ├── const.go
│   │   │   │   ├── infomation.go
│   │   │   │   ├── local_chain.go
│   │   │   │   ├── metadata.go
│   │   │   │   └── model.go
│   │   │   ├── port/
│   │   │   │   └── port.go
│   │   │   └── usecase/
│   │   │       ├── api.go
│   │   │       ├── miner.go
│   │   │       └── miner_test.go
│   │   ├── miner.sh
│   │   └── pkg/
│   │       ├── commons.go
│   │       ├── const.go
│   │       ├── db/
│   │       │   └── sqlite/
│   │       │       └── sqlite.go
│   │       ├── eth/
│   │       │   ├── client.go
│   │       │   └── proxy.go
│   │       ├── googlecloud/
│   │       │   ├── gcs.go
│   │       │   └── util.go
│   │       ├── httpRequest.go
│   │       ├── lighthouse/
│   │       │   ├── Kvasir.txt
│   │       │   ├── lighthouse.go
│   │       │   └── lighthouse_test.go
│   │       ├── logger/
│   │       │   └── logger.go
│   │       ├── utils/
│   │       │   └── copier.go
│   │       └── zip_hf_model_to_light_house/
│   │           └── zip_hf_model.go
│   ├── models/
│   │   ├── Modelfile
│   │   ├── download_model_linux.sh
│   │   └── download_model_macos.sh
│   ├── node/
│   │   ├── Dockerfile
│   │   ├── Dockerfile.Arm
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── build-arm.Dockerfile
│   │   ├── build-arm.sh
│   │   ├── build.Dockerfile
│   │   ├── build.sh
│   │   ├── chains/
│   │   │   ├── abstract_testnet/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   ├── base_new/
│   │   │   │   ├── chain.go
│   │   │   │   └── staking.go
│   │   │   └── common/
│   │   │       └── common.go
│   │   ├── config/
│   │   │   └── configs.go
│   │   ├── docker-compose-arm.yml
│   │   ├── docker-compose.yml
│   │   ├── entrypoint.sh
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── internal/
│   │   │   ├── contracts/
│   │   │   │   ├── erc20/
│   │   │   │   │   ├── erc20.go
│   │   │   │   │   └── erc20.json
│   │   │   │   ├── gpu_manager/
│   │   │   │   │   ├── gpu_manager.go
│   │   │   │   │   └── gpu_manager.json
│   │   │   │   ├── prompt_scheduler/
│   │   │   │   │   ├── prompt_scheduler.go
│   │   │   │   │   └── prompt_scheduler.json
│   │   │   │   ├── staking_hub/
│   │   │   │   │   ├── staking_hub.go
│   │   │   │   │   └── staking_hub.json
│   │   │   │   └── worker_hub/
│   │   │   │       ├── worker_hub.go
│   │   │   │       └── worker_hub.json
│   │   │   ├── model/
│   │   │   │   ├── const.go
│   │   │   │   └── model.go
│   │   │   ├── port/
│   │   │   │   └── port.go
│   │   │   └── usecase/
│   │   │       └── task_watcher.go
│   │   ├── main.go
│   │   ├── pkg/
│   │   │   ├── commons.go
│   │   │   ├── const.go
│   │   │   ├── eth/
│   │   │   │   └── client.go
│   │   │   ├── googlecloud/
│   │   │   │   ├── gcs.go
│   │   │   │   └── util.go
│   │   │   ├── httpRequest.go
│   │   │   ├── lighthouse/
│   │   │   │   ├── lighthouse.go
│   │   │   │   └── lighthouse_test.go
│   │   │   ├── logger/
│   │   │   │   └── logger.go
│   │   │   ├── miner/
│   │   │   │   └── factory.go
│   │   │   └── utils/
│   │   │       └── copier.go
│   │   ├── setup-eternal.sh
│   │   └── setup-ollam.md
│   └── worker-hub/
│       ├── .dockerignore
│       ├── .gitignore
│       ├── Dockerfile
│       ├── Dockerfile-api
│       ├── Dockerfile-api.Arm
│       ├── Dockerfile.Arm
│       ├── Dockerfile.Hardhat
│       ├── Dockerfile.build
│       ├── Makefile
│       ├── README.md
│       ├── _hardhat.config.ts
│       ├── build.sh
│       ├── chains/
│       │   ├── abstract_testnet/
│       │   │   ├── chain.go
│       │   │   ├── cluster.go
│       │   │   └── staking.go
│       │   ├── base/
│       │   │   ├── chain.go
│       │   │   └── staking.go
│       │   ├── base_new/
│       │   │   ├── chain.go
│       │   │   ├── cluster.go
│       │   │   └── staking.go
│       │   ├── common/
│       │   │   └── common.go
│       │   ├── local/
│       │   │   ├── chain.go
│       │   │   ├── cluster.go
│       │   │   └── staking.go
│       │   └── local_v1/
│       │       ├── chain.go
│       │       └── staking.go
│       ├── cmd/
│       │   ├── api/
│       │   │   └── main.go
│       │   ├── cli/
│       │   │   └── main.go
│       │   ├── cli-fast/
│       │   │   └── main.go
│       │   ├── download_model/
│       │   │   └── main.go
│       │   └── miner/
│       │       └── main.go
│       ├── config/
│       │   └── configs.go
│       ├── docker-compose-arm-local.yml
│       ├── docker-compose-arm.yml
│       ├── docker-compose-local.yml
│       ├── docker-compose.yml
│       ├── download_model_linux.sh
│       ├── download_model_macos.sh
│       ├── entrypoint.sh
│       ├── go.mod
│       ├── go.sum
│       ├── hardhat.config.js
│       ├── internal/
│       │   ├── contracts/
│       │   │   ├── erc20/
│       │   │   │   ├── erc20.go
│       │   │   │   └── erc20.json
│       │   │   ├── gpu_manager/
│       │   │   │   ├── gpu_manager.go
│       │   │   │   └── gpu_manager.json
│       │   │   ├── load_balancer/
│       │   │   │   ├── load_balancer.go
│       │   │   │   └── load_balancer.json
│       │   │   ├── model_collection/
│       │   │   │   ├── model_collection.go
│       │   │   │   └── model_collection.json
│       │   │   ├── model_collection_v1/
│       │   │   │   ├── model_collection_v1.go
│       │   │   │   └── model_collection_v1.json
│       │   │   ├── prompt_scheduler/
│       │   │   │   ├── prompt_scheduler.go
│       │   │   │   └── prompt_scheduler.json
│       │   │   ├── proxy/
│       │   │   │   ├── proxy.go
│       │   │   │   └── proxy.json
│       │   │   ├── staking_hub/
│       │   │   │   ├── staking_hub.go
│       │   │   │   └── staking_hub.json
│       │   │   ├── v1/
│       │   │   │   ├── hybrid_model/
│       │   │   │   │   ├── hybrid_model.go
│       │   │   │   │   ├── hybrid_model.json
│       │   │   │   │   └── hybrid_model_abi.json
│       │   │   │   ├── staking_hub/
│       │   │   │   │   ├── staking_hub.go
│       │   │   │   │   ├── staking_hub.json
│       │   │   │   │   └── staking_hub_abi.json
│       │   │   │   └── worker_hub/
│       │   │   │       ├── worker_hub.go
│       │   │   │       ├── worker_hub.json
│       │   │   │       └── worker_hub_abi.json
│       │   │   ├── w_eai/
│       │   │   │   ├── w_eai.go
│       │   │   │   └── w_eai.json
│       │   │   └── worker_hub/
│       │   │       ├── worker_hub.go
│       │   │       └── worker_hub.json
│       │   ├── delivery/
│       │   │   ├── cmd/
│       │   │   │   ├── app.go
│       │   │   │   └── handler.go
│       │   │   └── http/
│       │   │       ├── app.go
│       │   │       └── response/
│       │   │           └── response.go
│       │   ├── factory/
│       │   │   ├── factory.go
│       │   │   └── local_chain_factory.go
│       │   ├── model/
│       │   │   ├── const.go
│       │   │   ├── local_chain.go
│       │   │   ├── metadata.go
│       │   │   └── model.go
│       │   ├── port/
│       │   │   └── port.go
│       │   └── usecase/
│       │       ├── api_local_chain_v1.go
│       │       ├── cmd_cluster.go
│       │       ├── cmd_local_chain_v1.go
│       │       ├── cmd_local_chain_v2.go
│       │       └── miner.go
│       ├── package.json
│       ├── pkg/
│       │   ├── commons.go
│       │   ├── const.go
│       │   ├── eth/
│       │   │   ├── client.go
│       │   │   └── proxy.go
│       │   ├── googlecloud/
│       │   │   ├── gcs.go
│       │   │   └── util.go
│       │   ├── httpRequest.go
│       │   ├── lighthouse/
│       │   │   ├── Kvasir.txt
│       │   │   ├── lighthouse.go
│       │   │   └── lighthouse_test.go
│       │   ├── logger/
│       │   │   └── logger.go
│       │   ├── utils/
│       │   │   └── copier.go
│       │   └── zip_hf_model_to_light_house/
│       │       └── zip_hf_model.go
│       ├── setup-eternal.sh
│       ├── setup-miner-manual.md
│       ├── setup-ollama.md
│       ├── sol/
│       │   ├── smart-contract-v1/
│       │   │   ├── .gitignore
│       │   │   ├── .gitmodules
│       │   │   ├── README.md
│       │   │   ├── contracts/
│       │   │   │   ├── AI721.sol
│       │   │   │   ├── HybridModel.sol
│       │   │   │   ├── ModelCollection.sol
│       │   │   │   ├── StakingHub.sol
│       │   │   │   ├── Treasury.sol
│       │   │   │   ├── WorkerHub.sol
│       │   │   │   ├── interfaces/
│       │   │   │   │   ├── IAI721.sol
│       │   │   │   │   ├── ICallBack.sol
│       │   │   │   │   ├── IHybridModel.sol
│       │   │   │   │   ├── IInferable.sol
│       │   │   │   │   ├── IModel.sol
│       │   │   │   │   ├── IModelCollection.sol
│       │   │   │   │   ├── IStakingHub.sol
│       │   │   │   │   └── IWorkerHub.sol
│       │   │   │   ├── library/
│       │   │   │   │   ├── Random.sol
│       │   │   │   │   ├── Set.sol
│       │   │   │   │   └── TransferHelper.sol
│       │   │   │   ├── storages/
│       │   │   │   │   ├── AI721Storage.sol
│       │   │   │   │   ├── HybridModelStorage.sol
│       │   │   │   │   ├── ModelCollectionStorage.sol
│       │   │   │   │   ├── StakingHubStorage.sol
│       │   │   │   │   └── WorkerHubStorage.sol
│       │   │   │   ├── tokens/
│       │   │   │   │   ├── DAOToken.sol
│       │   │   │   │   └── IDAOToken.sol
│       │   │   │   └── wEAI.sol
│       │   │   ├── deployedAddresses.json
│       │   │   ├── hardhat.config.ts
│       │   │   ├── package.json
│       │   │   ├── scripts/
│       │   │   │   ├── autoDeploy.ts
│       │   │   │   └── library/
│       │   │   │       ├── lib.ts
│       │   │   │       └── utils.ts
│       │   │   └── tsconfig.json
│       │   └── smart-contract-v2/
│       │       ├── .gitignore
│       │       ├── .gitmodules
│       │       ├── .mocharc.json
│       │       ├── README.md
│       │       ├── compiler_config.json
│       │       ├── contracts/
│       │       │   ├── Dagent721.sol
│       │       │   ├── GPUManager.sol
│       │       │   ├── ModelCollection.sol
│       │       │   ├── ModelLoadBalancer.sol
│       │       │   ├── PromptScheduler.sol
│       │       │   ├── Treasury.sol
│       │       │   ├── interfaces/
│       │       │   │   ├── ICallBack.sol
│       │       │   │   ├── IGPUManager.sol
│       │       │   │   ├── IInferable.sol
│       │       │   │   ├── IModel.sol
│       │       │   │   ├── IModelCollection.sol
│       │       │   │   ├── IModelLoadBalancer.sol
│       │       │   │   ├── IScheduler.sol
│       │       │   │   └── ISystemPromptManager.sol
│       │       │   ├── library/
│       │       │   │   ├── Random.sol
│       │       │   │   ├── Set.sol
│       │       │   │   └── TransferHelper.sol
│       │       │   ├── standardUpgradeable/
│       │       │   │   ├── AI20Upgradeable.sol
│       │       │   │   ├── AI721Upgradeable.sol
│       │       │   │   └── interfaces/
│       │       │   │       ├── IAI20Upgradeable.sol
│       │       │   │       ├── IAI721Upgradeable.sol
│       │       │   │       └── IBase.sol
│       │       │   ├── standards/
│       │       │   │   ├── AI20.sol
│       │       │   │   ├── AI721.sol
│       │       │   │   └── interfaces/
│       │       │   │       ├── IAI20.sol
│       │       │   │       ├── IAI721.sol
│       │       │   │       └── IBase.sol
│       │       │   ├── storages/
│       │       │   │   ├── GPUManagerStorage.sol
│       │       │   │   ├── ModelCollectionStorage.sol
│       │       │   │   ├── ModelLoadBalancerStorage.sol
│       │       │   │   └── PromptSchedulerStorage.sol
│       │       │   └── wEAI.sol
│       │       ├── deployedAddressesV2.json
│       │       ├── foundry.toml
│       │       ├── hardhat.config.ts
│       │       ├── mocha-report.json
│       │       ├── package.json
│       │       ├── remappings.txt
│       │       ├── scripts/
│       │       │   ├── auto_deploy.ts
│       │       │   ├── registerMiners.ts
│       │       │   ├── tasks/
│       │       │   │   ├── control.task.ts
│       │       │   │   └── wallet.task.ts
│       │       │   ├── updateHybridModelMetadata.ts
│       │       │   └── utils.ts
│       │       ├── tests/
│       │       │   ├── address.seed.ts
│       │       │   └── refactor/
│       │       │       ├── helpers.ts
│       │       │       └── refactor.test.ts
│       │       └── tsconfig.json
│       └── version.txt
├── decentralized-inference/
│   ├── .dockerignore
│   ├── .gitignore
│   ├── README.md
│   ├── chat_config.json.example
│   ├── cmd/
│   │   ├── other/
│   │   │   └── chat/
│   │   │       ├── chat.go
│   │   │       └── chat_config.go
│   │   └── server/
│   │       ├── decentralize_infer.go
│   │       ├── router.go
│   │       └── server.go
│   ├── config.json
│   ├── config.json.example
│   ├── eai
│   ├── go.mod
│   ├── go.sum
│   ├── internal/
│   │   ├── abi/
│   │   │   ├── ai721.go
│   │   │   └── workerhub.go
│   │   ├── client/
│   │   │   └── client.go
│   │   ├── config/
│   │   │   └── config.go
│   │   ├── database/
│   │   │   ├── mongo.go
│   │   │   └── mysql.go
│   │   ├── eaimodel/
│   │   │   └── eaimodel.go
│   │   ├── libs/
│   │   │   └── http_client/
│   │   │       └── http.go
│   │   ├── lighthouse/
│   │   │   └── lighthouse.go
│   │   ├── logger/
│   │   │   └── logger.go
│   │   ├── models/
│   │   │   ├── batch_infer_history.go
│   │   │   ├── chain_config.go
│   │   │   ├── cloud_worker_proccess_histories.go
│   │   │   ├── decentralize_infer.go
│   │   │   ├── job_config.go
│   │   │   ├── mysql_models/
│   │   │   │   ├── agent_snapshot_missions.go
│   │   │   │   ├── agent_snapshot_post_action.go
│   │   │   │   ├── app_configs.go
│   │   │   │   ├── assistance_info.go
│   │   │   │   ├── buy_order.go
│   │   │   │   ├── eternal_key_trade_histories.go
│   │   │   │   ├── eternal_keys.go
│   │   │   │   ├── token_holders.go
│   │   │   │   ├── twitter_infos.go
│   │   │   │   └── twitter_tweet.go
│   │   │   └── sync_state.go
│   │   ├── rest/
│   │   │   └── template.go
│   │   ├── services/
│   │   │   ├── chain_config.go
│   │   │   ├── config.json
│   │   │   ├── decentralize_infer.go
│   │   │   ├── jobconfig.go
│   │   │   ├── service.go
│   │   │   ├── submit_solution_job.go
│   │   │   ├── submit_solution_job_test.go
│   │   │   └── worker_process_history.go
│   │   └── types/
│   │       └── decentralize-infer.go
│   ├── main.go
│   └── main_test.go
├── decentralized-storage/
│   ├── .gitignore
│   ├── .mocharc.json
│   ├── README copy.md
│   ├── README.md
│   ├── arweave/
│   │   └── README.md
│   ├── compiler_config.json
│   ├── filecoin/
│   │   └── README.md
│   ├── foundry.toml
│   ├── greenfield/
│   │   └── README.md
│   ├── hardhat.config.ts
│   ├── mocha-report.json
│   ├── package.json
│   ├── remappings.txt
│   └── tsconfig.json
├── developer-guides/
│   ├── README.md
│   ├── agent-design-patterns/
│   │   ├── README.md
│   │   ├── augmented-llm/
│   │   │   └── README.md
│   │   ├── autonomous-agent/
│   │   │   └── README.md
│   │   ├── evaluator-optimizer/
│   │   │   └── README.md
│   │   ├── orchestrator-workers/
│   │   │   └── README.md
│   │   ├── parallelization/
│   │   │   └── README.md
│   │   ├── prompt-chaining/
│   │   │   └── README.md
│   │   └── routing/
│   │       └── README.md
│   ├── examples/
│   │   ├── README.md
│   │   ├── ai-powered-wallet/
│   │   │   ├── .gitignore
│   │   │   ├── contracts/
│   │   │   │   ├── AIPoweredWallet.sol
│   │   │   │   └── AIPoweredWalletV2.sol
│   │   │   ├── hardhat.config.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── scripts/
│   │   │   │   ├── deployAIPoweredWallet.ts
│   │   │   │   ├── suspiciousTransaction.ts
│   │   │   │   └── suspiciousTransactionV2.ts
│   │   │   └── tsconfig.json
│   │   ├── crosschain-llm-communicate/
│   │   │   ├── .eslintignore
│   │   │   ├── .eslintrc.js
│   │   │   ├── .gitignore
│   │   │   ├── .prettierignore
│   │   │   ├── .prettierrc
│   │   │   ├── .prettierrc.js
│   │   │   ├── README.md
│   │   │   ├── contracts/
│   │   │   │   ├── Questioner.sol
│   │   │   │   ├── RequestBuilder.sol
│   │   │   │   └── interfaces/
│   │   │   │       ├── IAIKernel.sol
│   │   │   │       ├── IInferable.sol
│   │   │   │       ├── IModel.sol
│   │   │   │       └── IPromptScheduler.sol
│   │   │   ├── deploy/
│   │   │   │   └── Questioner.ts
│   │   │   ├── foundry.toml
│   │   │   ├── hardhat.config.ts
│   │   │   ├── layerzero.config.ts
│   │   │   ├── mainnet.layerzero.config.ts
│   │   │   ├── package.json
│   │   │   ├── scripts/
│   │   │   │   └── askLLM.ts
│   │   │   ├── solhint.config.js
│   │   │   └── tsconfig.json
│   │   ├── dagent-play-chess/
│   │   │   ├── .gitignore
│   │   │   ├── contracts/
│   │   │   │   └── DagentPlayChess.sol
│   │   │   ├── hardhat.config.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── scripts/
│   │   │   │   ├── playChess.ts
│   │   │   │   └── processBoard.ts
│   │   │   └── tsconfig.json
│   │   ├── decentralized-chatgpt/
│   │   │   ├── README.md
│   │   │   ├── configs/
│   │   │   │   ├── daemon.json
│   │   │   │   └── eternal.json
│   │   │   ├── daemon.py
│   │   │   ├── dagent/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── agents/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── base_agent.py
│   │   │   │   │   ├── react_agent.py
│   │   │   │   │   └── simple_chat_agent.py
│   │   │   │   ├── characters/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── character_base.py
│   │   │   │   │   ├── simple_character.py
│   │   │   │   │   └── twitter_user_character.py
│   │   │   │   ├── constant.py
│   │   │   │   ├── llm/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── base_llm.py
│   │   │   │   │   └── eternal_llm.py
│   │   │   │   ├── models.py
│   │   │   │   ├── registry.py
│   │   │   │   ├── service.py
│   │   │   │   ├── tools/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── base_toolset.py
│   │   │   │   │   ├── functional.py
│   │   │   │   │   ├── search.py
│   │   │   │   │   ├── trading_toolset.py
│   │   │   │   │   └── twitter_toolset.py
│   │   │   │   ├── utils.py
│   │   │   │   └── version.py
│   │   │   ├── http_endpoints.py
│   │   │   ├── requirements.txt
│   │   │   ├── setup.py
│   │   │   └── toolkit/
│   │   │       ├── chat-lite.py
│   │   │       ├── chat.py
│   │   │       ├── get_json_schema.py
│   │   │       └── health_check.py
│   │   ├── decentralized-inference-api-deephermes-base/
│   │   │   ├── README.md
│   │   │   └── chat.js
│   │   ├── decentralized-inference-api-deepseek-r1-1776-avax/
│   │   │   ├── README.md
│   │   │   └── chat.js
│   │   ├── decentralized-inference-api-deepseek-r1-base/
│   │   │   └── README.md
│   │   ├── decentralized-inference-api-deepseek-r1-bnb/
│   │   │   └── README.md
│   │   ├── decentralized-inference-api-dobby-polygon/
│   │   │   └── README.md
│   │   ├── decentralized-inference-api-hyperevm/
│   │   │   ├── README.md
│   │   │   └── chat.js
│   │   ├── decentralized-inference-api-wan2.1-base/
│   │   │   └── README.md
│   │   ├── decentralized-inference-contract-interaction-deepseek-r1-1776-avax/
│   │   │   └── README.md
│   │   ├── decentralized-inference-contract-interaction-deepseek-r1-hyperevm/
│   │   │   └── README.md
│   │   ├── eliza-deepseek-r1-base/
│   │   │   └── README.md
│   │   ├── eliza-dobby-polygon/
│   │   │   └── README.md
│   │   ├── how-to-mint-agent/
│   │   │   ├── .gitignore
│   │   │   ├── config.json
│   │   │   ├── mintAgent.ts
│   │   │   ├── package.json
│   │   │   ├── prompt.txt
│   │   │   ├── readme.md
│   │   │   └── tsconfig.json
│   │   ├── rig-deepseek-r1-base/
│   │   │   └── README.md
│   │   ├── rig-dobby-polygon/
│   │   │   └── README.md
│   │   ├── rig-dobby70-polygon/
│   │   │   └── README.md
│   │   ├── tee-phala-cloud/
│   │   │   ├── README.md
│   │   │   └── golang/
│   │   │       ├── Dockerfile
│   │   │       ├── docker-compose.yml
│   │   │       ├── docker-phala.yml
│   │   │       ├── go.mod
│   │   │       ├── go.sum
│   │   │       └── main.go
│   │   ├── universe-dagents/
│   │   │   ├── .gitignore
│   │   │   ├── contracts/
│   │   │   │   ├── IHybridModel.sol
│   │   │   │   └── IPromptScheduler.sol
│   │   │   ├── hardhat.config.ts
│   │   │   ├── package.json
│   │   │   ├── readme.md
│   │   │   ├── scripts/
│   │   │   │   ├── config.json
│   │   │   │   └── sendUniverseAgentRequest.ts
│   │   │   └── tsconfig.json
│   │   ├── zerepy-deepseek-r1-base/
│   │   │   └── README.md
│   │   └── zerepy-dobby-polygon/
│   │       └── README.md
│   └── run-an-end-to-end-decentralized-for-ai-agents/
│       ├── 4.how-to-deploy-and-mint-agent/
│       │   ├── .gitignore
│       │   ├── README.md
│       │   ├── contracts/
│       │   │   ├── AI721.sol
│       │   │   ├── HybridModel.sol
│       │   │   ├── ModelCollection.sol
│       │   │   ├── StakingHub.sol
│       │   │   ├── Treasury.sol
│       │   │   ├── WorkerHub.sol
│       │   │   ├── interfaces/
│       │   │   │   ├── IAI721.sol
│       │   │   │   ├── ICallBack.sol
│       │   │   │   ├── IHybridModel.sol
│       │   │   │   ├── IInferable.sol
│       │   │   │   ├── IModel.sol
│       │   │   │   ├── IModelCollection.sol
│       │   │   │   ├── IStakingHub.sol
│       │   │   │   └── IWorkerHub.sol
│       │   │   ├── library/
│       │   │   │   ├── Random.sol
│       │   │   │   ├── Set.sol
│       │   │   │   └── TransferHelper.sol
│       │   │   ├── storages/
│       │   │   │   ├── AI721Storage.sol
│       │   │   │   ├── HybridModelStorage.sol
│       │   │   │   ├── ModelCollectionStorage.sol
│       │   │   │   ├── StakingHubStorage.sol
│       │   │   │   └── WorkerHubStorage.sol
│       │   │   ├── tokens/
│       │   │   │   ├── DAOToken.sol
│       │   │   │   └── IDAOToken.sol
│       │   │   └── wEAI.sol
│       │   ├── deploy-ai721.sh
│       │   ├── deployedAddresses.json
│       │   ├── get-system-prompt.sh
│       │   ├── hardhat.config.ts
│       │   ├── ls-agents.sh
│       │   ├── mint-agent.sh
│       │   ├── package.json
│       │   ├── scripts/
│       │   │   ├── autoDeploy.ts
│       │   │   ├── getSystemPrompt.ts
│       │   │   ├── library/
│       │   │   │   ├── lib.ts
│       │   │   │   └── utils.ts
│       │   │   ├── lsAgent.ts
│       │   │   └── mintAgent.ts
│       │   ├── system-prompts/
│       │   │   └── naruto_fan.txt
│       │   └── tsconfig.json
│       ├── 5.start-agent/
│       │   ├── Dockerfile
│       │   ├── README.md
│       │   ├── config.json
│       │   └── setup.js
│       └── README.md
├── docs/
│   ├── README.md
│   ├── SUMMARY.md
│   ├── ai-chains/
│   │   ├── ai-chains-bitcoin-l2s-vs-subnets.md
│   │   ├── apps-smart-contracts-vs-apis.md
│   │   ├── base-layer-bitcoin-vs-bittensor.md
│   │   ├── bittensor-and-existing-concepts.md
│   │   └── what-are-ai-chains.md
│   ├── decentralized-inference-api/
│   │   ├── api/
│   │   │   ├── README.md
│   │   │   ├── agent-completion.md
│   │   │   ├── api-key.md
│   │   │   ├── chat-completion.md
│   │   │   ├── completions.md
│   │   │   ├── create-a-dagent.md
│   │   │   ├── get-dagent-info.md
│   │   │   ├── get-deposit-address.md
│   │   │   └── imagine-and-reimagine.md
│   │   ├── onchain-models.md
│   │   ├── open-source/
│   │   │   ├── README.md
│   │   │   ├── architecture.md
│   │   │   └── installation.md
│   │   └── tutorials/
│   │       ├── README.md
│   │       ├── adjust-your-dagent-personality.md
│   │       ├── build-a-dagent-as-a-service-with-eternalai-api.md
│   │       ├── build-unstoppable-eliza-agents.md
│   │       ├── build-unstoppable-rig-agents.md
│   │       ├── build-unstoppable-zerepy-agents-1.md
│   │       ├── build-unstoppable-zerepy-agents.md
│   │       ├── chain-of-thought.md
│   │       ├── decentralized-chatgpt.md
│   │       ├── dont-trust-verify.md
│   │       └── launch-on-twitter.md
│   ├── eai/
│   │   ├── tokenomics.md
│   │   └── utilities.md
│   ├── eternals/
│   │   ├── proof-of-compute.md
│   │   ├── specification.md
│   │   └── what-are-eternals.md
│   ├── fully-onchain-ai-models/
│   │   ├── architecture.md
│   │   ├── deploy-your-first-fully-onchain-ai/
│   │   │   ├── README.md
│   │   │   ├── create-a-self-custody-wallet.md
│   │   │   ├── send-receive-and-trade-eternals.md
│   │   │   ├── set-up-your-development-environment.md
│   │   │   ├── train-an-ai-model-in-keras.md
│   │   │   └── transform-the-keras-model-to-eternal.md
│   │   ├── misc/
│   │   │   ├── README.md
│   │   │   ├── specification/
│   │   │   │   ├── README.md
│   │   │   │   ├── layers.md
│   │   │   │   └── models.md
│   │   │   ├── standardized-data-formats.md
│   │   │   └── transforming-an-ai-model-into-an-eternal.md
│   │   └── progress.md
│   ├── neurons/
│   │   ├── neuron-device.md
│   │   ├── virtual-neurons/
│   │   │   ├── README.md
│   │   │   ├── neuron-as-a-service.md
│   │   │   ├── pooled-neuron.md
│   │   │   └── solo-neuron.md
│   │   └── what-are-neurons.md
│   ├── smart-contracts-ai-powered/
│   │   ├── how-to-use-onchain-flux.1.md
│   │   ├── how-to-use-onchain-llm.md
│   │   ├── onchain-ai-composability-ai-powered-gaming-with-chess.md
│   │   └── onchain-ai-composability-ai-powered-wallet.md
│   └── the-new-internet-ai-powered/
│       ├── bitcoin-ai-powered/
│       │   ├── README.md
│       │   ├── bitai-virtual-machine.md
│       │   ├── eternals-on-bitcoin.md
│       │   └── run-a-bitai-node.md
│       ├── ethereum-ai-powered.md
│       └── solana-ai-powered.md
├── eai.sh
├── install.sh
├── media-kit/
│   ├── .gitignore
│   ├── README.md
│   └── fonts/
│       ├── Inter/
│       │   ├── OFL.txt
│       │   └── README.txt
│       └── JetBrains_Mono/
│           ├── OFL.txt
│           └── README.txt
├── quickstart.sh
└── research/
    ├── README.md
    ├── cuda-evm/
    │   ├── README.md
    │   ├── eternal-cuda-evm-kernel/
    │   │   ├── .gitignore
    │   │   ├── README.md
    │   │   ├── src/
    │   │   │   ├── Makefile
    │   │   │   ├── algo/
    │   │   │   │   ├── activations.cu
    │   │   │   │   ├── conv.cu
    │   │   │   │   ├── element_wise_operator.cu
    │   │   │   │   ├── kernels.cu
    │   │   │   │   ├── matrixmul.cu
    │   │   │   │   ├── merging.cu
    │   │   │   │   ├── normalization.cu
    │   │   │   │   ├── pooling.cu
    │   │   │   │   ├── reduction.cu
    │   │   │   │   └── transforms.cu
    │   │   │   ├── computelib.cu
    │   │   │   ├── deprecated/
    │   │   │   │   └── algo/
    │   │   │   │       └── wrapper.cu
    │   │   │   ├── include/
    │   │   │   │   ├── computelib.h
    │   │   │   │   ├── fixedlonglong32x32.cuh
    │   │   │   │   ├── helpers.cuh
    │   │   │   │   ├── kernels.cuh
    │   │   │   │   ├── operations.cuh
    │   │   │   │   └── tensor.h
    │   │   │   ├── jsoncpp/
    │   │   │   │   ├── json/
    │   │   │   │   │   ├── json-forwards.h
    │   │   │   │   │   └── json.h
    │   │   │   │   └── jsoncpp.cpp
    │   │   │   └── utils/
    │   │   │       └── helpers.cu
    │   │   └── test/
    │   │       ├── abi.py
    │   │       ├── op.py
    │   │       ├── packs/
    │   │       │   ├── __init__.py
    │   │       │   ├── test_abi.py
    │   │       │   ├── test_activations.py
    │   │       │   ├── test_conv2d.py
    │   │       │   ├── test_elementwise.py
    │   │       │   ├── test_matmul.py
    │   │       │   ├── test_merging.py
    │   │       │   ├── test_norm.py
    │   │       │   ├── test_pooling.py
    │   │       │   ├── test_reduction.py
    │   │       │   ├── test_registry.py
    │   │       │   └── test_transformation.py
    │   │       ├── requirements.txt
    │   │       ├── run.py
    │   │       ├── tensor.py
    │   │       └── utils.py
    │   ├── eternal-keras/
    │   │   ├── .gitignore
    │   │   ├── README.md
    │   │   ├── eai/
    │   │   │   ├── __init__.py
    │   │   │   ├── artifacts/
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── collection/
    │   │   │   │   │   ├── ModelCollection.py
    │   │   │   │   │   └── __init__.py
    │   │   │   │   ├── layers/
    │   │   │   │   │   ├── AddLayer.py
    │   │   │   │   │   ├── AveragePooling2DLayer.py
    │   │   │   │   │   ├── BatchNormalizationLayer.py
    │   │   │   │   │   ├── ConcatenateLayer.py
    │   │   │   │   │   ├── Conv2DLayer.py
    │   │   │   │   │   ├── DenseLayer.py
    │   │   │   │   │   ├── DropoutLayer.py
    │   │   │   │   │   ├── FlattenLayer.py
    │   │   │   │   │   ├── GlobalAveragePooling2DLayer.py
    │   │   │   │   │   ├── InputLayer.py
    │   │   │   │   │   ├── LinearLayer.py
    │   │   │   │   │   ├── MaxPooling2DLayer.py
    │   │   │   │   │   ├── MultiplyLayer.py
    │   │   │   │   │   ├── OnesLikeLayer.py
    │   │   │   │   │   ├── ReLULayer.py
    │   │   │   │   │   ├── RescaleLayer.py
    │   │   │   │   │   ├── SigmoidLayer.py
    │   │   │   │   │   ├── SoftmaxLayer.py
    │   │   │   │   │   ├── ZeroPadding2DLayer.py
    │   │   │   │   │   ├── ZerosLikeLayer.py
    │   │   │   │   │   └── __init__.py
    │   │   │   │   └── models/
    │   │   │   │       ├── FunctionalModel.py
    │   │   │   │       └── __init__.py
    │   │   │   ├── cli.py
    │   │   │   ├── deployer.py
    │   │   │   ├── exporter.py
    │   │   │   ├── func.py
    │   │   │   ├── layer_config.py
    │   │   │   ├── layers.py
    │   │   │   ├── model.py
    │   │   │   ├── network_config.py
    │   │   │   ├── utils.py
    │   │   │   └── version.py
    │   │   ├── examples/
    │   │   │   └── fashion_mnist/
    │   │   │       ├── fashion_mnist.keras
    │   │   │       └── fashion_mnist_input.npy
    │   │   ├── requirements.txt
    │   │   ├── setup.py
    │   │   └── tutorial.ipynb
    │   └── eternal-tensor/
    │       ├── .gitignore
    │       ├── .mocharc.json
    │       ├── README.md
    │       ├── contracts/
    │       │   ├── FunctionalModel.sol
    │       │   ├── interfaces/
    │       │   │   ├── ICollectibleModel.sol
    │       │   │   └── IFunctionalModel.sol
    │       │   └── libraries/
    │       │       ├── Float32x32/
    │       │       │   ├── ABDKMath32x32.sol
    │       │       │   └── Lib32x32.sol
    │       │       ├── layers-new/
    │       │       │   ├── AddLayer.sol
    │       │       │   ├── AveragePooling2DLayer.sol
    │       │       │   ├── BatchNormalizationLayer.sol
    │       │       │   ├── ConcatenateLayer.sol
    │       │       │   ├── Conv2DLayer.sol
    │       │       │   ├── DenseLayer.sol
    │       │       │   ├── DepthwiseConv2D.sol
    │       │       │   ├── DropoutLayer.sol
    │       │       │   ├── FlattenLayer.sol
    │       │       │   ├── GlobalAveragePooling2DLayer.sol
    │       │       │   ├── ILayer.sol
    │       │       │   ├── InputLayer.sol
    │       │       │   ├── Layers.sol
    │       │       │   ├── LinearLayer.sol
    │       │       │   ├── MaxPooling2DLayer.sol
    │       │       │   ├── MultiplyLayer.sol
    │       │       │   ├── OnesLikeLayer.sol
    │       │       │   ├── ReLULayer.sol
    │       │       │   ├── RescaleLayer.sol
    │       │       │   ├── SigmoidLayer.sol
    │       │       │   ├── SoftmaxLayer.sol
    │       │       │   ├── ZeroPadding2DLayer.sol
    │       │       │   ├── ZerosLikeLayer.sol
    │       │       │   └── _deprecated/
    │       │       │       ├── EmbeddingLayer.sol
    │       │       │       ├── LSTMLayer.sol
    │       │       │       └── SimpleRNNLayer.sol
    │       │       ├── libCudaParams.sol
    │       │       ├── libCudaTensor.sol
    │       │       └── tensors/
    │       │           ├── TensorMethods.sol
    │       │           ├── Tensors.sol
    │       │           └── _deprecated/
    │       │               ├── Tensor1DCuda.sol
    │       │               ├── Tensor1DMethods.sol
    │       │               ├── Tensor2DCuda.sol
    │       │               ├── Tensor2DMethods.sol
    │       │               ├── Tensor3DCuda.sol
    │       │               ├── Tensor3DMethods.sol
    │       │               ├── Tensor4DCuda.sol
    │       │               └── Tensor4DMethods.sol
    │       ├── foundry.toml
    │       ├── hardhat.config.ts
    │       ├── mocha-report.json
    │       ├── package.json
    │       ├── sample-models/
    │       │   ├── lenet5.b64
    │       │   ├── lenet5.json
    │       │   ├── nft-classifier.b64
    │       │   └── nft-classifier.json
    │       ├── scripts/
    │       │   ├── deploy-functional-model.ts
    │       │   ├── export-artifacts.py
    │       │   ├── get-miniconda3.sh
    │       │   ├── libraries/
    │       │   │   ├── modelLib.ts
    │       │   │   ├── tensorData.ts
    │       │   │   └── utils.ts
    │       │   └── tests/
    │       │       └── layers/
    │       │           ├── add.py
    │       │           ├── add.test.ts
    │       │           ├── avgPooling.test.ts
    │       │           ├── avgpooling2D.py
    │       │           ├── batchnorm.py
    │       │           ├── batchnorm.test.ts
    │       │           ├── concatenate.test.ts
    │       │           ├── conv2d.py
    │       │           ├── conv2d.test.ts
    │       │           ├── dense.py
    │       │           ├── dense.test.ts
    │       │           ├── depthwiseConv2d.py
    │       │           ├── depthwiseconv2d.test.ts
    │       │           ├── dropout.test.ts
    │       │           ├── embedding.test.ts
    │       │           ├── flatten.test.ts
    │       │           ├── globalAvgPooling.test.ts
    │       │           ├── globalavgpooling.py
    │       │           ├── linear.test.ts
    │       │           ├── maxpooling.test.ts
    │       │           ├── maxpooling2D.py
    │       │           ├── multiply.py
    │       │           ├── multiply.test.ts
    │       │           ├── oneslike.test.ts
    │       │           ├── padding.py
    │       │           ├── relu.py
    │       │           ├── relu.test.ts
    │       │           ├── rescale.py
    │       │           ├── rescale.test.ts
    │       │           ├── sigmoid.py
    │       │           ├── sigmoid.test.ts
    │       │           ├── simpleRNN.test.ts
    │       │           ├── softmax.py
    │       │           ├── softmax.test.ts
    │       │           ├── zeropadding.test.ts
    │       │           └── zeroslike.test.ts
    │       └── tsconfig.json
    ├── dao-ai/
    │   └── README.md
    ├── game-ai/
    │   └── README.md
    ├── nft-ai/
    │   ├── README.md
    │   ├── cryptoagents/
    │   │   └── README.md
    │   └── cryptohumans/
    │       └── README.md
    ├── physical-ai/
    │   ├── README.md
    │   ├── neuron/
    │   │   └── README.md
    │   └── sentient/
    │       └── README.md
    ├── stores/
    │   ├── README.md
    │   ├── ability-store/
    │   │   └── README.md
    │   ├── agent-store/
    │   │   └── README.md
    │   ├── knowledge-store/
    │   │   └── README.md
    │   └── model-store/
    │       └── README.md
    └── tee/
        ├── README.md
        ├── marlin/
        │   └── README.md
        └── phala/
            ├── README.md
            └── golang/
                ├── Dockerfile
                ├── docker-compose.yml
                ├── docker-phala.yml
                ├── go.mod
                ├── go.sum
                └── main.go
Download .txt
Showing preview only (3,056K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (29177 symbols across 1321 files)

FILE: EternalAI.js/packages/core/src/types.d.ts
  type ethers (line 3) | type ethers = typeof import('ethers');

FILE: EternalAI.js/packages/interact/scripts/main.ts
  constant AGENT_CONTRACT_ADDRESSES (line 7) | const AGENT_CONTRACT_ADDRESSES: Record<ChainId, string> = {
  function testInferV1 (line 25) | async function testInferV1() {
  function testInferV2 (line 37) | async function testInferV2() {
  function testInferExternalWalletV1 (line 59) | async function testInferExternalWalletV1() {
  function testInferExternalWalletV2 (line 71) | async function testInferExternalWalletV2() {

FILE: EternalAI.js/packages/interact/src/baseInteract.ts
  class BaseInteract (line 12) | class BaseInteract {
    method getProvider (line 13) | protected getProvider(chainId: ChainId, rpcUrl?: string) {
    method normalizePayload (line 29) | protected normalizePayload(
    method sendSignedTransactionAndListenResult (line 38) | protected async sendSignedTransactionAndListenResult(
  type IInteract (line 60) | interface IInteract {

FILE: EternalAI.js/packages/interact/src/constants.ts
  type ChainId (line 1) | enum ChainId {
  constant CHAIN_MAPPING (line 6) | const CHAIN_MAPPING: Record<ChainId, string> = {

FILE: EternalAI.js/packages/interact/src/global.d.ts
  type ethers (line 3) | type ethers = typeof import('ethers');

FILE: EternalAI.js/packages/interact/src/interact.ts
  class Interact (line 7) | class Interact extends BaseInteract implements IInteract {
    method constructor (line 10) | constructor(wallet: ethers.Wallet) {
    method getNetworkCredential (line 19) | private getNetworkCredential(chainId: ChainId, rpcUrl?: string) {
    method infer (line 36) | public async infer(
    method inferWithPrompt (line 67) | private async inferWithPrompt(
    method inferWithMessages (line 88) | private async inferWithMessages(

FILE: EternalAI.js/packages/interact/src/interactWithExternalWallet.ts
  class InteractWithExternalWallet (line 11) | class InteractWithExternalWallet extends BaseInteract implements IIntera...
    method constructor (line 14) | constructor(wallet: ExternalWallet) {
    method getNetworkCredential (line 19) | private getNetworkCredential(chainId: ChainId, rpcUrl?: string) {
    method infer (line 39) | public async infer(
    method inferWithPrompt (line 70) | private async inferWithPrompt(
    method inferWithMessages (line 91) | private async inferWithMessages(

FILE: EternalAI.js/packages/interact/src/methods/infer/constants.ts
  constant AGENT_ABI (line 3) | const AGENT_ABI: ethers.ContractInterface = [
  constant HYBRID_MODEL_ABI (line 1073) | const HYBRID_MODEL_ABI: ethers.ContractInterface = [
  constant WORKER_HUB_ABI (line 1527) | const WORKER_HUB_ABI: ethers.ContractInterface = [
  constant PROMPT_SCHEDULER_ABI (line 2757) | const PROMPT_SCHEDULER_ABI: ethers.ContractInterface = [
  constant IPFS (line 3783) | const IPFS = 'ipfs://';
  constant LIGHTHOUSE_IPFS (line 3784) | const LIGHTHOUSE_IPFS = 'https://gateway.lighthouse.storage/ipfs/';

FILE: EternalAI.js/packages/interact/src/methods/infer/index.ts
  class InferenceResponse (line 51) | class InferenceResponse {
    method constructor (line 56) | constructor(result_uri: string, storage: string, data: string) {
    method fromJSON (line 62) | static fromJSON(json: string): InferenceResponse {

FILE: EternalAI.js/packages/interact/src/methods/infer/types.ts
  type Message (line 1) | type Message = {
  type SendInferResponse (line 6) | type SendInferResponse = string;
  type ListenInferPayload (line 8) | type ListenInferPayload = SendInferResponse;

FILE: EternalAI.js/packages/interact/src/methods/types.ts
  type InteractWallet (line 3) | interface InteractWallet {
  type InteractMethod (line 9) | type InteractMethod = {

FILE: EternalAI.js/packages/interact/src/types.ts
  type InferPayloadBase (line 6) | type InferPayloadBase = {
  type InferPayloadWithPrompt (line 12) | type InferPayloadWithPrompt = InferPayloadBase & {
  type InferPayloadWithMessages (line 17) | type InferPayloadWithMessages = InferPayloadBase & {
  type ExternalWallet (line 22) | type ExternalWallet = Pick<InteractWallet, 'getAddress' | 'address'> & {

FILE: EternalAI.js/packages/langchain/jest.env.cjs
  class AdjustedTestEnvironmentToSupportFloat32Array (line 3) | class AdjustedTestEnvironmentToSupportFloat32Array extends TestEnvironme...
    method constructor (line 4) | constructor(config, context) {

FILE: EternalAI.js/packages/langchain/langchain.config.js
  function abs (line 8) | function abs(relativePath) {

FILE: EternalAI.js/packages/langchain/src/chat_models.ts
  type ChatIntegrationInput (line 28) | interface ChatIntegrationInput extends BaseChatModelParams {}
  class ChatIntegration (line 33) | class ChatIntegration
    method lc_name (line 40) | static lc_name() {
    method lc_secrets (line 51) | get lc_secrets(): { [key: string]: string } | undefined {
    method lc_aliases (line 57) | get lc_aliases(): { [key: string]: string } | undefined {
    method constructor (line 63) | constructor(fields?: ChatIntegrationInput) {
    method _llmType (line 68) | _llmType() {
    method _call (line 75) | _call(
    method _combineLLMOutput (line 124) | _combineLLMOutput() {

FILE: EternalAI.js/packages/langchain/src/llms.ts
  type LLMIntegrationInput (line 14) | interface LLMIntegrationInput extends BaseLLMParams {}
  class LLMIntegration (line 19) | class LLMIntegration
    method lc_name (line 24) | static lc_name() {
    method constructor (line 30) | constructor(fields: LLMIntegrationInput) {
    method _llmType (line 35) | _llmType() {
    method lc_secrets (line 44) | get lc_secrets(): { [key: string]: string } | undefined {
    method lc_aliases (line 50) | get lc_aliases(): { [key: string]: string } | undefined {
    method _call (line 59) | async _call(

FILE: EternalAI.js/packages/langchain/src/vectorstores.ts
  type VectorstoreIntegrationParams (line 8) | interface VectorstoreIntegrationParams {}
  class VectorstoreIntegration (line 14) | class VectorstoreIntegration extends VectorStore {
    method _vectorstoreType (line 16) | _vectorstoreType(): string {
    method constructor (line 20) | constructor(
    method lc_secrets (line 33) | get lc_secrets(): { [key: string]: string } | undefined {
    method lc_aliases (line 39) | get lc_aliases(): { [key: string]: string } | undefined {
    method addDocuments (line 50) | async addDocuments(
    method addVectors (line 65) | async addVectors(
    method similaritySearchVectorWithScore (line 77) | async similaritySearchVectorWithScore(
    method fromDocuments (line 91) | static async fromDocuments(

FILE: EternalAI.js/packages/ui/public/bundle.iife.js
  function n (line 1) | function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);retu...
  class c (line 1) | class c{result_uri;storage;data;constructor(e,t,n){this.result_uri=e,thi...
    method constructor (line 1) | constructor(e,t,n){this.result_uri=e,this.storage=t,this.data=n}
    method fromJSON (line 1) | static fromJSON(e){const t=JSON.parse(e);return Object.assign(new c(""...
  method constructor (line 1) | constructor(e){if(!a.Wallet.isSigner(e))throw new Error("Provided wallet...
  method getProvider (line 1) | getProvider(e,t){if(t)return new a.providers.JsonRpcProvider(t);if(!u[e]...
  method getNetworkCredential (line 1) | getNetworkCredential(e,t){const n=this.getProvider(e,t);return{provider:...
  method normalizePayload (line 1) | normalizePayload(e){return{...e,isLightHouse:e.isLightHouse??!1}}
  method infer (line 1) | async infer(e){try{const t=this.normalizePayload(e);if(console.log("infe...
  method inferWithPrompt (line 1) | async inferWithPrompt(e){console.log("inferWithPrompt - start");const{si...
  method inferWithMessages (line 1) | async inferWithMessages(e){console.log("inferWithMessages - start");cons...
  method constructor (line 1) | constructor(e){this._wallet=e}
  method getProvider (line 1) | getProvider(e,t){if(t)return new a.providers.JsonRpcProvider(t);if(!u[e]...
  method getNetworkCredential (line 1) | getNetworkCredential(e,t){const n=this.getProvider(e,t);return{provider:...
  method normalizePayload (line 1) | normalizePayload(e){return{...e,isLightHouse:e.isLightHouse??!1}}
  method infer (line 1) | async infer(e){try{const t=this.normalizePayload(e);if(console.log("infe...
  method inferWithPrompt (line 1) | async inferWithPrompt(e){console.log("inferWithEternalWalletWithPrompt -...
  method inferWithMessages (line 1) | async inferWithMessages(e){console.log("inferWithEternalWalletWithMessag...

FILE: EternalAI.js/packages/ui/src/App.tsx
  function App (line 6) | function App() {

FILE: EternalAI.js/packages/ui/src/pages/home/index.tsx
  function Home (line 3) | function Home() {

FILE: EternalAI.js/packages/ui/src/pages/package-core/index.tsx
  function PackageCore (line 5) | function PackageCore() {

FILE: EternalAI.js/packages/ui/src/pages/package-interact/index.tsx
  constant AGENT_CONTRACT_ADDRESSES (line 9) | const AGENT_CONTRACT_ADDRESSES: Record<ChainId, string> = {
  function PackageInteract (line 17) | function PackageInteract() {

FILE: agent-as-a-service/agent-deep-researcher/src/deep_research.py
  function call_openrouter_async (line 66) | async def call_openrouter_async(session, messages, model=INTERNAL_OPENAI...
  function generate_search_queries_async (line 99) | async def generate_search_queries_async(session, user_query):
  function perform_search_async (line 129) | async def perform_search_async(session, query):
  function fetch_webpage_text_async (line 179) | async def fetch_webpage_text_async(session, url):
  function is_page_useful_async (line 204) | async def is_page_useful_async(session, user_query, page_text):
  function extract_relevant_context_async (line 232) | async def extract_relevant_context_async(session, user_query, search_que...
  function get_new_search_queries_async (line 252) | async def get_new_search_queries_async(session, user_query, previous_sea...
  function generate_final_report_async (line 288) | async def generate_final_report_async(session, user_query, all_contexts):
  function process_link (line 308) | async def process_link(session, link, user_query, search_query):
  function async_main (line 330) | async def async_main(run_id = "", user_query="", iteration_limit=2):
  function run_deep_research (line 406) | def run_deep_research(run_id= "", user_query="", iter_limit_input=2):

FILE: agent-as-a-service/agent-deep-researcher/src/main.py
  class Hello (line 9) | class Hello(Resource):
    method get (line 10) | def get(self):
  class DeepResearch (line 13) | class DeepResearch(Resource):
    method post (line 14) | def post(self):

FILE: agent-as-a-service/agent-launchpad/deploy/migrations.ts
  function main (line 7) | async function main() {
  function deploy (line 13) | async function deploy() {

FILE: agent-as-a-service/agent-launchpad/deploy/types.ts
  type ContractData (line 1) | type ContractData = {
  type DeployData (line 6) | type DeployData = {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_admin.go
  method AdminTriggerJob (line 14) | func (s *Server) AdminTriggerJob(c *gin.Context) {
  method AdminHandleVideo (line 52) | func (s *Server) AdminHandleVideo(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_agent.go
  method GetListAgentCategory (line 15) | func (s *Server) GetListAgentCategory(c *gin.Context) {
  method GetListAgent (line 26) | func (s *Server) GetListAgent(c *gin.Context) {
  method GetListAgentUnClaimed (line 52) | func (s *Server) GetListAgentUnClaimed(c *gin.Context) {
  method GetListAgentForDojo (line 64) | func (s *Server) GetListAgentForDojo(c *gin.Context) {
  method GetAgentDetail (line 90) | func (s *Server) GetAgentDetail(c *gin.Context) {
  method GetAgentDetailByAgentID (line 102) | func (s *Server) GetAgentDetailByAgentID(c *gin.Context) {
  method GetAgentDetailByAgentIDForDojo (line 120) | func (s *Server) GetAgentDetailByAgentIDForDojo(c *gin.Context) {
  method AdminGetAgentDetailByAgentID (line 139) | func (s *Server) AdminGetAgentDetailByAgentID(c *gin.Context) {
  method AdminGetSnapshotPostActionByAgent (line 167) | func (s *Server) AdminGetSnapshotPostActionByAgent(c *gin.Context) {
  method GetAgentDetailByContract (line 196) | func (s *Server) GetAgentDetailByContract(c *gin.Context) {
  method UpdateAgentFarcaster (line 209) | func (s *Server) UpdateAgentFarcaster(c *gin.Context) {
  method GetListAgentTwitterPost (line 226) | func (s *Server) GetListAgentTwitterPost(c *gin.Context) {
  method GetAgentTwitterPostDetail (line 238) | func (s *Server) GetAgentTwitterPostDetail(c *gin.Context) {
  method GetListAgentEaiTopup (line 249) | func (s *Server) GetListAgentEaiTopup(c *gin.Context) {
  method PreviewAgentSystemPromp (line 261) | func (s *Server) PreviewAgentSystemPromp(c *gin.Context) {
  method PreviewAgentSystemPrompV1 (line 281) | func (s *Server) PreviewAgentSystemPrompV1(c *gin.Context) {
  method AgentChatSupport (line 311) | func (s *Server) AgentChatSupport(c *gin.Context) {
  method GetAgentBrainHistory (line 330) | func (s *Server) GetAgentBrainHistory(c *gin.Context) {
  method CreateUpdateAgentSnapshotMission (line 344) | func (s *Server) CreateUpdateAgentSnapshotMission(c *gin.Context) {
  method DeleteAgentSnapshotMission (line 361) | func (s *Server) DeleteAgentSnapshotMission(c *gin.Context) {
  method GetBrainDetailByTweetID (line 377) | func (s *Server) GetBrainDetailByTweetID(c *gin.Context) {
  method UnlinkAgentTwitterInfo (line 389) | func (s *Server) UnlinkAgentTwitterInfo(c *gin.Context) {
  method GetDashBoardAgent (line 400) | func (s *Server) GetDashBoardAgent(c *gin.Context) {
  method GetDashBoardAgentDetail (line 446) | func (s *Server) GetDashBoardAgentDetail(c *gin.Context) {
  method GetTokenInfoByContract (line 473) | func (s *Server) GetTokenInfoByContract(c *gin.Context) {
  method GetWebpageText (line 484) | func (s *Server) GetWebpageText(c *gin.Context) {
  method GetAgentMissionConfigs (line 495) | func (s *Server) GetAgentMissionConfigs(c *gin.Context) {
  method GetAgentMissionTokens (line 507) | func (s *Server) GetAgentMissionTokens(c *gin.Context) {
  method AgentChats (line 518) | func (s *Server) AgentChats(c *gin.Context) {
  method PauseAgent (line 535) | func (s *Server) PauseAgent(c *gin.Context) {
  method UpdateAgentExternalInfo (line 546) | func (s *Server) UpdateAgentExternalInfo(c *gin.Context) {
  method GetAgentSummaryReport (line 563) | func (s *Server) GetAgentSummaryReport(c *gin.Context) {
  method GetAgentChainFees (line 573) | func (s *Server) GetAgentChainFees(c *gin.Context) {
  method GetEaiLiquidityNetowrks (line 583) | func (s *Server) GetEaiLiquidityNetowrks(c *gin.Context) {
  method GetAgentInfoInstallInfo (line 587) | func (s *Server) GetAgentInfoInstallInfo(c *gin.Context) {
  method GetAgentInfoInstallCode (line 598) | func (s *Server) GetAgentInfoInstallCode(c *gin.Context) {
  method GetAgentLibrary (line 615) | func (s *Server) GetAgentLibrary(c *gin.Context) {
  method AddAgentLibrary (line 627) | func (s *Server) AddAgentLibrary(c *gin.Context) {
  method CheckNameExist (line 645) | func (s *Server) CheckNameExist(c *gin.Context) {
  method GetListUserVideo (line 699) | func (s *Server) GetListUserVideo(c *gin.Context) {
  method UpdateAgentCodeVersion (line 711) | func (s *Server) UpdateAgentCodeVersion(c *gin.Context) {
  method ExportUserPrivateKeyForClaimVideoReward (line 722) | func (s *Server) ExportUserPrivateKeyForClaimVideoReward(c *gin.Context) {
  method GetVideoUserInfo (line 737) | func (s *Server) GetVideoUserInfo(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_agent_assistant.go
  method AgentCreateAgentStudio (line 15) | func (s *Server) AgentCreateAgentStudio(c *gin.Context) {
  method AgentUpdateAgentStudio (line 38) | func (s *Server) AgentUpdateAgentStudio(c *gin.Context) {
  method AgentCreateAgentAssistant (line 62) | func (s *Server) AgentCreateAgentAssistant(c *gin.Context) {
  method AgentUpdateAgentAssistant (line 85) | func (s *Server) AgentUpdateAgentAssistant(c *gin.Context) {
  method AgentUpdateAgentAssistantInContract (line 108) | func (s *Server) AgentUpdateAgentAssistantInContract(c *gin.Context) {
  method UpdateTwinStatus (line 131) | func (s *Server) UpdateTwinStatus(c *gin.Context) {
  method UploadDataToLightHouse (line 149) | func (s *Server) UploadDataToLightHouse(c *gin.Context) {
  method GetNftOpenseaCollections (line 172) | func (s *Server) GetNftOpenseaCollections(c *gin.Context) {
  method GetNftCollectionsDetail (line 229) | func (s *Server) GetNftCollectionsDetail(c *gin.Context) {
  method GetNftCollectionsByTokenID (line 254) | func (s *Server) GetNftCollectionsByTokenID(c *gin.Context) {
  method AgentCreateAgentAssistantForLocal (line 282) | func (s *Server) AgentCreateAgentAssistantForLocal(c *gin.Context) {
  method MarkInstalledUtilityAgent (line 297) | func (s *Server) MarkInstalledUtilityAgent(c *gin.Context) {
  method MarkRecentChatUtilityAgent (line 320) | func (s *Server) MarkRecentChatUtilityAgent(c *gin.Context) {
  method MarkPromptCountUtilityAgent (line 343) | func (s *Server) MarkPromptCountUtilityAgent(c *gin.Context) {
  method LikeAgent (line 361) | func (s *Server) LikeAgent(c *gin.Context) {
  method CheckAgentLiked (line 379) | func (s *Server) CheckAgentLiked(c *gin.Context) {
  method PublicAgent (line 397) | func (s *Server) PublicAgent(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_agent_infer.go
  method AsyncBatchPrompt (line 12) | func (s *Server) AsyncBatchPrompt(c *gin.Context) {
  method GetBatchItem (line 39) | func (s *Server) GetBatchItem(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_agent_infra.go
  method proxyAgentStoreMiddleware (line 18) | func (s *Server) proxyAgentStoreMiddleware(prefixPath string) gin.Handle...
  method ScanAgentInfraMintHash (line 79) | func (s *Server) ScanAgentInfraMintHash(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_agent_trade.go
  method GetMemeConfigs (line 13) | func (s *Server) GetMemeConfigs(c *gin.Context) {
  method GetListMemeByAddress (line 34) | func (s *Server) GetListMemeByAddress(c *gin.Context) {
  method GetListMemeReport (line 47) | func (s *Server) GetListMemeReport(c *gin.Context) {
  method GetFeedMemeReport (line 70) | func (s *Server) GetFeedMemeReport(c *gin.Context) {
  method GetMemeDetail (line 84) | func (s *Server) GetMemeDetail(c *gin.Context) {
  method SeenMemeDetail (line 97) | func (s *Server) SeenMemeDetail(c *gin.Context) {
  method ShareMeme (line 105) | func (s *Server) ShareMeme(c *gin.Context) {
  method GetMemeCandleChart (line 113) | func (s *Server) GetMemeCandleChart(c *gin.Context) {
  method GetMemeTradeHistory (line 136) | func (s *Server) GetMemeTradeHistory(c *gin.Context) {
  method GetMemeTradeHistoryLatest (line 149) | func (s *Server) GetMemeTradeHistoryLatest(c *gin.Context) {
  method GetMemeNotification (line 160) | func (s *Server) GetMemeNotification(c *gin.Context) {
  method GetMemeNotificationLatest (line 172) | func (s *Server) GetMemeNotificationLatest(c *gin.Context) {
  method GetMemeListHolders (line 183) | func (s *Server) GetMemeListHolders(c *gin.Context) {
  method GetMemeListHolding (line 194) | func (s *Server) GetMemeListHolding(c *gin.Context) {
  method GetListMemeThread (line 258) | func (s *Server) GetListMemeThread(c *gin.Context) {
  method GetListMemeThreadLatest (line 272) | func (s *Server) GetListMemeThreadLatest(c *gin.Context) {
  method GetMemeUserProfile (line 285) | func (s *Server) GetMemeUserProfile(c *gin.Context) {
  method MemeValidatedFollow (line 296) | func (s *Server) MemeValidatedFollow(c *gin.Context) {
  method FollowUser (line 326) | func (s *Server) FollowUser(c *gin.Context) {
  method UnFollowUser (line 343) | func (s *Server) UnFollowUser(c *gin.Context) {
  method GetListFollowers (line 360) | func (s *Server) GetListFollowers(c *gin.Context) {
  method GetListFollowings (line 372) | func (s *Server) GetListFollowings(c *gin.Context) {
  method HideMemeThread (line 385) | func (s *Server) HideMemeThread(c *gin.Context) {
  method GetMemeWhiteListAddress (line 398) | func (s *Server) GetMemeWhiteListAddress(c *gin.Context) {
  method GetMemeBurnHistory (line 408) | func (s *Server) GetMemeBurnHistory(c *gin.Context) {
  method UserSeenMemeNotification (line 421) | func (s *Server) UserSeenMemeNotification(c *gin.Context) {
  method GenerateMemeStory (line 434) | func (s *Server) GenerateMemeStory(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_external_wallet.go
  method ExternalWalletCreateSOL (line 11) | func (s *Server) ExternalWalletCreateSOL(c *gin.Context) {
  method ExternalWalletGet (line 21) | func (s *Server) ExternalWalletGet(c *gin.Context) {
  method ExternalWalletBalances (line 31) | func (s *Server) ExternalWalletBalances(c *gin.Context) {
  method ExternalWalletComputeOrder (line 41) | func (s *Server) ExternalWalletComputeOrder(c *gin.Context) {
  method ExternalWalletCreateOrder (line 56) | func (s *Server) ExternalWalletCreateOrder(c *gin.Context) {
  method ExternalWalletGetOrders (line 71) | func (s *Server) ExternalWalletGetOrders(c *gin.Context) {
  method ExternalWalletGetTokens (line 82) | func (s *Server) ExternalWalletGetTokens(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_infra_twitter_app.go
  method InfraTwitterAppAuthenCallback (line 26) | func (s *Server) InfraTwitterAppAuthenCallback(c *gin.Context) {
  method UtilityPostTwitter (line 39) | func (s *Server) UtilityPostTwitter(c *gin.Context) {
  method InfraTwitterAppSearchRecentTweet (line 72) | func (s *Server) InfraTwitterAppSearchRecentTweet(c *gin.Context) {
  method GetInfraTwitterAppInfo (line 85) | func (s *Server) GetInfraTwitterAppInfo(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_internal.go
  method GetTwitterUserByID (line 12) | func (s *Server) GetTwitterUserByID(c *gin.Context) {
  method GetTwitterUserByIDByQuery (line 23) | func (s *Server) GetTwitterUserByIDByQuery(c *gin.Context) {
  method GetTwitterUserByUserName (line 34) | func (s *Server) GetTwitterUserByUserName(c *gin.Context) {
  method GetTwitterUserByUserNameByQuery (line 45) | func (s *Server) GetTwitterUserByUserNameByQuery(c *gin.Context) {
  method GetTwitterUserByQuery (line 56) | func (s *Server) GetTwitterUserByQuery(c *gin.Context) {
  method GetTwitterUserFollowing (line 67) | func (s *Server) GetTwitterUserFollowing(c *gin.Context) {
  method GetTwitterUserFollowingByQuery (line 79) | func (s *Server) GetTwitterUserFollowingByQuery(c *gin.Context) {
  method GetTwitterUserFollowingByUsername (line 91) | func (s *Server) GetTwitterUserFollowingByUsername(c *gin.Context) {
  method GetTwitterUserFollowingByUsernameByQuery (line 103) | func (s *Server) GetTwitterUserFollowingByUsernameByQuery(c *gin.Context) {
  method GetListUserTweets (line 115) | func (s *Server) GetListUserTweets(c *gin.Context) {
  method GetListUserTweetsAll (line 128) | func (s *Server) GetListUserTweetsAll(c *gin.Context) {
  method GetListUserTweetsByQuery (line 141) | func (s *Server) GetListUserTweetsByQuery(c *gin.Context) {
  method GetListUserTweetsByUserName (line 154) | func (s *Server) GetListUserTweetsByUserName(c *gin.Context) {
  method GetListUserTweetsByUserNameV1 (line 167) | func (s *Server) GetListUserTweetsByUserNameV1(c *gin.Context) {
  method GetListUserTweetsByUserNameByQuery (line 180) | func (s *Server) GetListUserTweetsByUserNameByQuery(c *gin.Context) {
  method LookupUserTweets (line 193) | func (s *Server) LookupUserTweets(c *gin.Context) {
  method LookupUserTweetsV1 (line 204) | func (s *Server) LookupUserTweetsV1(c *gin.Context) {
  method GetListUserMentions (line 215) | func (s *Server) GetListUserMentions(c *gin.Context) {
  method GetListUserMentionsByQuery (line 228) | func (s *Server) GetListUserMentionsByQuery(c *gin.Context) {
  method GetListUserMentionsByUsername (line 241) | func (s *Server) GetListUserMentionsByUsername(c *gin.Context) {
  method GetAllUserMentionsByUsername (line 254) | func (s *Server) GetAllUserMentionsByUsername(c *gin.Context) {
  method GetListUserMentionsByUsernameByQuery (line 267) | func (s *Server) GetListUserMentionsByUsernameByQuery(c *gin.Context) {
  method SearchRecentTweet (line 280) | func (s *Server) SearchRecentTweet(c *gin.Context) {
  method SearchTokenTweet (line 293) | func (s *Server) SearchTokenTweet(c *gin.Context) {
  method SearchUsers (line 306) | func (s *Server) SearchUsers(c *gin.Context) {
  method CreateAgentInternalAction (line 318) | func (s *Server) CreateAgentInternalAction(c *gin.Context) {
  method CreateAgentInternalActionByRefID (line 333) | func (s *Server) CreateAgentInternalActionByRefID(c *gin.Context) {
  method AgentWalletCreatePumpFunMeme (line 349) | func (s *Server) AgentWalletCreatePumpFunMeme(c *gin.Context) {
  method AgentWalletTradePumpFunMeme (line 364) | func (s *Server) AgentWalletTradePumpFunMeme(c *gin.Context) {
  method AgentWalletTradeRaydiumToken (line 379) | func (s *Server) AgentWalletTradeRaydiumToken(c *gin.Context) {
  method AgentWalletGetSolanaTokenBalances (line 394) | func (s *Server) AgentWalletGetSolanaTokenBalances(c *gin.Context) {
  method GetAgentWalletSolanaTrades (line 404) | func (s *Server) GetAgentWalletSolanaTrades(c *gin.Context) {
  method AgentWalletGetSolanaTokenPnls (line 421) | func (s *Server) AgentWalletGetSolanaTokenPnls(c *gin.Context) {
  method GetPumpFunTrades (line 435) | func (s *Server) GetPumpFunTrades(c *gin.Context) {
  method GetPumpFunTokenPrice (line 446) | func (s *Server) GetPumpFunTokenPrice(c *gin.Context) {
  method DexSearchPair (line 456) | func (s *Server) DexSearchPair(c *gin.Context) {
  method DexPairsTradeLatest (line 466) | func (s *Server) DexPairsTradeLatest(c *gin.Context) {
  method DexScreenInfo (line 476) | func (s *Server) DexScreenInfo(c *gin.Context) {
  method GetUser3700Liked (line 486) | func (s *Server) GetUser3700Liked(c *gin.Context) {
  method GetSolanaDataChart24Hour (line 498) | func (s *Server) GetSolanaDataChart24Hour(c *gin.Context) {
  method GetAgentTradeTokens (line 508) | func (s *Server) GetAgentTradeTokens(c *gin.Context) {
  method GetListUserTweetsByUsersForTradeMission (line 520) | func (s *Server) GetListUserTweetsByUsersForTradeMission(c *gin.Context) {
  method GetListUserTweetsByAgentForTradeMission (line 531) | func (s *Server) GetListUserTweetsByAgentForTradeMission(c *gin.Context) {
  method GetTokenQuoteLatestForSolana (line 542) | func (s *Server) GetTokenQuoteLatestForSolana(c *gin.Context) {
  method TweetByToken (line 552) | func (s *Server) TweetByToken(c *gin.Context) {
  method GetTradeAnalytic (line 569) | func (s *Server) GetTradeAnalytic(c *gin.Context) {
  method GetTwitterDataForLaunchpad (line 579) | func (s *Server) GetTwitterDataForLaunchpad(c *gin.Context) {
  method ExecuteLaunchpadTier (line 618) | func (s *Server) ExecuteLaunchpadTier(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_key_subscription.go
  method CreateApiTokenUsage (line 11) | func (s *Server) CreateApiTokenUsage(c *gin.Context) {
  method RefundApiTokenUsage (line 26) | func (s *Server) RefundApiTokenUsage(c *gin.Context) {
  method GetApiUsage (line 41) | func (s *Server) GetApiUsage(c *gin.Context) {
  method GetApiPackages (line 53) | func (s *Server) GetApiPackages(c *gin.Context) {
  method GetApiSubscriptionInfo (line 63) | func (s *Server) GetApiSubscriptionInfo(c *gin.Context) {
  method CreateAcctForTest (line 75) | func (s *Server) CreateAcctForTest(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_knowledge.go
  method createKnowledge (line 16) | func (s *Server) createKnowledge(c *gin.Context) {
  method webhookKnowledge (line 40) | func (s *Server) webhookKnowledge(c *gin.Context) {
  method webhookKnowledgeFile (line 58) | func (s *Server) webhookKnowledgeFile(c *gin.Context) {
  method listKnowledgeByAgent (line 83) | func (s *Server) listKnowledgeByAgent(c *gin.Context) {
  method listKnowledge (line 111) | func (s *Server) listKnowledge(c *gin.Context) {
  method deleteKnowledge (line 135) | func (s *Server) deleteKnowledge(c *gin.Context) {
  method detailKnowledge (line 163) | func (s *Server) detailKnowledge(c *gin.Context) {
  method updateKnowledge (line 192) | func (s *Server) updateKnowledge(c *gin.Context) {
  method AgentUseKnowledgeBase (line 249) | func (s *Server) AgentUseKnowledgeBase(c *gin.Context) {
  method updateKnowledgeBaseInContractWithSignature (line 273) | func (s *Server) updateKnowledgeBaseInContractWithSignature(c *gin.Conte...
  method retrieveKnowledge (line 306) | func (s *Server) retrieveKnowledge(c *gin.Context) {
  method checkBalance (line 383) | func (s *Server) checkBalance(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_pump.go
  method GetPumpBalance (line 12) | func (s *Server) GetPumpBalance(c *gin.Context) {
  method GetListTrendingTokens (line 34) | func (s *Server) GetListTrendingTokens(c *gin.Context) {
  method GetPumpOrderHistory (line 44) | func (s *Server) GetPumpOrderHistory(c *gin.Context) {
  method NotifyChangePricePump (line 55) | func (s *Server) NotifyChangePricePump(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_robot.go
  method GenerateRobotSaleWallet (line 12) | func (s *Server) GenerateRobotSaleWallet(c *gin.Context) {
  method GetRobotSaleWallet (line 28) | func (s *Server) GetRobotSaleWallet(c *gin.Context) {
  method GetRobotProject (line 40) | func (s *Server) GetRobotProject(c *gin.Context) {
  method RobotCreateToken (line 51) | func (s *Server) RobotCreateToken(c *gin.Context) {
  method RobotTransferToken (line 66) | func (s *Server) RobotTransferToken(c *gin.Context) {
  method GetRobotProjectLeaderBoards (line 81) | func (s *Server) GetRobotProjectLeaderBoards(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_sample_twitter_app.go
  method SampleTwitterAppAuthenInstall (line 11) | func (s *Server) SampleTwitterAppAuthenInstall(c *gin.Context) {
  method SampleTwitterAppAuthenCallback (line 21) | func (s *Server) SampleTwitterAppAuthenCallback(c *gin.Context) {
  method SampleTwitterAppGetBTCPrice (line 31) | func (s *Server) SampleTwitterAppGetBTCPrice(c *gin.Context) {
  method SampleTwitterAppTweetMessage (line 37) | func (s *Server) SampleTwitterAppTweetMessage(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_store.go
  method UploadMissionStore (line 13) | func (s *Server) UploadMissionStore(c *gin.Context) {
  method RateMissionStore (line 28) | func (s *Server) RateMissionStore(c *gin.Context) {
  method GetListMissionStore (line 43) | func (s *Server) GetListMissionStore(c *gin.Context) {
  method GetMissionStoreDetail (line 55) | func (s *Server) GetMissionStoreDetail(c *gin.Context) {
  method GetMissionStoreRating (line 67) | func (s *Server) GetMissionStoreRating(c *gin.Context) {
  method ClaimFeeMissionStore (line 81) | func (s *Server) ClaimFeeMissionStore(c *gin.Context) {
  method GetMissionStoreHistory (line 87) | func (s *Server) GetMissionStoreHistory(c *gin.Context) {
  method SaveAgentStore (line 101) | func (s *Server) SaveAgentStore(c *gin.Context) {
  method GetListAgentStore (line 121) | func (s *Server) GetListAgentStore(c *gin.Context) {
  method GetListAgentStoreByOwner (line 133) | func (s *Server) GetListAgentStoreByOwner(c *gin.Context) {
  method GetAgentStoreDetail (line 149) | func (s *Server) GetAgentStoreDetail(c *gin.Context) {
  method SaveMissionStore (line 159) | func (s *Server) SaveMissionStore(c *gin.Context) {
  method AuthenAgentStoreCallback (line 179) | func (s *Server) AuthenAgentStoreCallback(c *gin.Context) {
  method GetListAgentStoreInstall (line 194) | func (s *Server) GetListAgentStoreInstall(c *gin.Context) {
  method GetAgentStoreInstallCode (line 210) | func (s *Server) GetAgentStoreInstallCode(c *gin.Context) {
  method RunMission (line 226) | func (s *Server) RunMission(c *gin.Context) {
  method MissionStoreResult (line 246) | func (s *Server) MissionStoreResult(c *gin.Context) {
  method GetInstallInfo (line 262) | func (s *Server) GetInstallInfo(c *gin.Context) {
  method GetTryHistory (line 277) | func (s *Server) GetTryHistory(c *gin.Context) {
  method GetTryHistoryDetail (line 293) | func (s *Server) GetTryHistoryDetail(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_store_trading_app.go
  method StoreDefiAppAuthenInstall (line 11) | func (s *Server) StoreDefiAppAuthenInstall(c *gin.Context) {
  method StoreDefiAppGetWallet (line 21) | func (s *Server) StoreDefiAppGetWallet(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_user.go
  method VerifyLoginUserByWeb3 (line 11) | func (s *Server) VerifyLoginUserByWeb3(c *gin.Context) {
  method GetUserProfileWithAuth (line 30) | func (s *Server) GetUserProfileWithAuth(c *gin.Context) {
  method UserUploadFile (line 45) | func (s *Server) UserUploadFile(c *gin.Context) {
  method AgentRequestTwitterShareCode (line 67) | func (s *Server) AgentRequestTwitterShareCode(c *gin.Context) {
  method AgentVerifyShareTwitter (line 88) | func (s *Server) AgentVerifyShareTwitter(c *gin.Context) {
  method GetListUserTransactions (line 106) | func (s *Server) GetListUserTransactions(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/api_vibe.go
  method AddVibeWhiteList (line 11) | func (s *Server) AddVibeWhiteList(c *gin.Context) {
  method VibeValidateReferralCode (line 24) | func (s *Server) VibeValidateReferralCode(c *gin.Context) {
  method AgentComment (line 42) | func (s *Server) AgentComment(c *gin.Context) {
  method GetListAgentComment (line 66) | func (s *Server) GetListAgentComment(c *gin.Context) {
  method GetVibeDashBoards (line 78) | func (s *Server) GetVibeDashBoards(c *gin.Context) {
  method GetVibeDashBoardsDetail (line 104) | func (s *Server) GetVibeDashBoardsDetail(c *gin.Context) {
  method VibeTokenGetDeployInfo (line 115) | func (s *Server) VibeTokenGetDeployInfo(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/apis.go
  method ClearCacheKey (line 18) | func (s *Server) ClearCacheKey(c *gin.Context) {
  method DisableJobs (line 39) | func (s *Server) DisableJobs() {
  method RunJobs (line 43) | func (s *Server) RunJobs() {
  method RunTeleBotJob (line 47) | func (s *Server) RunTeleBotJob() {
  method TwitterOauthCallback (line 51) | func (s *Server) TwitterOauthCallback(c *gin.Context) {
  method TwitterOauthCallbackForInternalData (line 76) | func (s *Server) TwitterOauthCallbackForInternalData(c *gin.Context) {
  method GetEAISupplyTotal (line 90) | func (s *Server) GetEAISupplyTotal(c *gin.Context) {
  method GetEAISupplyCirculating (line 94) | func (s *Server) GetEAISupplyCirculating(c *gin.Context) {
  method GetAllConfigsExplorer (line 111) | func (s *Server) GetAllConfigsExplorer(c *gin.Context) {
  method GetTokenPrice (line 122) | func (s *Server) GetTokenPrice(c *gin.Context) {
  method GetListBubbleCrypto (line 127) | func (s *Server) GetListBubbleCrypto(c *gin.Context) {
  method MemeEventsByTransaction (line 177) | func (s *Server) MemeEventsByTransaction(c *gin.Context) {

FILE: agent-as-a-service/agent-orchestration/backend/apis/middlewares.go
  constant CONTEXT_USER_DATA (line 30) | CONTEXT_USER_DATA       = "context_user_data"
  constant CONTEXT_ERROR_DATA (line 31) | CONTEXT_ERROR_DATA      = "context_error_data"
  constant CONTEXT_STACKTRACE_DATA (line 32) | CONTEXT_STACKTRACE_DATA = "context_stacktrace_data"
  constant userIDKey (line 36) | userIDKey         = "id"
  constant userEmailKey (line 37) | userEmailKey      = "email"
  constant otp (line 38) | otp               = "OTP"
  constant otpToken (line 39) | otpToken          = "OTPToken"
  constant otpPhone (line 40) | otpPhone          = "OTPPhone"
  constant userClient (line 41) | userClient        = "client"
  constant userPermission (line 42) | userPermission    = "permission"
  constant userData (line 43) | userData          = "userData"
  constant userCtxData (line 44) | userCtxData       = "userCtxData"
  constant userEmail (line 45) | userEmail         = "userEmail"
  constant userId (line 46) | userId            = "userId"
  constant errorData (line 47) | errorData         = "errorData"
  constant stacktraceData (line 48) | stacktraceData    = "stacktraceData"
  constant stacktraceExtra (line 49) | stacktraceExtra   = "stacktraceExtra"
  constant contextBodyLogFun (line 50) | contextBodyLogFun = "contextBodyLogFun"
  function ctxJSON (line 53) | func ctxJSON(c *gin.Context, respCode int, resp interface{}) {
  function ctxSTRING (line 60) | func ctxSTRING(c *gin.Context, respCode int, resp string) {
  function ctxData (line 67) | func ctxData(c *gin.Context, respCode int, contentType string, resp []by...
  function ctxAbortWithStatusJSON (line 74) | func ctxAbortWithStatusJSON(c *gin.Context, respCode int, resp interface...
  function WrapRespError (line 81) | func WrapRespError(c *gin.Context, resp interface{}) {
  method requestContext (line 103) | func (s *Server) requestContext(c *gin.Context) context.Context {
  method getRequestIP (line 107) | func (s *Server) getRequestIP(c *gin.Context) string {
  method getUserAgent (line 124) | func (s *Server) getUserAgent(c *gin.Context) string {
  method contextBVMUserExtra (line 128) | func (s *Server) contextBVMUserExtra(c *gin.Context) string {
  type bodyLogWriter (line 141) | type bodyLogWriter struct
    method Write (line 146) | func (w bodyLogWriter) Write(b []byte) (int, error) {
    method WriteString (line 151) | func (w bodyLogWriter) WriteString(s string) (int, error) {
  method loggerDisabledBodyMiddleware (line 156) | func (s *Server) loggerDisabledBodyMiddleware() gin.HandlerFunc {
  method slackErrorBodyMiddleware (line 163) | func (s *Server) slackErrorBodyMiddleware() gin.HandlerFunc {
  method logApiMiddleware (line 170) | func (s *Server) logApiMiddleware() gin.HandlerFunc {
  method recoveryMiddleware (line 248) | func (s *Server) recoveryMiddleware(client *raven.Client, onlyCrashes bo...
  method pagingFromContext (line 277) | func (s *Server) pagingFromContext(c *gin.Context) (int, int) {
  method ipfsProxyMiddleware (line 303) | func (s *Server) ipfsProxyMiddleware(hostPath string) gin.HandlerFunc {
  method uintFromContextParam (line 326) | func (s *Server) uintFromContextParam(c *gin.Context, param string) uint {
  method uint64FromContextParam (line 338) | func (s *Server) uint64FromContextParam(c *gin.Context, param string) (u...
  method uintFromContextQuery (line 350) | func (s *Server) uintFromContextQuery(c *gin.Context, query string) uint {
  method intFromContextQuery (line 362) | func (s *Server) intFromContextQuery(c *gin.Context, query string) int {
  method float64FromContextQuery (line 374) | func (s *Server) float64FromContextQuery(c *gin.Context, query string) (...
  method ptrUintFromContextQuery (line 386) | func (s *Server) ptrUintFromContextQuery(c *gin.Context, query string) (...
  method uint64FromContextQuery (line 400) | func (s *Server) uint64FromContextQuery(c *gin.Context, query string) (u...
  method stringFromContextQuery (line 412) | func (s *Server) stringFromContextQuery(c *gin.Context, query string) st...
  method stringFromContextQueryDefault (line 416) | func (s *Server) stringFromContextQueryDefault(c *gin.Context, query str...
  method stringFromContextParam (line 420) | func (s *Server) stringFromContextParam(c *gin.Context, query string) st...
  method maxResultFromContextQuery (line 424) | func (s *Server) maxResultFromContextQuery(c *gin.Context) int {
  method stringArrayFromContextQuery (line 435) | func (s *Server) stringArrayFromContextQuery(c *gin.Context, query strin...
  method uintArrayFromContextQuery (line 443) | func (s *Server) uintArrayFromContextQuery(c *gin.Context, query string)...
  method intArrayFromContextQuery (line 460) | func (s *Server) intArrayFromContextQuery(c *gin.Context, query string) ...
  method dateFromContextQuery (line 477) | func (s *Server) dateFromContextQuery(c *gin.Context, query string) (*ti...
  method timeFromContextQuery (line 489) | func (s *Server) timeFromContextQuery(c *gin.Context, query string) (*ti...
  method boolFromContextQuery (line 501) | func (s *Server) boolFromContextQuery(c *gin.Context, query string) (*bo...
  method boolValueFromContextQuery (line 513) | func (s *Server) boolValueFromContextQuery(c *gin.Context, query string)...
  method proxyMiddleware (line 525) | func (s *Server) proxyMiddleware(prefixPath string, host string, headers...
  constant SCOPE_TRANSFER (line 560) | SCOPE_TRANSFER string = "constant-transfer"
  constant VALID_TOKEN (line 563) | VALID_TOKEN = "2019-03-25"
  constant PERMISSION_AUTHORIZE (line 565) | PERMISSION_AUTHORIZE = "authorize"
  constant PERMISSION_TOKEN (line 566) | PERMISSION_TOKEN     = "token"
  method bodyLogMiddleware (line 569) | func (s *Server) bodyLogMiddleware(fn func(c *gin.Context, req string, r...
  method loginBodyLogMiddleware (line 576) | func (s *Server) loginBodyLogMiddleware() gin.HandlerFunc {
  method sortListFromContext (line 596) | func (s *Server) sortListFromContext(c *gin.Context) []string {
  method chainFromContextQuery (line 639) | func (s *Server) chainFromContextQuery(c *gin.Context) uint64 {
  method internalApiMiddleware (line 647) | func (s *Server) internalApiMiddleware() gin.HandlerFunc {
  method externalApiMiddleware (line 666) | func (s *Server) externalApiMiddleware() gin.HandlerFunc {
  method agentSortListFromContext (line 680) | func (s *Server) agentSortListFromContext(c *gin.Context) []string {
  method authCheckTK1TokenMiddleware (line 721) | func (s *Server) authCheckTK1TokenMiddleware() gin.HandlerFunc {
  method getUserAddressFromTK1Token (line 749) | func (s *Server) getUserAddressFromTK1Token(c *gin.Context) (string, err...
  method authCheckSignatureMiddleware (line 759) | func (s *Server) authCheckSignatureMiddleware() gin.HandlerFunc {
  method getUserAddress (line 797) | func (s *Server) getUserAddress(c *gin.Context) string {
  method middlewareApiLimit (line 801) | func (s *Server) middlewareApiLimit(numRequest int, duration time.Durati...

FILE: agent-as-a-service/agent-orchestration/backend/apis/routers.go
  type Server (line 15) | type Server struct
    method Routers (line 33) | func (s *Server) Routers() {
  function NewServer (line 21) | func NewServer(

FILE: agent-as-a-service/agent-orchestration/backend/configs/configs.go
  constant EAI_OldWH_ChainID (line 13) | EAI_OldWH_ChainID      = "43338"
  constant BaseChainID (line 14) | BaseChainID            = "8453"
  constant BaseChainIDInt (line 15) | BaseChainIDInt         = 8453
  constant BitAiChainID (line 16) | BitAiChainID           = "222671"
  constant DAGIChainID (line 17) | DAGIChainID            = "222672"
  constant HermesChain (line 18) | HermesChain            = "45762"
  constant ArbitrumChainID (line 19) | ArbitrumChainID        = "42161"
  constant DuckChainID (line 20) | DuckChainID            = "5545"
  constant PolygonChainID (line 21) | PolygonChainID         = "137"
  constant ZkSyncChainID (line 22) | ZkSyncChainID          = "324"
  constant ZkSyncChainIDInt (line 23) | ZkSyncChainIDInt       = 324
  constant EthereumChainID (line 24) | EthereumChainID        = "1"
  constant BscChainID (line 25) | BscChainID             = "56"
  constant AbstractTestnetChainID (line 26) | AbstractTestnetChainID = "11124"
  constant SubtensorEVMChainID (line 27) | SubtensorEVMChainID    = "964"
  constant SubtensorEVMChainIDInt (line 28) | SubtensorEVMChainIDInt = 964
  constant SolanaChainID (line 29) | SolanaChainID          = "1111"
  constant SolanaModelID (line 30) | SolanaModelID          = "990001"
  constant IPFSPrefix (line 31) | IPFSPrefix             = "ipfs://"
  constant TronChainID (line 32) | TronChainID            = "728126428"
  type RPCResponse (line 35) | type RPCResponse struct
  type ResultResponse (line 41) | type ResultResponse struct
  function init (line 52) | func init() {
  function GetConfig (line 66) | func GetConfig() *Config {
  type MissionTokensConfig (line 70) | type MissionTokensConfig struct
  function GetMissionTokenConfig (line 76) | func GetMissionTokenConfig() ([]MissionTokensConfig, error) {
  type AppChainConfig (line 103) | type AppChainConfig struct
  type Config (line 123) | type Config struct
    method ExistsedConfigKey (line 298) | func (cf *Config) ExistsedConfigKey(networkID uint64, name string) bool {
    method GetConfigKeyString (line 314) | func (cf *Config) GetConfigKeyString(networkID uint64, name string) st...
    method GetConfigKeyBool (line 330) | func (cf *Config) GetConfigKeyBool(networkID uint64, name string) bool {
  type KnowledgeBaseConfig (line 350) | type KnowledgeBaseConfig struct

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_chain_fee.go
  method FirstAgentChainFeeByID (line 9) | func (d *DAO) FirstAgentChainFeeByID(tx *gorm.DB, id uint, preloads map[...
  method FirstAgentChainFee (line 20) | func (d *DAO) FirstAgentChainFee(tx *gorm.DB, filters map[string][]inter...
  method FindAgentChainFee (line 31) | func (d *DAO) FindAgentChainFee(tx *gorm.DB, filters map[string][]interf...
  method FindAgentChainFee4Page (line 39) | func (d *DAO) FindAgentChainFee4Page(tx *gorm.DB, filters map[string][]i...
  method FindAgentChainFeeJoinSelect (line 54) | func (d *DAO) FindAgentChainFeeJoinSelect(tx *gorm.DB, selected []string...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_dao.go
  method FindTwitterInfo (line 13) | func (d *DAO) FindTwitterInfo(tx *gorm.DB, filters map[string][]interfac...
  method FirstTwitterInfoByID (line 21) | func (d *DAO) FirstTwitterInfoByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstTwitterInfo (line 32) | func (d *DAO) FirstTwitterInfo(tx *gorm.DB, filters map[string][]interfa...
  method FirstUserTwitterPost (line 43) | func (d *DAO) FirstUserTwitterPost(tx *gorm.DB, filters map[string][]int...
  method FindUserTwitterPost (line 54) | func (d *DAO) FindUserTwitterPost(tx *gorm.DB, filters map[string][]inte...
  method FindAgentTokenJoinSelect (line 62) | func (d *DAO) FindAgentTokenJoinSelect(tx *gorm.DB, selected []string, j...
  method FirstAgentToken (line 71) | func (d *DAO) FirstAgentToken(tx *gorm.DB, filters map[string][]interfac...
  method FirstAgentTokenByID (line 82) | func (d *DAO) FirstAgentTokenByID(tx *gorm.DB, id uint, preloads map[str...
  method FirstAgentTradeHistoryByID (line 93) | func (d *DAO) FirstAgentTradeHistoryByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentTradeHistory (line 104) | func (d *DAO) FirstAgentTradeHistory(tx *gorm.DB, filters map[string][]i...
  method GetAgentTradeHistoryInfo (line 115) | func (d *DAO) GetAgentTradeHistoryInfo(tx *gorm.DB, agentTokenID uint, n...
  method GetAgentSocialInfo (line 169) | func (d *DAO) GetAgentSocialInfo(tx *gorm.DB, agentID uint) (*models.Age...
  method GetAgentSummaryReport (line 197) | func (d *DAO) GetAgentSummaryReport(tx *gorm.DB, hiddenNetworkId string)...
  method FirstAbilityLuckyMoney (line 226) | func (d *DAO) FirstAbilityLuckyMoney(tx *gorm.DB, filters map[string][]i...
  method FindAbilityLuckyMoney (line 237) | func (d *DAO) FindAbilityLuckyMoney(tx *gorm.DB, filters map[string][]in...
  method FirstAbilityLuckyMoneyByID (line 245) | func (d *DAO) FirstAbilityLuckyMoneyByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentReactionHistory (line 256) | func (d *DAO) FirstAgentReactionHistory(tx *gorm.DB, filters map[string]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_eai_topup.go
  method FirstAgentEaiTopupByID (line 9) | func (d *DAO) FirstAgentEaiTopupByID(tx *gorm.DB, id uint, preloads map[...
  method FirstAgentEaiTopup (line 20) | func (d *DAO) FirstAgentEaiTopup(tx *gorm.DB, filters map[string][]inter...
  method FindAgentEaiTopup (line 31) | func (d *DAO) FindAgentEaiTopup(tx *gorm.DB, filters map[string][]interf...
  method FindAgentEaiTopup4Page (line 39) | func (d *DAO) FindAgentEaiTopup4Page(tx *gorm.DB, filters map[string][]i...
  method FindAgentEaiTopupJoinSelect (line 54) | func (d *DAO) FindAgentEaiTopupJoinSelect(tx *gorm.DB, selected []string...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_external_info.go
  method FirstAgentExternalInfoByID (line 9) | func (d *DAO) FirstAgentExternalInfoByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentExternalInfo (line 20) | func (d *DAO) FirstAgentExternalInfo(tx *gorm.DB, filters map[string][]i...
  method FindAgentExternalInfo (line 31) | func (d *DAO) FindAgentExternalInfo(tx *gorm.DB, filters map[string][]in...
  method FindAgentExternalInfo4Page (line 39) | func (d *DAO) FindAgentExternalInfo4Page(tx *gorm.DB, filters map[string...
  method FindAgentExternalInfoJoinSelect (line 54) | func (d *DAO) FindAgentExternalInfoJoinSelect(tx *gorm.DB, selected []st...
  method FindAgentExternalInfoJoin (line 63) | func (d *DAO) FindAgentExternalInfoJoin(tx *gorm.DB, joins map[string][]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_info.go
  method FindAgentInfoJoinSelect (line 11) | func (d *DAO) FindAgentInfoJoinSelect(tx *gorm.DB, selected []string, jo...
  method FirstAgentInfoJoinSelect (line 20) | func (d *DAO) FirstAgentInfoJoinSelect(tx *gorm.DB, selected []string, j...
  method FirstAgentInfoByID (line 29) | func (d *DAO) FirstAgentInfoByID(tx *gorm.DB, id uint, preloads map[stri...
  method FirstAgentInfo (line 40) | func (d *DAO) FirstAgentInfo(tx *gorm.DB, filters map[string][]interface...
  method FindAgentInfo (line 51) | func (d *DAO) FindAgentInfo(tx *gorm.DB, filters map[string][]interface{...
  method FindAgentInfo4Page (line 59) | func (d *DAO) FindAgentInfo4Page(tx *gorm.DB, filters map[string][]inter...
  method FindAgentInfoJoin (line 72) | func (d *DAO) FindAgentInfoJoin(tx *gorm.DB, joins map[string][]interfac...
  method AgentInfoGetReportDaily (line 82) | func (d *DAO) AgentInfoGetReportDaily(tx *gorm.DB) (string, error) {
  method FirstPrivyWallet (line 159) | func (d *DAO) FirstPrivyWallet(tx *gorm.DB, filters map[string][]interfa...
  method FirstClankerVideoToken (line 170) | func (d *DAO) FirstClankerVideoToken(tx *gorm.DB, filters map[string][]i...
  method FindClankerVideoToken (line 181) | func (d *DAO) FindClankerVideoToken(tx *gorm.DB, joins map[string][]inte...
  method FindAgentCategory (line 191) | func (d *DAO) FindAgentCategory(tx *gorm.DB, filters map[string][]interf...
  method FindAllAgentAddress (line 201) | func (d *DAO) FindAllAgentAddress(tx *gorm.DB, networkID uint64) ([]stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_info_install.go
  method FindAgentInfoInstallJoinSelect (line 9) | func (d *DAO) FindAgentInfoInstallJoinSelect(tx *gorm.DB, selected []str...
  method FindAgentInfoInstallJoinSelect4Page (line 18) | func (d *DAO) FindAgentInfoInstallJoinSelect4Page(tx *gorm.DB, selected ...
  method FirstAgentInfoInstallJoinSelect (line 27) | func (d *DAO) FirstAgentInfoInstallJoinSelect(tx *gorm.DB, selected []st...
  method FirstAgentInfoInstallByID (line 38) | func (d *DAO) FirstAgentInfoInstallByID(tx *gorm.DB, id uint, preloads m...
  method FirstAgentInfoInstall (line 49) | func (d *DAO) FirstAgentInfoInstall(tx *gorm.DB, filters map[string][]in...
  method FindAgentInfoInstall (line 60) | func (d *DAO) FindAgentInfoInstall(tx *gorm.DB, filters map[string][]int...
  method FindAgentInfoInstall4Page (line 68) | func (d *DAO) FindAgentInfoInstall4Page(tx *gorm.DB, filters map[string]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_info_knowledge_base.go
  method FirstAgentInfoKnowledgeBaseByAgentInfoID (line 8) | func (dao *DAO) FirstAgentInfoKnowledgeBaseByAgentInfoID(tx *gorm.DB, ag...
  method FirstAgentInfoKnowledgeBaseByAgentInfoIDAndKnowledgeBaseID (line 20) | func (dao *DAO) FirstAgentInfoKnowledgeBaseByAgentInfoIDAndKnowledgeBase...
  method CreateAgentInfoKnowledgeBase (line 35) | func (dao *DAO) CreateAgentInfoKnowledgeBase(tx *gorm.DB, agentInfoKnowl...
  method FirstKnowledgeBase (line 40) | func (dao *DAO) FirstKnowledgeBase(tx *gorm.DB, filters map[string][]int...
  method FindKnowledgeBases (line 51) | func (dao *DAO) FindKnowledgeBases(tx *gorm.DB, filters map[string][]int...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_library.go
  method FirstAgentLibraryByID (line 9) | func (d *DAO) FirstAgentLibraryByID(tx *gorm.DB, id uint, preloads map[s...
  method FirstAgentLibrary (line 20) | func (d *DAO) FirstAgentLibrary(tx *gorm.DB, filters map[string][]interf...
  method FindAgentLibrary (line 31) | func (d *DAO) FindAgentLibrary(tx *gorm.DB, filters map[string][]interfa...
  method FindAgentLibrary4Page (line 39) | func (d *DAO) FindAgentLibrary4Page(tx *gorm.DB, filters map[string][]in...
  method FindAgentLibraryJoinSelect (line 54) | func (d *DAO) FindAgentLibraryJoinSelect(tx *gorm.DB, selected []string,...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_snapshot_mission.go
  method FirstAgentSnapshotMissionByID (line 9) | func (d *DAO) FirstAgentSnapshotMissionByID(tx *gorm.DB, id uint, preloa...
  method FirstAgentSnapshotMission (line 20) | func (d *DAO) FirstAgentSnapshotMission(tx *gorm.DB, filters map[string]...
  method FindAgentSnapshotMission (line 31) | func (d *DAO) FindAgentSnapshotMission(tx *gorm.DB, filters map[string][...
  method FindAgentSnapshotMission4Page (line 39) | func (d *DAO) FindAgentSnapshotMission4Page(tx *gorm.DB, filters map[str...
  method FindAgentSnapshotMissionJoinSelect (line 54) | func (d *DAO) FindAgentSnapshotMissionJoinSelect(tx *gorm.DB, selected [...
  method FindAgentSnapshotMissionJoin (line 63) | func (d *DAO) FindAgentSnapshotMissionJoin(tx *gorm.DB, joins map[string...
  method FirstAgentTeleMsg (line 75) | func (d *DAO) FirstAgentTeleMsg(tx *gorm.DB, filters map[string][]interf...
  method GetMissionToolset (line 86) | func (d *DAO) GetMissionToolset(tx *gorm.DB, id uint) (string, error) {

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_snapshot_post.go
  method FirstAgentSnapshotPostByID (line 9) | func (d *DAO) FirstAgentSnapshotPostByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentSnapshotPost (line 20) | func (d *DAO) FirstAgentSnapshotPost(tx *gorm.DB, filters map[string][]i...
  method FindAgentSnapshotPost (line 31) | func (d *DAO) FindAgentSnapshotPost(tx *gorm.DB, filters map[string][]in...
  method FindAgentSnapshotPost4Page (line 39) | func (d *DAO) FindAgentSnapshotPost4Page(tx *gorm.DB, filters map[string...
  method FindAgentSnapshotPostJoinSelect (line 54) | func (d *DAO) FindAgentSnapshotPostJoinSelect(tx *gorm.DB, selected []st...
  method FindAgentSnapshotMissionConfigs (line 63) | func (d *DAO) FindAgentSnapshotMissionConfigs(tx *gorm.DB, filters map[s...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_snapshot_post_action.go
  method FirstAgentSnapshotPostActionByID (line 9) | func (d *DAO) FirstAgentSnapshotPostActionByID(tx *gorm.DB, id uint, pre...
  method FirstAgentSnapshotPostAction (line 20) | func (d *DAO) FirstAgentSnapshotPostAction(tx *gorm.DB, filters map[stri...
  method FindAgentSnapshotPostAction (line 31) | func (d *DAO) FindAgentSnapshotPostAction(tx *gorm.DB, filters map[strin...
  method FindAgentSnapshotPostAction4Page (line 39) | func (d *DAO) FindAgentSnapshotPostAction4Page(tx *gorm.DB, filters map[...
  method FindAgentSnapshotPostActionJoinSelect (line 54) | func (d *DAO) FindAgentSnapshotPostActionJoinSelect(tx *gorm.DB, selecte...
  method FindAgentSnapshotPostActionJoin (line 63) | func (d *DAO) FindAgentSnapshotPostActionJoin(tx *gorm.DB, joins map[str...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_store.go
  method FindAgentStoreJoinSelect (line 9) | func (d *DAO) FindAgentStoreJoinSelect(tx *gorm.DB, selected []string, j...
  method FindAgentStoreJoinSelect4Page (line 18) | func (d *DAO) FindAgentStoreJoinSelect4Page(tx *gorm.DB, selected []stri...
  method FirstAgentStoreJoinSelect (line 27) | func (d *DAO) FirstAgentStoreJoinSelect(tx *gorm.DB, selected []string, ...
  method FirstAgentStoreByID (line 38) | func (d *DAO) FirstAgentStoreByID(tx *gorm.DB, id uint, preloads map[str...
  method FirstAgentStore (line 49) | func (d *DAO) FirstAgentStore(tx *gorm.DB, filters map[string][]interfac...
  method FindAgentStore (line 60) | func (d *DAO) FindAgentStore(tx *gorm.DB, filters map[string][]interface...
  method FindAgentStore4Page (line 68) | func (d *DAO) FindAgentStore4Page(tx *gorm.DB, filters map[string][]inte...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_store_install.go
  method FindAgentStoreInstallJoinSelect (line 9) | func (d *DAO) FindAgentStoreInstallJoinSelect(tx *gorm.DB, selected []st...
  method FindAgentStoreInstallJoinSelect4Page (line 18) | func (d *DAO) FindAgentStoreInstallJoinSelect4Page(tx *gorm.DB, selected...
  method FirstAgentStoreInstallJoinSelect (line 27) | func (d *DAO) FirstAgentStoreInstallJoinSelect(tx *gorm.DB, selected []s...
  method FirstAgentStoreInstallByID (line 38) | func (d *DAO) FirstAgentStoreInstallByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentStoreInstall (line 49) | func (d *DAO) FirstAgentStoreInstall(tx *gorm.DB, filters map[string][]i...
  method FindAgentStoreInstall (line 60) | func (d *DAO) FindAgentStoreInstall(tx *gorm.DB, filters map[string][]in...
  method FindAgentStoreInstall4Page (line 68) | func (d *DAO) FindAgentStoreInstall4Page(tx *gorm.DB, filters map[string...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_store_mission.go
  method FindAgentStoreMissionJoinSelect (line 9) | func (d *DAO) FindAgentStoreMissionJoinSelect(tx *gorm.DB, selected []st...
  method FindAgentStoreMissionJoinSelect4Page (line 18) | func (d *DAO) FindAgentStoreMissionJoinSelect4Page(tx *gorm.DB, selected...
  method FirstAgentStoreMissionJoinSelect (line 27) | func (d *DAO) FirstAgentStoreMissionJoinSelect(tx *gorm.DB, selected []s...
  method FirstAgentStoreMissionByID (line 38) | func (d *DAO) FirstAgentStoreMissionByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentStoreMission (line 49) | func (d *DAO) FirstAgentStoreMission(tx *gorm.DB, filters map[string][]i...
  method FindAgentStoreMission (line 60) | func (d *DAO) FindAgentStoreMission(tx *gorm.DB, filters map[string][]in...
  method FindAgentStoreMission4Page (line 68) | func (d *DAO) FindAgentStoreMission4Page(tx *gorm.DB, filters map[string...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_store_try.go
  method FindAgentStoreTryJoinSelect (line 9) | func (d *DAO) FindAgentStoreTryJoinSelect(tx *gorm.DB, selected []string...
  method FindAgentStoreTryJoinSelect4Page (line 18) | func (d *DAO) FindAgentStoreTryJoinSelect4Page(tx *gorm.DB, selected []s...
  method FirstAgentStoreTryJoinSelect (line 27) | func (d *DAO) FirstAgentStoreTryJoinSelect(tx *gorm.DB, selected []strin...
  method FirstAgentStoreTryByID (line 38) | func (d *DAO) FirstAgentStoreTryByID(tx *gorm.DB, id uint, preloads map[...
  method FirstAgentStoreTry (line 49) | func (d *DAO) FirstAgentStoreTry(tx *gorm.DB, filters map[string][]inter...
  method FindAgentStoreTry (line 60) | func (d *DAO) FindAgentStoreTry(tx *gorm.DB, filters map[string][]interf...
  method FindAgentStoreTry4Page (line 68) | func (d *DAO) FindAgentStoreTry4Page(tx *gorm.DB, filters map[string][]i...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_store_try_detail.go
  method FindAgentStoreTryDetailJoinSelect (line 9) | func (d *DAO) FindAgentStoreTryDetailJoinSelect(tx *gorm.DB, selected []...
  method FindAgentStoreTryDetailJoinSelect4Page (line 18) | func (d *DAO) FindAgentStoreTryDetailJoinSelect4Page(tx *gorm.DB, select...
  method FirstAgentStoreTryDetailJoinSelect (line 27) | func (d *DAO) FirstAgentStoreTryDetailJoinSelect(tx *gorm.DB, selected [...
  method FirstAgentStoreTryDetailByID (line 38) | func (d *DAO) FirstAgentStoreTryDetailByID(tx *gorm.DB, id uint, preload...
  method FirstAgentStoreTryDetail (line 49) | func (d *DAO) FirstAgentStoreTryDetail(tx *gorm.DB, filters map[string][...
  method FindAgentStoreTryDetail (line 60) | func (d *DAO) FindAgentStoreTryDetail(tx *gorm.DB, filters map[string][]...
  method FindAgentStoreTryDetail4Page (line 68) | func (d *DAO) FindAgentStoreTryDetail4Page(tx *gorm.DB, filters map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_token_dao.go
  method FirstMemeByID (line 9) | func (d *DAO) FirstMemeByID(tx *gorm.DB, id uint, preloads map[string][]...
  method FirstMeme (line 20) | func (d *DAO) FirstMeme(tx *gorm.DB, filters map[string][]interface{}, p...
  method FindMeme (line 31) | func (d *DAO) FindMeme(tx *gorm.DB, filters map[string][]interface{}, pr...
  method FindMeme4Page (line 39) | func (d *DAO) FindMeme4Page(tx *gorm.DB, filters map[string][]interface{...
  method FindMemeJoinSelect (line 54) | func (d *DAO) FindMemeJoinSelect(tx *gorm.DB, selected []string, joins m...
  method FindMemeJoin (line 63) | func (d *DAO) FindMemeJoin(tx *gorm.DB, joins map[string][]interface{}, ...
  method FirstMemeJoinSelect (line 75) | func (d *DAO) FirstMemeJoinSelect(tx *gorm.DB, selected []string, joins ...
  method FindMemeJoinSelect4Page (line 86) | func (d *DAO) FindMemeJoinSelect4Page(tx *gorm.DB, selected []string, jo...
  method FindMemeHistoryJoinSelect (line 96) | func (d *DAO) FindMemeHistoryJoinSelect(tx *gorm.DB, selected []string, ...
  method FirstMemeHistoryByID (line 105) | func (d *DAO) FirstMemeHistoryByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstMemeHistory (line 116) | func (d *DAO) FirstMemeHistory(tx *gorm.DB, filters map[string][]interfa...
  method FindMemeHistory (line 127) | func (d *DAO) FindMemeHistory(tx *gorm.DB, filters map[string][]interfac...
  method GetMemeTradeHistoryInfo (line 135) | func (d *DAO) GetMemeTradeHistoryInfo(tx *gorm.DB, pairID uint) (*models...
  method UpdateChartCandleDataByMemeID (line 181) | func (d *DAO) UpdateChartCandleDataByMemeID(tx *gorm.DB, memID uint) (bo...
  method FindMemeThreadJoinSelect (line 195) | func (d *DAO) FindMemeThreadJoinSelect(tx *gorm.DB, selected []string, j...
  method FirstMemeThreadByID (line 204) | func (d *DAO) FirstMemeThreadByID(tx *gorm.DB, id uint, preloads map[str...
  method FirstMemeThread (line 215) | func (d *DAO) FirstMemeThread(tx *gorm.DB, filters map[string][]interfac...
  method FindMemeThread (line 226) | func (d *DAO) FindMemeThread(tx *gorm.DB, filters map[string][]interface...
  method FirstMemeThreadLike (line 234) | func (d *DAO) FirstMemeThreadLike(tx *gorm.DB, filters map[string][]inte...
  method FindMemeFollowersJoinSelect (line 246) | func (d *DAO) FindMemeFollowersJoinSelect(tx *gorm.DB, selected []string...
  method FirstMemeFollowersJoinSelect (line 255) | func (d *DAO) FirstMemeFollowersJoinSelect(tx *gorm.DB, selected []strin...
  method FirstMemeFollowers (line 266) | func (d *DAO) FirstMemeFollowers(tx *gorm.DB, filters map[string][]inter...
  method UpdateChartCandleDataByPair (line 278) | func (d *DAO) UpdateChartCandleDataByPair(tx *gorm.DB, memeID uint) (boo...
  method GetMemeChartCandleData30Min (line 302) | func (d *DAO) GetMemeChartCandleData30Min(tx *gorm.DB, memeID, day uint)...
  method GetMemeChartCandleData1Hour (line 320) | func (d *DAO) GetMemeChartCandleData1Hour(tx *gorm.DB, memeID, day uint)...
  method GetMemeChartCandleData4Hour (line 338) | func (d *DAO) GetMemeChartCandleData4Hour(tx *gorm.DB, memeID, day uint)...
  method GetMemeChartCandleData1Day (line 356) | func (d *DAO) GetMemeChartCandleData1Day(tx *gorm.DB, memeID, day uint) ...
  method GetMemeChartCandleData5Min (line 374) | func (d *DAO) GetMemeChartCandleData5Min(tx *gorm.DB, memeID, day uint) ...
  method FirstMemeNotificationByID (line 394) | func (d *DAO) FirstMemeNotificationByID(tx *gorm.DB, id uint, preloads m...
  method FirstMemeNotification (line 405) | func (d *DAO) FirstMemeNotification(tx *gorm.DB, filters map[string][]in...
  method FindMemeNotificationJoinSelect (line 416) | func (d *DAO) FindMemeNotificationJoinSelect(tx *gorm.DB, selected []str...
  method FirstMemeWhiteListAddress (line 425) | func (d *DAO) FirstMemeWhiteListAddress(tx *gorm.DB, filters map[string]...
  method FindMemeWhiteListAddress (line 436) | func (d *DAO) FindMemeWhiteListAddress(tx *gorm.DB, filters map[string][...
  method FindMemeBurnJoinSelect (line 444) | func (d *DAO) FindMemeBurnJoinSelect(tx *gorm.DB, selected []string, joi...
  method FirstMemeNotificationSeen (line 453) | func (d *DAO) FirstMemeNotificationSeen(tx *gorm.DB, filters map[string]...
  method FirstMemeSeenByID (line 464) | func (d *DAO) FirstMemeSeenByID(tx *gorm.DB, id uint, preloads map[strin...
  method FirstMemeSeen (line 475) | func (d *DAO) FirstMemeSeen(tx *gorm.DB, filters map[string][]interface{...
  method FindTrendingToken (line 486) | func (d *DAO) FindTrendingToken(tx *gorm.DB, filters map[string][]interf...
  method FindAllMemeTokenAddress (line 494) | func (d *DAO) FindAllMemeTokenAddress(tx *gorm.DB, networkID uint64) ([]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_trade_token.go
  method FirstAgentTradeTokenByID (line 9) | func (d *DAO) FirstAgentTradeTokenByID(tx *gorm.DB, id uint, preloads ma...
  method FirstAgentTradeToken (line 20) | func (d *DAO) FirstAgentTradeToken(tx *gorm.DB, filters map[string][]int...
  method FindAgentTradeToken (line 31) | func (d *DAO) FindAgentTradeToken(tx *gorm.DB, filters map[string][]inte...
  method FindAgentTradeToken4Page (line 39) | func (d *DAO) FindAgentTradeToken4Page(tx *gorm.DB, filters map[string][...
  method FindAgentTradeTokenJoinSelect (line 54) | func (d *DAO) FindAgentTradeTokenJoinSelect(tx *gorm.DB, selected []stri...
  method FindAgentTradeTokenJoin (line 63) | func (d *DAO) FindAgentTradeTokenJoin(tx *gorm.DB, joins map[string][]in...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_twitter_post.go
  method FirstAgentTwitterPostByID (line 9) | func (d *DAO) FirstAgentTwitterPostByID(tx *gorm.DB, id uint, preloads m...
  method FirstAgentTwitterPost (line 20) | func (d *DAO) FirstAgentTwitterPost(tx *gorm.DB, filters map[string][]in...
  method FindAgentTwitterPost (line 31) | func (d *DAO) FindAgentTwitterPost(tx *gorm.DB, filters map[string][]int...
  method FindAgentTwitterPost4Page (line 39) | func (d *DAO) FindAgentTwitterPost4Page(tx *gorm.DB, filters map[string]...
  method FindAgentTwitterPostJoinSelect (line 54) | func (d *DAO) FindAgentTwitterPostJoinSelect(tx *gorm.DB, selected []str...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_wallet.go
  method FirstAgentWalletByID (line 9) | func (d *DAO) FirstAgentWalletByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstAgentWallet (line 20) | func (d *DAO) FirstAgentWallet(tx *gorm.DB, filters map[string][]interfa...
  method FindAgentWallet (line 31) | func (d *DAO) FindAgentWallet(tx *gorm.DB, filters map[string][]interfac...
  method FindAgentWallet4Page (line 39) | func (d *DAO) FindAgentWallet4Page(tx *gorm.DB, filters map[string][]int...
  method FindAgentWalletJoinSelect (line 54) | func (d *DAO) FindAgentWalletJoinSelect(tx *gorm.DB, selected []string, ...

FILE: agent-as-a-service/agent-orchestration/backend/daos/agent_wallet_action.go
  method FirstAgentWalletActionByID (line 9) | func (d *DAO) FirstAgentWalletActionByID(tx *gorm.DB, id uint, preloads ...
  method FirstAgentWalletAction (line 20) | func (d *DAO) FirstAgentWalletAction(tx *gorm.DB, filters map[string][]i...
  method FindAgentWalletAction (line 31) | func (d *DAO) FindAgentWalletAction(tx *gorm.DB, filters map[string][]in...
  method FindAgentWalletAction4Page (line 39) | func (d *DAO) FindAgentWalletAction4Page(tx *gorm.DB, filters map[string...
  method FindAgentWalletActionJoinSelect (line 54) | func (d *DAO) FindAgentWalletActionJoinSelect(tx *gorm.DB, selected []st...
  method GetWalletActionTradeSum (line 63) | func (d *DAO) GetWalletActionTradeSum(tx *gorm.DB, agentInfoID uint) ([]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/api_subscription_history.go
  method FirstApiSubscriptionHistoryByID (line 9) | func (d *DAO) FirstApiSubscriptionHistoryByID(tx *gorm.DB, id uint, prel...
  method FirstApiSubscriptionHistory (line 20) | func (d *DAO) FirstApiSubscriptionHistory(tx *gorm.DB, filters map[strin...
  method FindApiSubscriptionHistory (line 31) | func (d *DAO) FindApiSubscriptionHistory(tx *gorm.DB, filters map[string...
  method FindApiSubscriptionHistory4Page (line 39) | func (d *DAO) FindApiSubscriptionHistory4Page(tx *gorm.DB, filters map[s...
  method FindApiSubscriptionHistoryJoinSelect (line 54) | func (d *DAO) FindApiSubscriptionHistoryJoinSelect(tx *gorm.DB, selected...
  method FindApiSubscriptionHistoryJoin (line 63) | func (d *DAO) FindApiSubscriptionHistoryJoin(tx *gorm.DB, joins map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/api_subscription_key.go
  method FirstApiSubscriptionKeyByID (line 9) | func (d *DAO) FirstApiSubscriptionKeyByID(tx *gorm.DB, id uint, preloads...
  method FirstApiSubscriptionKey (line 20) | func (d *DAO) FirstApiSubscriptionKey(tx *gorm.DB, filters map[string][]...
  method FindApiSubscriptionKey (line 31) | func (d *DAO) FindApiSubscriptionKey(tx *gorm.DB, filters map[string][]i...
  method FindApiSubscriptionKey4Page (line 39) | func (d *DAO) FindApiSubscriptionKey4Page(tx *gorm.DB, filters map[strin...
  method FindApiSubscriptionKeyJoinSelect (line 54) | func (d *DAO) FindApiSubscriptionKeyJoinSelect(tx *gorm.DB, selected []s...
  method FindApiSubscriptionKeyJoin (line 63) | func (d *DAO) FindApiSubscriptionKeyJoin(tx *gorm.DB, joins map[string][...

FILE: agent-as-a-service/agent-orchestration/backend/daos/api_subscription_package.go
  method FirstApiSubscriptionPackageByID (line 9) | func (d *DAO) FirstApiSubscriptionPackageByID(tx *gorm.DB, id uint, prel...
  method FirstApiSubscriptionPackage (line 20) | func (d *DAO) FirstApiSubscriptionPackage(tx *gorm.DB, filters map[strin...
  method FindApiSubscriptionPackage (line 31) | func (d *DAO) FindApiSubscriptionPackage(tx *gorm.DB, filters map[string...
  method FindApiSubscriptionPackage4Page (line 39) | func (d *DAO) FindApiSubscriptionPackage4Page(tx *gorm.DB, filters map[s...
  method FindApiSubscriptionPackageJoinSelect (line 54) | func (d *DAO) FindApiSubscriptionPackageJoinSelect(tx *gorm.DB, selected...
  method FindApiSubscriptionPackageJoin (line 63) | func (d *DAO) FindApiSubscriptionPackageJoin(tx *gorm.DB, joins map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/api_subscription_usage_log.go
  method FirstApiSubscriptionUsageLogByID (line 9) | func (d *DAO) FirstApiSubscriptionUsageLogByID(tx *gorm.DB, id uint, pre...
  method FirstApiSubscriptionUsageLog (line 20) | func (d *DAO) FirstApiSubscriptionUsageLog(tx *gorm.DB, filters map[stri...
  method FindApiSubscriptionUsageLog (line 31) | func (d *DAO) FindApiSubscriptionUsageLog(tx *gorm.DB, filters map[strin...
  method FindApiSubscriptionUsageLog4Page (line 39) | func (d *DAO) FindApiSubscriptionUsageLog4Page(tx *gorm.DB, filters map[...
  method FindApiSubscriptionUsageLogJoinSelect (line 54) | func (d *DAO) FindApiSubscriptionUsageLogJoinSelect(tx *gorm.DB, selecte...
  method FindApiSubscriptionUsageLogJoin (line 63) | func (d *DAO) FindApiSubscriptionUsageLogJoin(tx *gorm.DB, joins map[str...

FILE: agent-as-a-service/agent-orchestration/backend/daos/batch_infer_history.go
  method FindBatchInferHistoryJoinSelect (line 9) | func (d *DAO) FindBatchInferHistoryJoinSelect(tx *gorm.DB, selected []st...
  method FindBatchInferHistoryJoinSelect4Page (line 18) | func (d *DAO) FindBatchInferHistoryJoinSelect4Page(tx *gorm.DB, selected...
  method FirstBatchInferHistoryJoinSelect (line 27) | func (d *DAO) FirstBatchInferHistoryJoinSelect(tx *gorm.DB, selected []s...
  method FirstBatchInferHistoryByID (line 38) | func (d *DAO) FirstBatchInferHistoryByID(tx *gorm.DB, id uint, preloads ...
  method FirstBatchInferHistory (line 49) | func (d *DAO) FirstBatchInferHistory(tx *gorm.DB, filters map[string][]i...
  method FindBatchInferHistory (line 60) | func (d *DAO) FindBatchInferHistory(tx *gorm.DB, filters map[string][]in...
  method FindBatchInferHistory4Page (line 68) | func (d *DAO) FindBatchInferHistory4Page(tx *gorm.DB, filters map[string...

FILE: agent-as-a-service/agent-orchestration/backend/daos/block_scan_info.go
  method FirstBlockScanInfo (line 10) | func (d *DAO) FirstBlockScanInfo(tx *gorm.DB, filters map[string][]inter...
  method FindBlockScanInfo (line 21) | func (d *DAO) FindBlockScanInfo(tx *gorm.DB, filters map[string][]interf...
  method FindJoinSelectBlockScanInfo (line 29) | func (d *DAO) FindJoinSelectBlockScanInfo(tx *gorm.DB, selected []string...
  method FirstBlockScanInfoByID (line 39) | func (d *DAO) FirstBlockScanInfoByID(tx *gorm.DB, id uint, preloads map[...
  method GetTokenMarketPrice (line 50) | func (d *DAO) GetTokenMarketPrice(tx *gorm.DB, symbol string) (*numeric....
  method FirstTokenPrice (line 69) | func (d *DAO) FirstTokenPrice(tx *gorm.DB, filters map[string][]interfac...

FILE: agent-as-a-service/agent-orchestration/backend/daos/chain_config.go
  method FindChainConfigJoinSelect (line 9) | func (d *DAO) FindChainConfigJoinSelect(tx *gorm.DB, selected []string, ...
  method FindChainConfigJoinSelect4Page (line 18) | func (d *DAO) FindChainConfigJoinSelect4Page(tx *gorm.DB, selected []str...
  method FirstChainConfigJoinSelect (line 27) | func (d *DAO) FirstChainConfigJoinSelect(tx *gorm.DB, selected []string,...
  method FirstChainConfigByID (line 38) | func (d *DAO) FirstChainConfigByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstChainConfig (line 49) | func (d *DAO) FirstChainConfig(tx *gorm.DB, filters map[string][]interfa...
  method FindChainConfig (line 60) | func (d *DAO) FindChainConfig(tx *gorm.DB, filters map[string][]interfac...
  method FindChainConfig4Page (line 68) | func (d *DAO) FindChainConfig4Page(tx *gorm.DB, filters map[string][]int...

FILE: agent-as-a-service/agent-orchestration/backend/daos/daos.go
  function InitDBConn (line 16) | func InitDBConn(dbMainConn *gorm.DB) {
  function GetDBMainCtx (line 20) | func GetDBMainCtx(ctx context.Context) *gorm.DB {
  function WithTransaction (line 24) | func WithTransaction(dbConn *gorm.DB, callback func(*gorm.DB) error) (er...
  type DAO (line 42) | type DAO struct
    method Create (line 47) | func (d *DAO) Create(tx *gorm.DB, m interface{}) error {
    method Save (line 54) | func (d *DAO) Save(tx *gorm.DB, m interface{}) error {
    method Delete (line 61) | func (d *DAO) Delete(tx *gorm.DB, m interface{}) error {
    method DeleteUnscoped (line 68) | func (d *DAO) DeleteUnscoped(tx *gorm.DB, m interface{}) error {
    method first (line 75) | func (d *DAO) first(tx *gorm.DB, m interface{}, filters map[string][]i...
    method find (line 105) | func (d *DAO) find(tx *gorm.DB, ms interface{}, filters map[string][]i...
    method count (line 141) | func (d *DAO) count(tx *gorm.DB, m interface{}, filters map[string][]i...
    method findJoin (line 157) | func (d *DAO) findJoin(tx *gorm.DB, ms interface{}, joins map[string][...
    method countJoin (line 198) | func (d *DAO) countJoin(tx *gorm.DB, m interface{}, joins map[string][...
    method findJoin4Page (line 221) | func (d *DAO) findJoin4Page(tx *gorm.DB, m interface{}, ms interface{}...
    method findAll (line 262) | func (d *DAO) findAll(tx *gorm.DB, ms interface{}, filters map[string]...
    method findJoinSelect (line 292) | func (d *DAO) findJoinSelect(tx *gorm.DB, m interface{}, ms interface{...
    method firstJoinSelect (line 334) | func (d *DAO) firstJoinSelect(tx *gorm.DB, m interface{}, selected []s...
    method findJoinSelect4Page (line 376) | func (d *DAO) findJoinSelect4Page(tx *gorm.DB, m interface{}, ms inter...
    method findJoinSelect4PageNoCount (line 424) | func (d *DAO) findJoinSelect4PageNoCount(tx *gorm.DB, m interface{}, m...

FILE: agent-as-a-service/agent-orchestration/backend/daos/external_wallet.go
  method FirstExternalWalletByID (line 9) | func (d *DAO) FirstExternalWalletByID(tx *gorm.DB, id uint, preloads map...
  method FirstExternalWallet (line 20) | func (d *DAO) FirstExternalWallet(tx *gorm.DB, filters map[string][]inte...
  method FindExternalWallet (line 31) | func (d *DAO) FindExternalWallet(tx *gorm.DB, filters map[string][]inter...
  method FindExternalWallet4Page (line 39) | func (d *DAO) FindExternalWallet4Page(tx *gorm.DB, filters map[string][]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/external_wallet_order.go
  method FirstExternalWalletOrderByID (line 9) | func (d *DAO) FirstExternalWalletOrderByID(tx *gorm.DB, id uint, preload...
  method FirstExternalWalletOrder (line 20) | func (d *DAO) FirstExternalWalletOrder(tx *gorm.DB, filters map[string][...
  method FindExternalWalletOrder (line 31) | func (d *DAO) FindExternalWalletOrder(tx *gorm.DB, filters map[string][]...
  method FindExternalWalletOrder4Page (line 39) | func (d *DAO) FindExternalWalletOrder4Page(tx *gorm.DB, filters map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/external_wallet_token.go
  method FirstExternalWalletTokenByID (line 9) | func (d *DAO) FirstExternalWalletTokenByID(tx *gorm.DB, id uint, preload...
  method FirstExternalWalletToken (line 20) | func (d *DAO) FirstExternalWalletToken(tx *gorm.DB, filters map[string][...
  method FindExternalWalletToken (line 31) | func (d *DAO) FindExternalWalletToken(tx *gorm.DB, filters map[string][]...
  method FindExternalWalletToken4Page (line 39) | func (d *DAO) FindExternalWalletToken4Page(tx *gorm.DB, filters map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/infra_twiiter_app.go
  method FirstInfraTwitterAppByID (line 9) | func (d *DAO) FirstInfraTwitterAppByID(tx *gorm.DB, id uint, preloads ma...
  method FirstInfraTwitterApp (line 20) | func (d *DAO) FirstInfraTwitterApp(tx *gorm.DB, filters map[string][]int...
  method FindInfraTwitterApp (line 31) | func (d *DAO) FindInfraTwitterApp(tx *gorm.DB, filters map[string][]inte...
  method FindInfraTwitterApp4Page (line 39) | func (d *DAO) FindInfraTwitterApp4Page(tx *gorm.DB, filters map[string][...
  method FindInfraTwitterAppJoinSelect (line 54) | func (d *DAO) FindInfraTwitterAppJoinSelect(tx *gorm.DB, selected []stri...
  method FirstInfraTwitterTopupTx (line 63) | func (d *DAO) FirstInfraTwitterTopupTx(tx *gorm.DB, filters map[string][...

FILE: agent-as-a-service/agent-orchestration/backend/daos/job_config.go
  method FindJobConfigJoinSelect (line 9) | func (d *DAO) FindJobConfigJoinSelect(tx *gorm.DB, selected []string, jo...
  method FindJobConfigJoinSelect4Page (line 18) | func (d *DAO) FindJobConfigJoinSelect4Page(tx *gorm.DB, selected []strin...
  method FirstJobConfigJoinSelect (line 27) | func (d *DAO) FirstJobConfigJoinSelect(tx *gorm.DB, selected []string, j...
  method FirstJobConfigByID (line 38) | func (d *DAO) FirstJobConfigByID(tx *gorm.DB, id uint, preloads map[stri...
  method FirstJobConfig (line 49) | func (d *DAO) FirstJobConfig(tx *gorm.DB, filters map[string][]interface...
  method FindJobConfig (line 60) | func (d *DAO) FindJobConfig(tx *gorm.DB, filters map[string][]interface{...
  method FindJobConfig4Page (line 68) | func (d *DAO) FindJobConfig4Page(tx *gorm.DB, filters map[string][]inter...

FILE: agent-as-a-service/agent-orchestration/backend/daos/launchpad.go
  method FirstLaunchpadByID (line 9) | func (d *DAO) FirstLaunchpadByID(tx *gorm.DB, id uint, preloads map[stri...
  method FirstLaunchpad (line 20) | func (d *DAO) FirstLaunchpad(tx *gorm.DB, filters map[string][]interface...
  method FindLaunchpad (line 31) | func (d *DAO) FindLaunchpad(tx *gorm.DB, filters map[string][]interface{...
  method FindLaunchpad4Page (line 39) | func (d *DAO) FindLaunchpad4Page(tx *gorm.DB, filters map[string][]inter...
  method FindLaunchpadJoinSelect (line 54) | func (d *DAO) FindLaunchpadJoinSelect(tx *gorm.DB, selected []string, jo...

FILE: agent-as-a-service/agent-orchestration/backend/daos/launchpad_member.go
  method FirstLaunchpadMemberByID (line 9) | func (d *DAO) FirstLaunchpadMemberByID(tx *gorm.DB, id uint, preloads ma...
  method FirstLaunchpadMember (line 20) | func (d *DAO) FirstLaunchpadMember(tx *gorm.DB, filters map[string][]int...
  method FindLaunchpadMember (line 31) | func (d *DAO) FindLaunchpadMember(tx *gorm.DB, filters map[string][]inte...
  method FindLaunchpadMember4Page (line 39) | func (d *DAO) FindLaunchpadMember4Page(tx *gorm.DB, filters map[string][...
  method FindLaunchpadMemberJoinSelect (line 54) | func (d *DAO) FindLaunchpadMemberJoinSelect(tx *gorm.DB, selected []stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/launchpad_transaction.go
  method FirstLaunchpadTransactionByID (line 9) | func (d *DAO) FirstLaunchpadTransactionByID(tx *gorm.DB, id uint, preloa...
  method FirstLaunchpadTransaction (line 20) | func (d *DAO) FirstLaunchpadTransaction(tx *gorm.DB, filters map[string]...
  method FindLaunchpadTransaction (line 31) | func (d *DAO) FindLaunchpadTransaction(tx *gorm.DB, filters map[string][...
  method FindLaunchpadTransaction4Page (line 39) | func (d *DAO) FindLaunchpadTransaction4Page(tx *gorm.DB, filters map[str...
  method FindLaunchpadTransactionJoinSelect (line 54) | func (d *DAO) FindLaunchpadTransactionJoinSelect(tx *gorm.DB, selected [...

FILE: agent-as-a-service/agent-orchestration/backend/daos/meme_fees_collected.go
  method FirstMemeFeesCollectedByID (line 9) | func (d *DAO) FirstMemeFeesCollectedByID(tx *gorm.DB, id uint, preloads ...
  method FirstMemeFeesCollected (line 20) | func (d *DAO) FirstMemeFeesCollected(tx *gorm.DB, filters map[string][]i...
  method FindMemeFeesCollected (line 31) | func (d *DAO) FindMemeFeesCollected(tx *gorm.DB, filters map[string][]in...
  method FindMemeFeesCollected4Page (line 39) | func (d *DAO) FindMemeFeesCollected4Page(tx *gorm.DB, filters map[string...
  method FindMemeFeesCollectedJoinSelect (line 54) | func (d *DAO) FindMemeFeesCollectedJoinSelect(tx *gorm.DB, selected []st...

FILE: agent-as-a-service/agent-orchestration/backend/daos/mission_store.go
  method FindMissionStoreJoinSelect (line 9) | func (d *DAO) FindMissionStoreJoinSelect(tx *gorm.DB, selected []string,...
  method FindMissionStoreJoinSelect4Page (line 18) | func (d *DAO) FindMissionStoreJoinSelect4Page(tx *gorm.DB, selected []st...
  method FirstMissionStoreJoinSelect (line 27) | func (d *DAO) FirstMissionStoreJoinSelect(tx *gorm.DB, selected []string...
  method FirstMissionStoreByID (line 38) | func (d *DAO) FirstMissionStoreByID(tx *gorm.DB, id uint, preloads map[s...
  method FirstMissionStore (line 49) | func (d *DAO) FirstMissionStore(tx *gorm.DB, filters map[string][]interf...
  method FindMissionStore (line 60) | func (d *DAO) FindMissionStore(tx *gorm.DB, filters map[string][]interfa...
  method FindMissionStore4Page (line 68) | func (d *DAO) FindMissionStore4Page(tx *gorm.DB, filters map[string][]in...

FILE: agent-as-a-service/agent-orchestration/backend/daos/mission_store_history.go
  method FindMissionStoreHistoryJoinSelect (line 9) | func (d *DAO) FindMissionStoreHistoryJoinSelect(tx *gorm.DB, selected []...
  method FindMissionStoreHistoryJoinSelect4Page (line 18) | func (d *DAO) FindMissionStoreHistoryJoinSelect4Page(tx *gorm.DB, select...
  method FirstMissionStoreHistoryJoinSelect (line 27) | func (d *DAO) FirstMissionStoreHistoryJoinSelect(tx *gorm.DB, selected [...
  method FirstMissionStoreHistoryByID (line 38) | func (d *DAO) FirstMissionStoreHistoryByID(tx *gorm.DB, id uint, preload...
  method FirstMissionStoreHistory (line 49) | func (d *DAO) FirstMissionStoreHistory(tx *gorm.DB, filters map[string][...
  method FindMissionStoreHistory (line 60) | func (d *DAO) FindMissionStoreHistory(tx *gorm.DB, filters map[string][]...
  method FindMissionStoreHistory4Page (line 68) | func (d *DAO) FindMissionStoreHistory4Page(tx *gorm.DB, filters map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/mission_store_rating.go
  method FindMissionStoreRatingJoinSelect (line 9) | func (d *DAO) FindMissionStoreRatingJoinSelect(tx *gorm.DB, selected []s...
  method FindMissionStoreRatingJoinSelect4Page (line 18) | func (d *DAO) FindMissionStoreRatingJoinSelect4Page(tx *gorm.DB, selecte...
  method FirstMissionStoreRatingJoinSelect (line 27) | func (d *DAO) FirstMissionStoreRatingJoinSelect(tx *gorm.DB, selected []...
  method FirstMissionStoreRatingByID (line 38) | func (d *DAO) FirstMissionStoreRatingByID(tx *gorm.DB, id uint, preloads...
  method FirstMissionStoreRating (line 49) | func (d *DAO) FirstMissionStoreRating(tx *gorm.DB, filters map[string][]...
  method FindMissionStoreRating (line 60) | func (d *DAO) FindMissionStoreRating(tx *gorm.DB, filters map[string][]i...
  method FindMissionStoreRating4Page (line 68) | func (d *DAO) FindMissionStoreRating4Page(tx *gorm.DB, filters map[strin...

FILE: agent-as-a-service/agent-orchestration/backend/daos/model_market.go
  method FindModelMarketJoinSelect (line 9) | func (d *DAO) FindModelMarketJoinSelect(tx *gorm.DB, selected []string, ...
  method FindModelMarketJoinSelect4Page (line 18) | func (d *DAO) FindModelMarketJoinSelect4Page(tx *gorm.DB, selected []str...
  method FirstModelMarketJoinSelect (line 27) | func (d *DAO) FirstModelMarketJoinSelect(tx *gorm.DB, selected []string,...
  method FirstModelMarketByID (line 38) | func (d *DAO) FirstModelMarketByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstModelMarket (line 49) | func (d *DAO) FirstModelMarket(tx *gorm.DB, filters map[string][]interfa...
  method FindModelMarket (line 60) | func (d *DAO) FindModelMarket(tx *gorm.DB, filters map[string][]interfac...
  method FindModelMarket4Page (line 68) | func (d *DAO) FindModelMarket4Page(tx *gorm.DB, filters map[string][]int...

FILE: agent-as-a-service/agent-orchestration/backend/daos/model_predict_history.go
  method FindModelPredictHistoryJoinSelect (line 9) | func (d *DAO) FindModelPredictHistoryJoinSelect(tx *gorm.DB, selected []...
  method FindModelPredictHistoryJoinSelect4Page (line 18) | func (d *DAO) FindModelPredictHistoryJoinSelect4Page(tx *gorm.DB, select...
  method FirstModelPredictHistoryJoinSelect (line 27) | func (d *DAO) FirstModelPredictHistoryJoinSelect(tx *gorm.DB, selected [...
  method FirstModelPredictHistoryByID (line 38) | func (d *DAO) FirstModelPredictHistoryByID(tx *gorm.DB, id uint, preload...
  method FirstModelPredictHistory (line 49) | func (d *DAO) FirstModelPredictHistory(tx *gorm.DB, filters map[string][...
  method FindModelPredictHistory (line 60) | func (d *DAO) FindModelPredictHistory(tx *gorm.DB, filters map[string][]...
  method FindModelPredictHistory4Page (line 68) | func (d *DAO) FindModelPredictHistory4Page(tx *gorm.DB, filters map[stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/robot_dao.go
  method FirstRobotSaleWallet (line 9) | func (d *DAO) FirstRobotSaleWallet(tx *gorm.DB, filters map[string][]int...
  method FindRobotSaleWallet (line 20) | func (d *DAO) FindRobotSaleWallet(tx *gorm.DB, filters map[string][]inte...
  method FindRobotSaleWallet4Page (line 28) | func (d *DAO) FindRobotSaleWallet4Page(tx *gorm.DB, filters map[string][...
  method FindRobotSaleWalletJoinSelect (line 39) | func (d *DAO) FindRobotSaleWalletJoinSelect(tx *gorm.DB, selected []stri...
  method FirstRobotSaleWalletByID (line 48) | func (d *DAO) FirstRobotSaleWalletByID(tx *gorm.DB, id uint, preloads ma...
  method FirstRobotProject (line 59) | func (d *DAO) FirstRobotProject(tx *gorm.DB, filters map[string][]interf...
  method FirstRobotProjectByID (line 70) | func (d *DAO) FirstRobotProjectByID(tx *gorm.DB, id uint, preloads map[s...
  method FindRobotProject (line 81) | func (d *DAO) FindRobotProject(tx *gorm.DB, filters map[string][]interfa...
  method UpdatePrijectTotalBalance (line 89) | func (d *DAO) UpdatePrijectTotalBalance(tx *gorm.DB, projectID string) e...
  method UpdateRobotProjectRanking (line 104) | func (d *DAO) UpdateRobotProjectRanking(tx *gorm.DB, projectID string) e...

FILE: agent-as-a-service/agent-orchestration/backend/daos/sample_twiiter_app.go
  method FirstSampleTwitterAppByID (line 9) | func (d *DAO) FirstSampleTwitterAppByID(tx *gorm.DB, id uint, preloads m...
  method FirstSampleTwitterApp (line 20) | func (d *DAO) FirstSampleTwitterApp(tx *gorm.DB, filters map[string][]in...
  method FindSampleTwitterApp (line 31) | func (d *DAO) FindSampleTwitterApp(tx *gorm.DB, filters map[string][]int...
  method FindSampleTwitterApp4Page (line 39) | func (d *DAO) FindSampleTwitterApp4Page(tx *gorm.DB, filters map[string]...
  method FindSampleTwitterAppJoinSelect (line 54) | func (d *DAO) FindSampleTwitterAppJoinSelect(tx *gorm.DB, selected []str...

FILE: agent-as-a-service/agent-orchestration/backend/daos/store_trading_app.go
  method FirstStoreDefiAppByID (line 9) | func (d *DAO) FirstStoreDefiAppByID(tx *gorm.DB, id uint, preloads map[s...
  method FirstStoreDefiApp (line 20) | func (d *DAO) FirstStoreDefiApp(tx *gorm.DB, filters map[string][]interf...
  method FindStoreDefiApp (line 31) | func (d *DAO) FindStoreDefiApp(tx *gorm.DB, filters map[string][]interfa...
  method FindStoreDefiApp4Page (line 39) | func (d *DAO) FindStoreDefiApp4Page(tx *gorm.DB, filters map[string][]in...
  method FindStoreDefiAppJoinSelect (line 54) | func (d *DAO) FindStoreDefiAppJoinSelect(tx *gorm.DB, selected []string,...

FILE: agent-as-a-service/agent-orchestration/backend/daos/training_request.go
  method FindTrainingRequestJoinSelect (line 9) | func (d *DAO) FindTrainingRequestJoinSelect(tx *gorm.DB, selected []stri...
  method FindTrainingRequestJoinSelect4Page (line 18) | func (d *DAO) FindTrainingRequestJoinSelect4Page(tx *gorm.DB, selected [...
  method FirstTrainingRequestJoinSelect (line 27) | func (d *DAO) FirstTrainingRequestJoinSelect(tx *gorm.DB, selected []str...
  method FirstTrainingRequestByID (line 38) | func (d *DAO) FirstTrainingRequestByID(tx *gorm.DB, id uint, preloads ma...
  method FirstTrainingRequest (line 49) | func (d *DAO) FirstTrainingRequest(tx *gorm.DB, filters map[string][]int...
  method FindTrainingRequest (line 60) | func (d *DAO) FindTrainingRequest(tx *gorm.DB, filters map[string][]inte...
  method FindTrainingRequest4Page (line 68) | func (d *DAO) FindTrainingRequest4Page(tx *gorm.DB, filters map[string][...

FILE: agent-as-a-service/agent-orchestration/backend/daos/training_request_erc20_info.go
  method FindTrainingRequestERC20InfoJoinSelect (line 9) | func (d *DAO) FindTrainingRequestERC20InfoJoinSelect(tx *gorm.DB, select...
  method FindTrainingRequestERC20InfoJoinSelect4Page (line 18) | func (d *DAO) FindTrainingRequestERC20InfoJoinSelect4Page(tx *gorm.DB, s...
  method FirstTrainingRequestERC20InfoJoinSelect (line 27) | func (d *DAO) FirstTrainingRequestERC20InfoJoinSelect(tx *gorm.DB, selec...
  method FirstTrainingRequestERC20InfoByID (line 38) | func (d *DAO) FirstTrainingRequestERC20InfoByID(tx *gorm.DB, id uint, pr...
  method FirstTrainingRequestERC20Info (line 49) | func (d *DAO) FirstTrainingRequestERC20Info(tx *gorm.DB, filters map[str...
  method FindTrainingRequestERC20Info (line 60) | func (d *DAO) FindTrainingRequestERC20Info(tx *gorm.DB, filters map[stri...
  method FindTrainingRequestERC20Info4Page (line 68) | func (d *DAO) FindTrainingRequestERC20Info4Page(tx *gorm.DB, filters map...

FILE: agent-as-a-service/agent-orchestration/backend/daos/twitter_following.go
  method FirstTwitterFollowingByID (line 9) | func (d *DAO) FirstTwitterFollowingByID(tx *gorm.DB, id uint, preloads m...
  method FirstTwitterFollowing (line 20) | func (d *DAO) FirstTwitterFollowing(tx *gorm.DB, filters map[string][]in...
  method FindTwitterFollowing (line 31) | func (d *DAO) FindTwitterFollowing(tx *gorm.DB, filters map[string][]int...
  method FindTwitterFollowing4Page (line 39) | func (d *DAO) FindTwitterFollowing4Page(tx *gorm.DB, filters map[string]...

FILE: agent-as-a-service/agent-orchestration/backend/daos/twitter_post.go
  method FirstTwitterPostByID (line 9) | func (d *DAO) FirstTwitterPostByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstTwitterPost (line 20) | func (d *DAO) FirstTwitterPost(tx *gorm.DB, filters map[string][]interfa...
  method FindTwitterPost (line 31) | func (d *DAO) FindTwitterPost(tx *gorm.DB, filters map[string][]interfac...
  method FindTwitterPost4Page (line 39) | func (d *DAO) FindTwitterPost4Page(tx *gorm.DB, filters map[string][]int...

FILE: agent-as-a-service/agent-orchestration/backend/daos/twitter_tweet.go
  method FirstTwitterTweetByID (line 9) | func (d *DAO) FirstTwitterTweetByID(tx *gorm.DB, id uint, preloads map[s...
  method FirstTwitterTweet (line 20) | func (d *DAO) FirstTwitterTweet(tx *gorm.DB, filters map[string][]interf...
  method FindTwitterTweet (line 31) | func (d *DAO) FindTwitterTweet(tx *gorm.DB, filters map[string][]interfa...
  method FindTwitterTweet4Page (line 39) | func (d *DAO) FindTwitterTweet4Page(tx *gorm.DB, filters map[string][]in...
  method GetListTwitterScan (line 53) | func (d *DAO) GetListTwitterScan(tx *gorm.DB) ([]string, error) {
  method GetListTwitterMentionsScan (line 91) | func (d *DAO) GetListTwitterMentionsScan(tx *gorm.DB) ([]string, error) {
  method GetListTwitterDefaultFollow (line 118) | func (d *DAO) GetListTwitterDefaultFollow(tx *gorm.DB) ([]string, error) {
  method IsTweetReplied (line 145) | func (d *DAO) IsTweetReplied(tx *gorm.DB, tweetID string) (bool, error) {

FILE: agent-as-a-service/agent-orchestration/backend/daos/twitter_tweet_liked.go
  method FirstTwitterTweetLikedByID (line 9) | func (d *DAO) FirstTwitterTweetLikedByID(tx *gorm.DB, id uint, preloads ...
  method FirstTwitterTweetLiked (line 20) | func (d *DAO) FirstTwitterTweetLiked(tx *gorm.DB, filters map[string][]i...
  method FindTwitterTweetLiked (line 31) | func (d *DAO) FindTwitterTweetLiked(tx *gorm.DB, filters map[string][]in...
  method FindTwitterTweetLiked4Page (line 39) | func (d *DAO) FindTwitterTweetLiked4Page(tx *gorm.DB, filters map[string...
  method FindTwitterTweetLikedJoinSelect (line 54) | func (d *DAO) FindTwitterTweetLikedJoinSelect(tx *gorm.DB, selected []st...

FILE: agent-as-a-service/agent-orchestration/backend/daos/twitter_user.go
  method FirstTwitterUserByID (line 9) | func (d *DAO) FirstTwitterUserByID(tx *gorm.DB, id uint, preloads map[st...
  method FirstTwitterUser (line 20) | func (d *DAO) FirstTwitterUser(tx *gorm.DB, filters map[string][]interfa...
  method FindTwitterUser (line 31) | func (d *DAO) FindTwitterUser(tx *gorm.DB, filters map[string][]interfac...
  method FindTwitterUser4Page (line 39) | func (d *DAO) FindTwitterUser4Page(tx *gorm.DB, filters map[string][]int...

FILE: agent-as-a-service/agent-orchestration/backend/daos/user_dao.go
  method FindUserJoinSelect (line 9) | func (d *DAO) FindUserJoinSelect(tx *gorm.DB, selected []string, joins m...
  method FindUserJoinSelect4Page (line 18) | func (d *DAO) FindUserJoinSelect4Page(tx *gorm.DB, selected []string, jo...
  method FirstUserJoinSelect (line 27) | func (d *DAO) FirstUserJoinSelect(tx *gorm.DB, selected []string, joins ...
  method FirstUserByID (line 38) | func (d *DAO) FirstUserByID(tx *gorm.DB, id uint, preloads map[string][]...
  method FirstUser (line 49) | func (d *DAO) FirstUser(tx *gorm.DB, filters map[string][]interface{}, p...
  method FindUser (line 60) | func (d *DAO) FindUser(tx *gorm.DB, filters map[string][]interface{}, pr...
  method FindUser4Page (line 68) | func (d *DAO) FindUser4Page(tx *gorm.DB, filters map[string][]interface{...
  method FirstAuthCode (line 83) | func (d *DAO) FirstAuthCode(tx *gorm.DB, filters map[string][]interface{...
  method FindErc20HolderJoinSelect (line 94) | func (d *DAO) FindErc20HolderJoinSelect(tx *gorm.DB, selected []string, ...
  method FindTokenHolderJoinSelect (line 103) | func (d *DAO) FindTokenHolderJoinSelect(tx *gorm.DB, selected []string, ...

FILE: agent-as-a-service/agent-orchestration/backend/daos/user_transaction.go
  method FirstUserTransactionByID (line 9) | func (d *DAO) FirstUserTransactionByID(tx *gorm.DB, id uint, preloads ma...
  method FirstUserTransaction (line 20) | func (d *DAO) FirstUserTransaction(tx *gorm.DB, filters map[string][]int...
  method FindUserTransaction (line 31) | func (d *DAO) FindUserTransaction(tx *gorm.DB, filters map[string][]inte...
  method FindUserTransaction4Page (line 39) | func (d *DAO) FindUserTransaction4Page(tx *gorm.DB, filters map[string][...
  method FindUserTransactionJoinSelect (line 54) | func (d *DAO) FindUserTransactionJoinSelect(tx *gorm.DB, selected []stri...

FILE: agent-as-a-service/agent-orchestration/backend/daos/vibe.go
  method FirstVibeReferralCode (line 9) | func (d *DAO) FirstVibeReferralCode(tx *gorm.DB, filters map[string][]in...
  method FirstVibeReferralCodeByID (line 20) | func (d *DAO) FirstVibeReferralCodeByID(tx *gorm.DB, id uint, preloads m...
  method AgentUserComment4Page (line 31) | func (d *DAO) AgentUserComment4Page(tx *gorm.DB, filters map[string][]in...

FILE: agent-as-a-service/agent-orchestration/backend/daos/zk_sync_network.go
  method FindZkSyncNetworkJoinSelect (line 9) | func (d *DAO) FindZkSyncNetworkJoinSelect(tx *gorm.DB, selected []string...
  method FindZkSyncNetworkJoinSelect4Page (line 18) | func (d *DAO) FindZkSyncNetworkJoinSelect4Page(tx *gorm.DB, selected []s...
  method FirstZkSyncNetworkJoinSelect (line 27) | func (d *DAO) FirstZkSyncNetworkJoinSelect(tx *gorm.DB, selected []strin...
  method FirstZkSyncNetworkByID (line 38) | func (d *DAO) FirstZkSyncNetworkByID(tx *gorm.DB, id uint, preloads map[...
  method FirstZkSyncNetwork (line 49) | func (d *DAO) FirstZkSyncNetwork(tx *gorm.DB, filters map[string][]inter...
  method FindZkSyncNetwork (line 60) | func (d *DAO) FindZkSyncNetwork(tx *gorm.DB, filters map[string][]interf...
  method FindZkSyncNetwork4Page (line 68) | func (d *DAO) FindZkSyncNetwork4Page(tx *gorm.DB, filters map[string][]i...

FILE: agent-as-a-service/agent-orchestration/backend/databases/database.go
  function init (line 19) | func init() {
  function Init (line 23) | func Init(dbURL string, migrateFunc func(db *gorm.DB) error, idleNum int...
  function MigrateDBMain (line 44) | func MigrateDBMain(db *gorm.DB) error {

FILE: agent-as-a-service/agent-orchestration/backend/errs/errors.go
  type Error (line 64) | type Error struct
    method SetStacktrace (line 72) | func (e *Error) SetStacktrace(stacktrace string) {
    method Stacktrace (line 77) | func (e *Error) Stacktrace() string {
    method Error (line 81) | func (e *Error) Error() string {
    method SetExtra (line 85) | func (e *Error) SetExtra(extra []interface{}) {
    method Extra (line 89) | func (e *Error) Extra() []interface{} {
    method ExtraJson (line 93) | func (e *Error) ExtraJson() string {
  function NewErrorWithId (line 97) | func NewErrorWithId(err error, id interface{}) error {
  function NewError (line 106) | func NewError(err error, extras ...interface{}) error {
  function NewTwitterError (line 133) | func NewTwitterError(err error, extras ...interface{}) error {
  function NewStacktraceString (line 137) | func NewStacktraceString(extras ...interface{}) string {
  function MergeError (line 155) | func MergeError(err1 error, errss ...error) error {
  function LoggerFunc (line 198) | func LoggerFunc(fn func() error, path string, userID uint, email string,...

FILE: agent-as-a-service/agent-orchestration/backend/helpers/auth.go
  type AuthToken (line 19) | type AuthToken struct
  function DecryptAndVerifyAuthToken (line 25) | func DecryptAndVerifyAuthToken(authToken, serverKey string) (*AuthToken,...
  function SplitAuthToken (line 59) | func SplitAuthToken(authToken string) (string, string) {
  function VerifyAuthToken (line 68) | func VerifyAuthToken(authTokenStr, signature, address string) error {
  function DecryptAuthToken (line 77) | func DecryptAuthToken(authTokenStr, serverKey string) (*AuthToken, error) {
  function VerifySig (line 87) | func VerifySig(dataHash []byte, sig64, address string) error {
  function Decrypt (line 111) | func Decrypt(dataStr, privKey string, result interface{}) error {
  function VerifySignature (line 133) | func VerifySignature(fromAddress, signatureHex, message string) error {
  function EncryptAndSignAuthToken (line 155) | func EncryptAndSignAuthToken(authToken AuthToken, serverKey string) (str...
  function EncryptAuthToken (line 169) | func EncryptAuthToken(authToken AuthToken, serverKey string) (string, er...
  function Encrypt (line 178) | func Encrypt(data interface{}, privKey string) (string, error) {
  function SignAuthToken (line 202) | func SignAuthToken(authTokenStr, privateKey string) (string, error) {
  function Sign (line 211) | func Sign(dataStr, privKey string) (string, error) {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/copier.go
  constant tagMust (line 33) | tagMust uint8 = 1 << iota
  constant tagNoPanic (line 37) | tagNoPanic
  constant tagIgnore (line 40) | tagIgnore
  constant hasCopied (line 43) | hasCopied
  constant String (line 46) | String  string  = ""
  constant Bool (line 47) | Bool    bool    = false
  constant Int (line 48) | Int     int     = 0
  constant Float32 (line 49) | Float32 float32 = 0
  constant Float64 (line 50) | Float64 float64 = 0
  type Option (line 54) | type Option struct
    method converters (line 66) | func (opt Option) converters() map[converterPair]TypeConverter {
    method fieldNameMapping (line 93) | func (opt Option) fieldNameMapping() map[converterPair]FieldNameMapping {
  type TypeConverter (line 82) | type TypeConverter struct
  type converterPair (line 88) | type converterPair struct
  type FieldNameMapping (line 108) | type FieldNameMapping struct
  type flags (line 115) | type flags struct
  type tagNameMapping (line 122) | type tagNameMapping struct
  function Copy (line 128) | func Copy(toValue interface{}, fromValue interface{}) (err error) {
  function CopyWithOption (line 133) | func CopyWithOption(toValue interface{}, fromValue interface{}, opt Opti...
  function copier (line 137) | func copier(toValue interface{}, fromValue interface{}, opt Option) (err...
  function getFieldNamesMapping (line 647) | func getFieldNamesMapping(mappings map[converterPair]FieldNameMapping, f...
  function fieldByNameOrZeroValue (line 662) | func fieldByNameOrZeroValue(source reflect.Value, fieldName string) (val...
  function copyUnexportedStructFields (line 672) | func copyUnexportedStructFields(to, from reflect.Value) {
  function shouldIgnore (line 690) | func shouldIgnore(v reflect.Value, ignoreEmpty bool) bool {
  function deepFields (line 699) | func deepFields(reflectType reflect.Type) []reflect.StructField {
  function indirect (line 732) | func indirect(reflectValue reflect.Value) reflect.Value {
  function indirectType (line 739) | func indirectType(reflectType reflect.Type) (_ reflect.Type, isPtr bool) {
  function set (line 747) | func set(to, from reflect.Value, deepCopy bool, converters map[converter...
  function lookupAndCopyWithConverter (line 845) | func lookupAndCopyWithConverter(to, from reflect.Value, converters map[c...
  function parseTags (line 871) | func parseTags(tag string) (flg uint8, name string, err error) {
  function getFlags (line 893) | func getFlags(dest, src reflect.Value, toType, fromType reflect.Type) (f...
  function checkBitFlags (line 946) | func checkBitFlags(flagsList map[string]uint8) (err error) {
  function getFieldName (line 962) | func getFieldName(fieldName string, flgs flags, fieldNameMapping map[str...
  function driverValuer (line 1002) | func driverValuer(v reflect.Value) (i driver.Valuer, ok bool) {
  function fieldByName (line 1012) | func fieldByName(v reflect.Value, name string, caseSensitive bool) refle...
  function setValue (line 1020) | func setValue(to interface{}, from interface{}) {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/crypto.go
  function ValidateMessageSignature (line 16) | func ValidateMessageSignature(msg string, signatureHex string, signer st...
  function ERC20PermitSignature (line 41) | func ERC20PermitSignature(pk *ecdsa.PrivateKey, domainSeparator, owner, ...
  function HexToBytes32 (line 99) | func HexToBytes32(hex string) [32]byte {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/http_request.go
  type AllowedCode (line 12) | type AllowedCode struct
  type RelyErrorMessage (line 16) | type RelyErrorMessage struct
  type RelyError (line 22) | type RelyError struct
  function NewAllowedCode (line 27) | func NewAllowedCode() AllowedCode {
  function HttpRequest (line 37) | func HttpRequest(fullUrl string, method string, headers map[string]strin...
  function HttpRequestFullResponse (line 102) | func HttpRequestFullResponse(fullUrl string, method string, headers map[...
  function JsonRequest (line 137) | func JsonRequest(fullUrl string, method string, headers map[string]strin...
  function isAllowed (line 144) | func isAllowed(code string) bool {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/json.go
  function ConvertJsonString (line 5) | func ConvertJsonString(data interface{}) string {
  function ConvertJsonObject (line 13) | func ConvertJsonObject(jsonStr string, data interface{}) error {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/net.go
  function CurlURL (line 16) | func CurlURL(apiURL string, method string, headers map[string]string, po...
  function MakeSeoURL (line 73) | func MakeSeoURL(title string) string {
  function ConvertImageDataURL (line 83) | func ConvertImageDataURL(tokenURL string) string {
  function CurlURLString (line 98) | func CurlURLString(apiURL string, method string, headers map[string]stri...
  function CurlBase64String (line 148) | func CurlBase64String(apiURL string) (string, error) {
  function RemoveImageURLs (line 179) | func RemoveImageURLs(text string) string {
  function RemoveURLs (line 186) | func RemoveURLs(text string) string {
  function BuildUri (line 193) | func BuildUri(urlString string, queries map[string]string) string {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/rand.go
  function RandomStringWithLength (line 17) | func RandomStringWithLength(length int) string {
  function RandomHex (line 32) | func RandomHex(n int) (string, error) {
  function GenShareCode (line 41) | func GenShareCode(length int) string {
  function RandomReferralCode (line 55) | func RandomReferralCode(length int) string {
  function RandomBigInt (line 69) | func RandomBigInt(numBytes int) *big.Int {
  function RandomNonceNumber (line 78) | func RandomNonceNumber(numberOfDigits int) (string, error) {
  function Sha256ToNonce (line 91) | func Sha256ToNonce(s string) *big.Int {
  function RandHash (line 98) | func RandHash() string {
  function RandInArray (line 107) | func RandInArray(arry []string) string {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/recaptcha.go
  function ValidateRecaptcha (line 15) | func ValidateRecaptcha(secret string, response string) (bool, error) {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/sign.go
  function GetSignMsg (line 9) | func GetSignMsg(msg string) string {
  function AppendHexStrings (line 13) | func AppendHexStrings(values ...string) string {
  function ParseHex2Hex (line 24) | func ParseHex2Hex(v string) string {
  function ParseNumber2Hex (line 31) | func ParseNumber2Hex(v string) string {
  function ParseBigInt2Hex (line 36) | func ParseBigInt2Hex(v *big.Int) string {
  function has0xPrefix (line 44) | func has0xPrefix(input string) bool {
  function ParseAddress2Hex (line 48) | func ParseAddress2Hex(v string) string {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/time.go
  constant DEFAULT_DATE_FORMAT (line 8) | DEFAULT_DATE_FORMAT      = "2006-01-02"
  constant DEFAULT_TIME_FORMAT (line 9) | DEFAULT_TIME_FORMAT      = "2006-01-02 15:04:05"
  constant TWITTER_DATE_TIME_FORMAT (line 10) | TWITTER_DATE_TIME_FORMAT = "2006-01-02T15:04:05.000Z"
  constant DEFAULT_TIME_ONLY_FORMAT (line 12) | DEFAULT_TIME_ONLY_FORMAT   = "15:04:05"
  constant DEFAULT_FILTER_TIME_FORMAT (line 13) | DEFAULT_FILTER_TIME_FORMAT = "20060102150405"
  function TimeFromUnix (line 16) | func TimeFromUnix(n int64) *time.Time {
  function ParseStringToDateDefault (line 24) | func ParseStringToDateDefault(value string) *time.Time {
  function ParseStringToDateTimeDefault (line 28) | func ParseStringToDateTimeDefault(value string) *time.Time {
  function ParseStringToDateTimeTwitter (line 32) | func ParseStringToDateTimeTwitter(value string) *time.Time {
  function ParseStringToTime (line 36) | func ParseStringToTime(layout string, value string) *time.Time {
  function ParseTimeToStringDateDefault (line 44) | func ParseTimeToStringDateDefault(value *time.Time) string {
  function ParseTimeToStringDateTimeDefault (line 48) | func ParseTimeToStringDateTimeDefault(value *time.Time) string {
  function ParseTimeToString (line 52) | func ParseTimeToString(layout string, value *time.Time) string {
  function NewDate (line 59) | func NewDate(day int, month time.Month, year int) *time.Time {
  function NewDateForDayOfWeek (line 64) | func NewDateForDayOfWeek(dayOffWeek time.Weekday, month time.Month, year...
  function NewLastDateForDayOfWeek (line 86) | func NewLastDateForDayOfWeek(dayOffWeek time.Weekday, month time.Month, ...
  function TimeNow (line 104) | func TimeNow() *time.Time {
  function TimeNowAdd (line 109) | func TimeNowAdd(d time.Duration) *time.Time {
  function TimeAdd (line 114) | func TimeAdd(t time.Time, d time.Duration) *time.Time {
  function TruncateDate (line 119) | func TruncateDate(toRound time.Time) time.Time {
  function NewNearbyDayOfWeekAt (line 124) | func NewNearbyDayOfWeekAt(t *time.Time, dayOffWeek time.Weekday) *time.T...
  function NewNearbyDayOfMonthAt (line 135) | func NewNearbyDayOfMonthAt(t *time.Time, dayOffMonth int) *time.Time {
  function ToWorkHours (line 155) | func ToWorkHours(t1 *time.Time, t2 *time.Time) float64 {
  function GetStartDayOfWeek (line 171) | func GetStartDayOfWeek(t time.Time) time.Time { //get monday 00:00:00
  function GetStartDayOfMonth (line 182) | func GetStartDayOfMonth(t time.Time) time.Time { //get monday 00:00:00
  function ParseStringToFilterDateDefault (line 189) | func ParseStringToFilterDateDefault(value string) *time.Time {
  function GetNextScheduleTime (line 193) | func GetNextScheduleTime(interval time.Duration, delay time.Duration) *t...

FILE: agent-as-a-service/agent-orchestration/backend/helpers/tpl.go
  function GenerateTemplateContent (line 15) | func GenerateTemplateContent(templateContent string, data interface{}) (...
  function Base64Encode (line 28) | func Base64Encode(data []byte) string {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/twitter.go
  function SplitTextByCharLimit (line 14) | func SplitTextByCharLimit(text string, limit int) []string {
  function RemoveTrailingHashTag (line 35) | func RemoveTrailingHashTag(line string) string {
  function SplitTextBySentenceAndCharLimitAndRemoveTrailingHashTag (line 57) | func SplitTextBySentenceAndCharLimitAndRemoveTrailingHashTag(originText ...
  function ReplyTweetByToken (line 132) | func ReplyTweetByToken(bearerToken string, replyContent string, tweetID,...
  function QuoteTweetByToken (line 178) | func QuoteTweetByToken(bearerToken string, content string, quoteTweetId ...
  function RepostTweetByToken (line 217) | func RepostTweetByToken(bearerToken string, userID string, tweetID strin...
  function PostTweetByToken (line 263) | func PostTweetByToken(accessToken, message string, replyID string) (stri...
  type TwitterNotification (line 309) | type TwitterNotification struct
  function GetTwitterNotifications (line 316) | func GetTwitterNotifications(accessToken, userID string) (*TwitterNotifi...
  type TwitterUserMe (line 341) | type TwitterUserMe struct
  function GetTwitterUserMe (line 357) | func GetTwitterUserMe(accessToken string) (*TwitterUserMe, error) {
  function TwitterFollowUserCreate (line 382) | func TwitterFollowUserCreate(accessToken, twitterId string, targetTwitte...
  type LikedTweetsResponse (line 422) | type LikedTweetsResponse struct
  function GetLikedTweets (line 433) | func GetLikedTweets(userID string, bearerToken string, nextToken string)...
  function PostTweetWithMediaByToken (line 470) | func PostTweetWithMediaByToken(accessToken, message string, mediaID stri...
  function PostThreadTweetByToken (line 516) | func PostThreadTweetByToken(accessToken string, messages []string) (stri...
  function GetListDmRecent (line 541) | func GetListDmRecent(accessToken string) error {
  function GetDmByID (line 546) | func GetDmByID(accessToken string) error {
  function ReplyDm (line 551) | func ReplyDm(accessToken string) error {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/univ3.go
  function HexToBigInt (line 26) | func HexToBigInt(s string) *big.Int {
  function GetSqrtRatioAtTick (line 35) | func GetSqrtRatioAtTick(tick int64) *big.Int {
  function GetLiquidityForAmount0 (line 131) | func GetLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0 *big.I...
  function GetLiquidityForAmount1 (line 142) | func GetLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1 *big.I...
  function GetLiquidityForAmounts (line 151) | func GetLiquidityForAmounts(sqrtRatioCurrentX96, sqrtRatioAX96, sqrtRati...
  function GetAmount0ForLiquidity (line 170) | func GetAmount0ForLiquidity(sqrtRatioAX96, sqrtRatioBX96, liquidity *big...
  function GetAmount1ForLiquidity (line 181) | func GetAmount1ForLiquidity(sqrtRatioAX96, sqrtRatioBX96, liquidity *big...
  function GetAmountsForLiquidity (line 190) | func GetAmountsForLiquidity(sqrtRatioCurrentX96, sqrtRatioAX96, sqrtRati...
  function ParseGasFeeError (line 211) | func ParseGasFeeError(errText string) (*big.Int, error) {
  function PriceToTick (line 228) | func PriceToTick(price float64) int64 {
  function GetNumberFromString (line 232) | func GetNumberFromString(strText string) int {
  function HexToAddress (line 245) | func HexToAddress(address string) common.Address {
  function HexToHash (line 253) | func HexToHash(hashHex string) common.Hash {

FILE: agent-as-a-service/agent-orchestration/backend/helpers/utils.go
  function SubStringBodyResponse (line 34) | func SubStringBodyResponse(obj string, limit int) string {
  function ExtractTweetID (line 41) | func ExtractTweetID(link string) string {
  function ReplaceQuote (line 53) | func ReplaceQuote(obj string) string {
  function SimpleAddress (line 59) | func SimpleAddress(hexAddress string) string {
  function MergeMetaInfoURL (line 63) | func MergeMetaInfoURL(baseURL string, mediaURL string) string {
  function RandomSeoURLWithLength (line 70) | func RandomSeoURLWithLength(length int) string {
  function ExtensionsByContentType (line 83) | func ExtensionsByContentType(contentType string) (string, error) {
  function SlackHook (line 94) | func SlackHook(slackURL, channel, content string) error {
  type BinancePrice (line 125) | type BinancePrice struct
  type BinancePrice24h (line 130) | type BinancePrice24h struct
  function GetListExternalPrice (line 150) | func GetListExternalPrice(tokenSymbol string) ([]BinancePrice, error) {
  function GetListExternalPrice24h (line 190) | func GetListExternalPrice24h(tokenSymbol string) ([]BinancePrice24h, err...
  function GetBinancePrice24h (line 225) | func GetBinancePrice24h(tokenSymbol string) (BinancePrice24h, error) {
  function GetExternalPrice (line 260) | func GetExternalPrice(tokenSymbol string) (string, error) {
  function ReadCSVFromUrl (line 296) | func ReadCSVFromUrl(url string) ([][]string, error) {
  function GenerateMD5 (line 313) | func GenerateMD5(v string) string {
  function SlackGameAlert (line 318) | func SlackGameAlert(content string) error {
  function RandomInStrings (line 350) | func RandomInStrings(values []string) string {
  function GetTimeIndex (line 361) | func GetTimeIndex(blockNumber, txIndex, logIndex uint) uint64 {
  function GetFileExtension (line 368) | func GetFileExtension(fileName string) string {
  type NakaChainPrice (line 374) | type NakaChainPrice struct
  function GetNakaChainMarketPrice (line 385) | func GetNakaChainMarketPrice() (*NakaChainPrice, error) {
  function SliceToStrings (line 420) | func SliceToStrings(from, len int, getValueAtIndex func(index int) (stri...
  function IsValidEthereumAddress (line 434) | func IsValidEthereumAddress(address string) bool {
  function AddressToBinary (line 440) | func AddressToBinary(address string) ([]byte, error) {
  function GetDurationUnit (line 450) | func GetDurationUnit(unit uint8) string {
  type CoincodexPrice (line 464) | type CoincodexPrice struct
  function GetCoincodexPriceByTime (line 470) | func GetCoincodexPriceByTime(monthStr string) ([]*CoincodexPrice, error) {
  function FormatMoney (line 502) | func FormatMoney(amount *big.Float) string {
  function CrawlUrl (line 508) | func CrawlUrl(urlToCrawl string) string {
  function getUrlContent (line 542) | func getUrlContent(urlToGet string) (string, error) {
  function parseLinks (line 568) | func parseLinks(urlToGet *url.URL, content string) ([]string, error) {
  function ContentHtmlByUrl (line 599) | func ContentHtmlByUrl(link string) string {
  function ExtractDomainFromUrl (line 609) | func ExtractDomainFromUrl(link string) (string, error) {
  function RodContentHtmlByUrl (line 617) | func RodContentHtmlByUrl(rawUrl string) string {
  function printReport (line 652) | func printReport(page *rod.Page) {
  function RodContentHtmlByUrlV2 (line 667) | func RodContentHtmlByUrlV2(rawUrl string) string {
  function MinifyHTML (line 703) | func MinifyHTML(html string) (string, error) {
  function ExtractLinks (line 728) | func ExtractLinks(content string) (string, bool) {
  function ExtractMapInfoFromOpenAI (line 736) | func ExtractMapInfoFromOpenAI(content string) map[string]interface{} {
  function ExpansionStringArray (line 745) | func ExpansionStringArray(arr []string) []string {
  function RandomInt (line 753) | func RandomInt(from, to int) int {
  function RandomFloat (line 757) | func RandomFloat(from, to float64) float64 {
  function ExtractEtherAddress (line 761) | func ExtractEtherAddress(content string) string {
  function ExtractEVMAddress (line 772) | func ExtractEVMAddress(input string) string {
  function GetStringValueFromMap (line 781) | func GetStringValueFromMap(mapInfo map[string]interface{}, key string) s...
  function GetFrequencyFromMap (line 788) | func GetFrequencyFromMap(mapInfo map[string]interface{}) int {
  function GetTokenIDFromMap (line 809) | func GetTokenIDFromMap(mapInfo map[string]interface{}) uint64 {
  function splitStringArray (line 825) | func splitStringArray(arr []string, size int) [][]string {
  function GenerateTokenSymbol (line 837) | func GenerateTokenSymbol(tokenName string) string {

FILE: agent-as-a-service/agent-orchestration/backend/internal/core/ports/agent_info.go
  type IAgentInfoUseCase (line 7) | type IAgentInfoUseCase interface

FILE: agent-as-a-service/agent-orchestration/backend/internal/core/ports/app_config.go
  type IAppConfigUseCase (line 5) | type IAppConfigUseCase interface

FILE: agent-as-a-service/agent-orchestration/backend/internal/core/ports/knowledge_ports.go
  type IKnowledgeUsecase (line 10) | type IKnowledgeUsecase interface

FILE: agent-as-a-service/agent-orchestration/backend/internal/core/ports/scraper_ports.go
  type IScraper (line 5) | type IScraper interface

FILE: agent-as-a-service/agent-orchestration/backend/internal/repository/agent_info_knowledge_base_repo.go
  type agentInfoKnowledgeBaseRepo (line 10) | type agentInfoKnowledgeBaseRepo struct
    method GetByAgentId (line 21) | func (r *agentInfoKnowledgeBaseRepo) GetByAgentId(ctx context.Context,...
    method ListByAgentIds (line 35) | func (r *agentInfoKnowledgeBaseRepo) ListByAgentIds(ctx context.Contex...
    method CreateList (line 48) | func (r *agentInfoKnowledgeBaseRepo) CreateList(ctx context.Context, a...
    method Create (line 70) | func (r *agentInfoKnowledgeBaseRepo) Create(ctx context.Context, model...
  type IAgentInfoKnowledgeBaseRepo (line 14) | type IAgentInfoKnowledgeBaseRepo interface
  function NewAgentInfoKnowledgeBaseRepository (line 78) | func NewAgentInfoKnowledgeBaseRepository(db *gorm.DB) IAgentInfoKnowledg...

FILE: agent-as-a-service/agent-orchestration/backend/internal/repository/agent_info_repo.go
  type agentInfoRepo (line 10) | type agentInfoRepo struct
    method UpdateById (line 18) | func (r *agentInfoRepo) UpdateById(ctx context.Context, id uint, updat...
  type IAgentInfoRepo (line 14) | type IAgentInfoRepo interface
  function NewAgentInfoRepository (line 26) | func NewAgentInfoRepository(db *gorm.DB) IAgentInfoRepo {

FILE: agent-as-a-service/agent-orchestration/backend/internal/repository/app_config.go
  type appConfigRepo (line 10) | type appConfigRepo struct
    method GetAllNameValueInAppConfig (line 18) | func (r *appConfigRepo) GetAllNameValueInAppConfig(ctx context.Context...
  type AppConfigRepo (line 14) | type AppConfigRepo interface
  function NewAppConfigRepository (line 33) | func NewAppConfigRepository(db *gorm.DB) AppConfigRepo {

FILE: agent-as-a-service/agent-orchestration/backend/internal/repository/knowledge_base_file_repo.go
  type knowledgeBaseFileRepo (line 11) | type knowledgeBaseFileRepo struct
    method UpdateTransferHash (line 29) | func (r *knowledgeBaseFileRepo) UpdateTransferHash(ctx context.Context...
    method CalcTotalFee (line 36) | func (r *knowledgeBaseFileRepo) CalcTotalFee(ctx context.Context, kbId...
    method DeleteByIds (line 60) | func (r *knowledgeBaseFileRepo) DeleteByIds(ctx context.Context, ids [...
    method ListByKbId (line 66) | func (r *knowledgeBaseFileRepo) ListByKbId(ctx context.Context, kbId u...
    method UpdateByKnowledgeBaseId (line 75) | func (r *knowledgeBaseFileRepo) UpdateByKnowledgeBaseId(ctx context.Co...
    method Create (line 85) | func (r *knowledgeBaseFileRepo) Create(ctx context.Context, model *mod...
  type KnowledgeBaseFileRepo (line 15) | type KnowledgeBaseFileRepo interface
  function round (line 24) | func round(val float64, precision uint) float64 {
  function NewKnowledgeBaseFileRepository (line 93) | func NewKnowledgeBaseFileRepository(db *gorm.DB) KnowledgeBaseFileRepo {

FILE: agent-as-a-service/agent-orchestration/backend/internal/repository/knowledge_base_repo.go
  type knowledgeBaseRepo (line 11) | type knowledgeBaseRepo struct
    method GetKBAgentsUsedOfSocialAgent (line 29) | func (r *knowledgeBaseRepo) GetKBAgentsUsedOfSocialAgent(ctx context.C...
    method UpdateStatus (line 43) | func (r *knowledgeBaseRepo) UpdateStatus(ctx context.Context, model *m...
    method List (line 47) | func (r *knowledgeBaseRepo) List(ctx context.Context, req *models.List...
    method Create (line 66) | func (r *knowledgeBaseRepo) Create(ctx context.Context, model *models....
    method GetById (line 74) | func (r *knowledgeBaseRepo) GetById(ctx context.Context, id uint) (*mo...
    method DeleteById (line 86) | func (r *knowledgeBaseRepo) DeleteById(ctx context.Context, id uint) e...
    method GetByStatus (line 98) | func (r *knowledgeBaseRepo) GetByStatus(ctx context.Context, status mo...
    method UpdateById (line 112) | func (r *knowledgeBaseRepo) UpdateById(ctx context.Context, id uint, u...
    method GetByKBId (line 120) | func (r *knowledgeBaseRepo) GetByKBId(ctx context.Context, kbId string...
    method GetByKBTokenId (line 133) | func (r *knowledgeBaseRepo) GetByKBTokenId(ctx context.Context, kbToke...
    method GetManyByQuery (line 145) | func (r *knowledgeBaseRepo) GetManyByQuery(ctx context.Context, query ...
  type KnowledgeBaseRepo (line 15) | type KnowledgeBaseRepo interface
  function NewKnowledgeBaseRepository (line 166) | func NewKnowledgeBaseRepository(db *gorm.DB) KnowledgeBaseRepo {

FILE: agent-as-a-service/agent-orchestration/backend/internal/usecase/agent_info/agent_info.go
  type agentInfoUseCase (line 10) | type agentInfoUseCase struct
    method UpdateAgentInfoById (line 14) | func (uc *agentInfoUseCase) UpdateAgentInfoById(ctx context.Context, i...
  function NewAgentInfoUseCase (line 18) | func NewAgentInfoUseCase(repo repository.IAgentInfoRepo) ports.IAgentInf...

FILE: agent-as-a-service/agent-orchestration/backend/internal/usecase/appconfig/appconfig_usecase.go
  type appConfigUseCase (line 10) | type appConfigUseCase struct
    method GetAllNameValueInAppConfig (line 14) | func (uc *appConfigUseCase) GetAllNameValueInAppConfig(ctx context.Con...
  function NewAppConfigUseCase (line 18) | func NewAppConfigUseCase(appConfigRepo repository.AppConfigRepo) ports.I...

FILE: agent-as-a-service/agent-orchestration/backend/internal/usecase/knowledge/knowledge_usecase.go
  type options (line 34) | type options
  type knowledgeUsecase (line 36) | type knowledgeUsecase struct
    method CalcFeeByKnowledgeBaseId (line 142) | func (uc *knowledgeUsecase) CalcFeeByKnowledgeBaseId(ctx context.Conte...
    method SendMessage (line 146) | func (uc *knowledgeUsecase) SendMessage(_ context.Context, content str...
    method CreateAgentInfoKnowledgeBase (line 165) | func (uc *knowledgeUsecase) CreateAgentInfoKnowledgeBase(ctx context.C...
    method GetKBAgentsUsedOfSocialAgent (line 169) | func (uc *knowledgeUsecase) GetKBAgentsUsedOfSocialAgent(ctx context.C...
    method WebhookFile (line 173) | func (uc *knowledgeUsecase) WebhookFile(ctx context.Context, filename ...
    method Webhook (line 204) | func (uc *knowledgeUsecase) Webhook(ctx context.Context, req *models.R...
    method CreateKnowledgeBase (line 313) | func (uc *knowledgeUsecase) CreateKnowledgeBase(ctx context.Context, r...
    method ListKnowledgeBase (line 376) | func (uc *knowledgeUsecase) ListKnowledgeBase(ctx context.Context, req...
    method MapKnowledgeBaseByAgentIds (line 388) | func (uc *knowledgeUsecase) MapKnowledgeBaseByAgentIds(ctx context.Con...
    method GetKnowledgeBaseById (line 405) | func (uc *knowledgeUsecase) GetKnowledgeBaseById(ctx context.Context, ...
    method GetAgentInfoKnowledgeBaseByAgentId (line 409) | func (uc *knowledgeUsecase) GetAgentInfoKnowledgeBaseByAgentId(ctx con...
    method DeleteKnowledgeBaseById (line 413) | func (uc *knowledgeUsecase) DeleteKnowledgeBaseById(ctx context.Contex...
    method GetKnowledgeBaseByStatus (line 417) | func (uc *knowledgeUsecase) GetKnowledgeBaseByStatus(ctx context.Conte...
    method UpdateListKnowledgeBaseFile (line 421) | func (uc *knowledgeUsecase) UpdateListKnowledgeBaseFile(ctx context.Co...
    method UpdateKnowledgeBaseById (line 472) | func (uc *knowledgeUsecase) UpdateKnowledgeBaseById(ctx context.Contex...
    method WatchWalletChange (line 476) | func (uc *knowledgeUsecase) WatchWalletChange(ctx context.Context) err...
    method ScanKnowledgeBaseStatusPaymentReceipt (line 505) | func (uc *knowledgeUsecase) ScanKnowledgeBaseStatusPaymentReceipt(ctx ...
    method CheckBalance (line 557) | func (uc *knowledgeUsecase) CheckBalance(ctx context.Context, kn *mode...
    method balanceOfAddress (line 620) | func (uc *knowledgeUsecase) balanceOfAddress(_ context.Context, addres...
    method insertFilesToRAG (line 653) | func (uc *knowledgeUsecase) insertFilesToRAG(ctx context.Context, kn *...
    method GetKnowledgeBaseByKBId (line 704) | func (uc *knowledgeUsecase) GetKnowledgeBaseByKBId(ctx context.Context...
    method GetKnowledgeBaseByKBTokenId (line 708) | func (uc *knowledgeUsecase) GetKnowledgeBaseByKBTokenId(ctx context.Co...
    method GetManyKnowledgeBaseByQuery (line 712) | func (uc *knowledgeUsecase) GetManyKnowledgeBaseByQuery(ctx context.Co...
    method uploadKBFileToLighthouseAndProcess (line 716) | func (uc *knowledgeUsecase) uploadKBFileToLighthouseAndProcess(ctx con...
    method transferFund (line 766) | func (uc *knowledgeUsecase) transferFund(priKeyFrom string, toAddress ...
  function WithRepos (line 55) | func WithRepos(
  function WithSecretKey (line 69) | func WithSecretKey(secretKey string) options {
  function WithConfig (line 75) | func WithConfig(conf *configs.Config) options {
  function WithEthApiMap (line 81) | func WithEthApiMap(ethApiMap map[uint64]*ethapi.Client) options {
  function WithNetworks (line 87) | func WithNetworks(networks map[string]map[string]string) options {
  function WithTrxApi (line 93) | func WithTrxApi(trxApi *trxapi.Client) options {
  function WithRagApi (line 99) | func WithRagApi(ragApi string) options {
  function WithLighthousekey (line 105) | func WithLighthousekey(lighthousekey string) options {
  function WithWebhookUrl (line 111) | func WithWebhookUrl(webhookUrl string) options {
  function WithNotiBot (line 117) | func WithNotiBot(teleKey, notiActChanId, notiErrorChanId string) options {
  function NewKnowledgeUsecase (line 134) | func NewKnowledgeUsecase(options ...options) ports.IKnowledgeUsecase {

FILE: agent-as-a-service/agent-orchestration/backend/logger/logger.go
  constant LOGGER_API_RESPONSE_TIME (line 13) | LOGGER_API_RESPONSE_TIME     = "api_response_time"
  constant LOGGER_API_APP_PANIC (line 14) | LOGGER_API_APP_PANIC         = "api_app_panic"
  constant LOGGER_API_APP_ERROR (line 15) | LOGGER_API_APP_ERROR         = "api_app_error"
  constant LOGGER_API_APP_REQUEST_ERROR (line 16) | LOGGER_API_APP_REQUEST_ERROR = "api_app_request_error"
  function Logger (line 21) | func Logger() *zap.Logger {
  function NewLogger (line 25) | func NewLogger(appName string, env string, logPath string, stdout bool) {
  function Sync (line 67) | func Sync() error {
  function Info (line 71) | func Info(category string, msg string, fields ...zap.Field) {
  function Fatal (line 78) | func Fatal(msg string, fields ...zap.Field) {
  function Error (line 82) | func Error(category string, msg string, fields ...zap.Field) {
  function WrapError (line 90) | func WrapError(category string, err error, fields ...zap.Field) error {
  function WrapCaptureError (line 103) | func WrapCaptureError(err error, fields ...zap.Field) error {
  function Debug (line 116) | func Debug(msg string, fields ...zap.Field) {
  function Panic (line 120) | func Panic(msg string, fields ...zap.Field) {
  type TracerData (line 124) | type TracerData struct
    method Add (line 128) | func (d *TracerData) Add(key string, data interface{}) *TracerData {
    method Data (line 133) | func (d TracerData) Data() interface{} {
  function NewTracerData (line 137) | func NewTracerData() *TracerData {

FILE: agent-as-a-service/agent-orchestration/backend/models/agent.go
  type BaseTokenSymbol (line 15) | type BaseTokenSymbol
  type TokenSetupEnum (line 16) | type TokenSetupEnum
  type ExternalAgentType (line 17) | type ExternalAgentType
  constant BaseTokenSymbolBVM (line 21) | BaseTokenSymbolBVM BaseTokenSymbol = "BVM"
  constant BaseTokenSymbolBTC (line 22) | BaseTokenSymbolBTC BaseTokenSymbol = "BTC"
  constant BaseTokenSymbolETH (line 23) | BaseTokenSymbolETH BaseTokenSymbol = "ETH"
  constant BaseTokenSymbolFB (line 24) | BaseTokenSymbolFB  BaseTokenSymbol = "FB"
  constant BaseTokenSymbolEAI (line 25) | BaseTokenSymbolEAI BaseTokenSymbol = "EAI"
  constant BaseTokenSymbolSOL (line 26) | BaseTokenSymbolSOL BaseTokenSymbol = "SOL"
  constant TokenSetupEnumAutoCreate (line 28) | TokenSetupEnumAutoCreate     TokenSetupEnum = "auto_create"
  constant TokenSetupEnumAutoCreateRune (line 29) | TokenSetupEnumAutoCreateRune TokenSetupEnum = "auto_create_rune"
  constant TokenSetupEnumNoToken (line 30) | TokenSetupEnumNoToken        TokenSetupEnum = "no_token"
  constant TokenSetupEnumLinkExisting (line 31) | TokenSetupEnumLinkExisting   TokenSetupEnum = "link_existing"
  constant ExternalAgentTypeFarcaster (line 33) | ExternalAgentTypeFarcaster ExternalAgentType = "farcaster"
  type TwitterInfo (line 36) | type TwitterInfo struct
  type AgentInfoAgentType (line 54) | type AgentInfoAgentType
  constant AgentInfoAgentTypeNormal (line 57) | AgentInfoAgentTypeNormal        AgentInfoAgentType = 0
  constant AgentInfoAgentTypeReasoning (line 58) | AgentInfoAgentTypeReasoning     AgentInfoAgentType = 1
  constant AgentInfoAgentTypeKnowledgeBase (line 59) | AgentInfoAgentTypeKnowledgeBase AgentInfoAgentType = 2
  constant AgentInfoAgentTypeEliza (line 60) | AgentInfoAgentTypeEliza         AgentInfoAgentType = 3
  constant AgentInfoAgentTypeZerepy (line 61) | AgentInfoAgentTypeZerepy        AgentInfoAgentType = 4
  constant AgentInfoAgentTypeModel (line 62) | AgentInfoAgentTypeModel         AgentInfoAgentType = 5
  constant AgentInfoAgentTypeJs (line 63) | AgentInfoAgentTypeJs            AgentInfoAgentType = 6
  constant AgentInfoAgentTypePython (line 64) | AgentInfoAgentTypePython        AgentInfoAgentType = 7
  constant AgentInfoAgentTypeInfa (line 65) | AgentInfoAgentTypeInfa          AgentInfoAgentType = 8
  constant AgentInfoAgentTypeVideo (line 66) | AgentInfoAgentTypeVideo         AgentInfoAgentType = 9
  constant AgentInfoAgentTypeCustomUi (line 67) | AgentInfoAgentTypeCustomUi      AgentInfoAgentType = 10
  constant AgentInfoAgentTypeCustomPrompt (line 68) | AgentInfoAgentTypeCustomPrompt  AgentInfoAgentType = 11
  constant AgentInfoAgentTypeModelOnline (line 69) | AgentInfoAgentTypeModelOnline   AgentInfoAgentType = 12
  type AssistantStatus (line 73) | type AssistantStatus
  type CreateTokenModeType (line 74) | type CreateTokenModeType
  constant AssistantStatusPending (line 78) | AssistantStatusPending  AssistantStatus = "pending"
  constant AssistantStatusMinting (line 79) | AssistantStatusMinting  AssistantStatus = "minting"
  constant AssistantStatusUpdating (line 80) | AssistantStatusUpdating AssistantStatus = "updating"
  constant AssistantStatusReady (line 81) | AssistantStatusReady    AssistantStatus = "ready"
  constant AssistantStatusFailed (line 82) | AssistantStatusFailed   AssistantStatus = "failed"
  constant CreateTokenModeTypeNoToken (line 84) | CreateTokenModeTypeNoToken      CreateTokenModeType = "no_token"
  constant CreateTokenModeTypeAutoCreate (line 85) | CreateTokenModeTypeAutoCreate   CreateTokenModeType = "auto_create"
  constant CreateTokenModeTypeLinkExisting (line 86) | CreateTokenModeTypeLinkExisting CreateTokenModeType = "link_existing"
  type TwinStatus (line 89) | type TwinStatus
  constant TwinStatusPending (line 92) | TwinStatusPending     TwinStatus = "pending"
  constant TwinStatusRunning (line 93) | TwinStatusRunning     TwinStatus = "running"
  constant TwinStatusDoneSuccess (line 94) | TwinStatusDoneSuccess TwinStatus = "done_success"
  constant TwinStatusDoneError (line 95) | TwinStatusDoneError   TwinStatus = "done_error"
  type SocialInfo (line 98) | type SocialInfo struct
  type AgentCategory (line 103) | type AgentCategory struct
  type AgentInfo (line 109) | type AgentInfo struct
    method IsVibeAgent (line 264) | func (m *AgentInfo) IsVibeAgent() bool {
    method GetCodeLanguage (line 280) | func (m *AgentInfo) GetCodeLanguage() string {
    method GetCharacterArrayString (line 315) | func (m *AgentInfo) GetCharacterArrayString(charactor string) []string {
    method GetMessageExamples (line 321) | func (m *AgentInfo) GetMessageExamples() [][]struct {
    method GetSocialInfo (line 337) | func (m *AgentInfo) GetSocialInfo() []*SocialInfo {
    method GetStyle (line 343) | func (m *AgentInfo) GetStyle() map[string][]string {
    method GetAgentContractID (line 393) | func (m *AgentInfo) GetAgentContractID() int64 {
    method GetHeadSystemPrompt (line 671) | func (m *AgentInfo) GetHeadSystemPrompt() string {
    method GetSystemPrompt (line 688) | func (m *AgentInfo) GetSystemPrompt() string {
  type AgentInfoWithSnapshotPostActionsResponse (line 349) | type AgentInfoWithSnapshotPostActionsResponse struct
  type AgentInfoResponse (line 371) | type AgentInfoResponse struct
  type AgentTwitterPostStatus (line 402) | type AgentTwitterPostStatus
  type AgentTwitterPostType (line 403) | type AgentTwitterPostType
  constant AgentTwitterPostTypePost (line 407) | AgentTwitterPostTypePost        AgentTwitterPostType = "post"
  constant AgentTwitterPostTypeReview (line 408) | AgentTwitterPostTypeReview      AgentTwitterPostType = "review"
  constant AgentTwitterPostTypeUnReview (line 409) | AgentTwitterPostTypeUnReview    AgentTwitterPostType = "unreview"
  constant AgentTwitterPostTypeText2Video (line 410) | AgentTwitterPostTypeText2Video  AgentTwitterPostType = "text2video"
  constant AgentTwitterPostTypeImage2video (line 411) | AgentTwitterPostTypeImage2video AgentTwitterPostType = "image2video"
  constant AgentTwitterPostStatusNew (line 413) | AgentTwitterPostStatusNew              AgentTwitterPostStatus = "new"
  constant AgentTwitterPostWaitSubmitVideoInfer (line 414) | AgentTwitterPostWaitSubmitVideoInfer   AgentTwitterPostStatus = "wait_su...
  constant AgentTwitterPostStatusInvalid (line 415) | AgentTwitterPostStatusInvalid          AgentTwitterPostStatus = "invalid"
  constant AgentTwitterConversationInvalid (line 416) | AgentTwitterConversationInvalid        AgentTwitterPostStatus = "convers...
  constant AgentTwitterPostStatusValid (line 417) | AgentTwitterPostStatusValid            AgentTwitterPostStatus = "valid"
  constant AgentTwitterPostStatusInferNew (line 418) | AgentTwitterPostStatusInferNew         AgentTwitterPostStatus = "infer_new"
  constant AgentTwitterPostStatusInferSubmitted (line 419) | AgentTwitterPostStatusInferSubmitted   AgentTwitterPostStatus = "infer_s...
  constant AgentTwitterPostStatusInferError (line 420) | AgentTwitterPostStatusInferError       AgentTwitterPostStatus = "infer_e...
  constant AgentTwitterPostStatusInferFailed (line 421) | AgentTwitterPostStatusInferFailed      AgentTwitterPostStatus = "infer_f...
  constant AgentTwitterPostStatusInferResolved (line 422) | AgentTwitterPostStatusInferResolved    AgentTwitterPostStatus = "infer_r...
  constant AgentTwitterPostStatusReplied (line 423) | AgentTwitterPostStatusReplied          AgentTwitterPostStatus = "replied"
  constant AgentTwitterPostStatusRepliedError (line 424) | AgentTwitterPostStatusRepliedError     AgentTwitterPostStatus = "replied...
  constant AgentTwitterPostStatusRepliedCancelled (line 425) | AgentTwitterPostStatusRepliedCancelled AgentTwitterPostStatus = "replied...
  constant AgentTwitterPostStatusReposted (line 426) | AgentTwitterPostStatusReposted         AgentTwitterPostStatus = "reposted"
  constant AgentTwitterPostStatusRepostedError (line 427) | AgentTwitterPostStatusRepostedError    AgentTwitterPostStatus = "reposte...
  constant AgentTwitterPostStatusDone (line 428) | AgentTwitterPostStatusDone             AgentTwitterPostStatus = "done"
  type AgentTwitterPost (line 431) | type AgentTwitterPost struct
    method IsValidSubmitVideoInfer (line 494) | func (m AgentTwitterPost) IsValidSubmitVideoInfer() bool {
    method GetAgentOnwerName (line 498) | func (m *AgentTwitterPost) GetAgentOnwerName() string {
    method GetOwnerTwitterID (line 505) | func (m *AgentTwitterPost) GetOwnerTwitterID() string {
  type TweetParseInfo (line 512) | type TweetParseInfo struct
  type UserTwitterPost (line 530) | type UserTwitterPost struct
  type AgentSummaryPostStatus (line 540) | type AgentSummaryPostStatus
  constant AgentSummaryPostStatusNew (line 543) | AgentSummaryPostStatusNew            AgentSummaryPostStatus = "new"
  constant AgentSummaryPostStatusInvalid (line 544) | AgentSummaryPostStatusInvalid        AgentSummaryPostStatus = "invalid"
  constant AgentSummaryPostStatusValid (line 545) | AgentSummaryPostStatusValid          AgentSummaryPostStatus = "valid"
  constant AgentSummaryPostStatusInferNew (line 546) | AgentSummaryPostStatusInferNew       AgentSummaryPostStatus = "infer_new"
  constant AgentSummaryPostStatusInferSubmitted (line 547) | AgentSummaryPostStatusInferSubmitted AgentSummaryPostStatus = "infer_sub...
  constant AgentSummaryPostStatusInferError (line 548) | AgentSummaryPostStatusInferError     AgentSummaryPostStatus = "infer_error"
  constant AgentSummaryPostStatusInferFailed (line 549) | AgentSummaryPostStatusInferFailed    AgentSummaryPostStatus = "infer_fai...
  constant AgentSummaryPostStatusInferResolved (line 550) | AgentSummaryPostStatusInferResolved  AgentSummaryPostStatus = "infer_res...
  constant AgentSummaryPostStatusPosted (line 551) | AgentSummaryPostStatusPosted         AgentSummaryPostStatus = "posted"
  constant AgentSummaryPostStatusPostedError (line 552) | AgentSummaryPostStatusPostedError    AgentSummaryPostStatus = "posted_er...
  type AgentTokenInfo (line 555) | type AgentTokenInfo struct
  type AgentTradeHistory (line 582) | type AgentTradeHistory struct
  type AgentEaiTopupType (line 613) | type AgentEaiTopupType
  type AgentEaiTopupStatus (line 614) | type AgentEaiTopupStatus
  constant AgentEaiTopupTypeDeposit (line 618) | AgentEaiTopupTypeDeposit         AgentEaiTopupType = "deposit"
  constant AgentEaiTopupTypeFaucet (line 619) | AgentEaiTopupTypeFaucet          AgentEaiTopupType = "faucet"
  constant AgentEaiTopupTypeSpent (line 620) | AgentEaiTopupTypeSpent           AgentEaiTopupType = "spent"
  constant AgentEaiTopupTypeRefund (line 621) | AgentEaiTopupTypeRefund          AgentEaiTopupType = "refund"
  constant AgentEaiTopupTypeRefundTrainFail (line 622) | AgentEaiTopupTypeRefundTrainFail AgentEaiTopupType = "refund_train_fail"
  constant AgentEaiTopupTypeTransfer (line 623) | AgentEaiTopupTypeTransfer        AgentEaiTopupType = "transfer"
  constant AgentEaiTopupStatusNew (line 625) | AgentEaiTopupStatusNew        AgentEaiTopupStatus = "new"
  constant AgentEaiTopupStatusProcessing (line 626) | AgentEaiTopupStatusProcessing AgentEaiTopupStatus = "processing"
  constant AgentEaiTopupStatusDone (line 627) | AgentEaiTopupStatusDone       AgentEaiTopupStatus = "done"
  constant AgentEaiTopupStatusError (line 628) | AgentEaiTopupStatusError      AgentEaiTopupStatus = "error"
  constant AgentEaiTopupStatusCancelled (line 629) | AgentEaiTopupStatusCancelled  AgentEaiTopupStatus = "cancelled"
  type AgentEaiTopup (line 632) | type AgentEaiTopup struct
  type AuthCode (line 650) | type AuthCode struct
  type AgentTipHistoryStatus (line 659) | type AgentTipHistoryStatus
  type AgentTipHistorySymbol (line 660) | type AgentTipHistorySymbol
  constant AgentTipHistoryStatusDone (line 664) | AgentTipHistoryStatusDone AgentTipHistoryStatus = "done"
  constant AgentTipHistorySymbolBTC (line 666) | AgentTipHistorySymbolBTC AgentTipHistorySymbol = "BTC"
  constant AgentTipHistorySymbolETH (line 667) | AgentTipHistorySymbolETH AgentTipHistorySymbol = "ETH"
  constant AgentTipHistorySymbolSOL (line 668) | AgentTipHistorySymbolSOL AgentTipHistorySymbol = "SOL"
  type AgentTradeToken (line 692) | type AgentTradeToken struct
  type AgentUriData (line 703) | type AgentUriData struct
  type AgentExternalInfo (line 707) | type AgentExternalInfo struct
  type AgentChainFee (line 718) | type AgentChainFee struct
  type AgentStudioChildren (line 727) | type AgentStudioChildren struct
  type AgentStudio (line 735) | type AgentStudio struct
  type AgentStudioGraphData (line 744) | type AgentStudioGraphData struct
  type AgentStudioTwitterInfo (line 748) | type AgentStudioTwitterInfo struct
  type AgenInfoInstallStatus (line 754) | type AgenInfoInstallStatus
  constant AgenInfoInstallStatusNew (line 758) | AgenInfoInstallStatusNew  AgenInfoInstallStatus = "new"
  constant AgenInfoInstallStatusDone (line 759) | AgenInfoInstallStatusDone AgenInfoInstallStatus = "done"
  type AgentInfoInstall (line 762) | type AgentInfoInstall struct
  type AgentUtilityInstall (line 772) | type AgentUtilityInstall struct
  type AgentUtilityRecentChat (line 778) | type AgentUtilityRecentChat struct
  type WalletType (line 785) | type WalletType
  constant WalletTypePrivy (line 789) | WalletTypePrivy    WalletType = "privy"
  constant WalletTypeInternal (line 790) | WalletTypeInternal WalletType = "internal"
  type PrivyWallet (line 793) | type PrivyWallet struct
  type ClankerVideoToken (line 802) | type ClankerVideoToken struct
  type AgentReactionHistory (line 823) | type AgentReactionHistory struct

FILE: agent-as-a-service/agent-orchestration/backend/models/agent_info_knowledege_bases.go
  type AgentInfoKnowledgeBase (line 5) | type AgentInfoKnowledgeBase struct

FILE: agent-as-a-service/agent-orchestration/backend/models/agent_library.go
  type AgentLibrary (line 7) | type AgentLibrary struct

FILE: agent-as-a-service/agent-orchestration/backend/models/agent_snapshot_post.go
  type AgentSnapshotPostStatus (line 10) | type AgentSnapshotPostStatus
  constant AgentSnapshotPostStatusNew (line 13) | AgentSnapshotPostStatusNew              AgentSnapshotPostStatus = "new"
  constant AgentSnapshotPostStatusInvalid (line 14) | AgentSnapshotPostStatusInvalid          AgentSnapshotPostStatus = "invalid"
  constant AgentSnapshotPostStatusValid (line 15) | AgentSnapshotPostStatusValid            AgentSnapshotPostStatus = "valid"
  constant AgentSnapshotPostStatusInferNew (line 16) | AgentSnapshotPostStatusInferNew         AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusInferSubmitted (line 17) | AgentSnapshotPostStatusInferSubmitted   AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusInferError (line 18) | AgentSnapshotPostStatusInferError       AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusInferFailed (line 19) | AgentSnapshotPostStatusInferFailed      AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusInferExpired (line 20) | AgentSnapshotPostStatusInferExpired     AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusInferResolved (line 21) | AgentSnapshotPostStatusInferResolved    AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusInferRefund (line 22) | AgentSnapshotPostStatusInferRefund      AgentSnapshotPostStatus = "infer...
  constant AgentSnapshotPostStatusReplied (line 23) | AgentSnapshotPostStatusReplied          AgentSnapshotPostStatus = "replied"
  constant AgentSnapshotPostStatusRepliedError (line 24) | AgentSnapshotPostStatusRepliedError     AgentSnapshotPostStatus = "repli...
  constant AgentSnapshotPostStatusRepliedCancelled (line 25) | AgentSnapshotPostStatusRepliedCancelled AgentSnapshotPostStatus = "repli...
  constant AgentSnapshotPostStatusReposted (line 26) | AgentSnapshotPostStatusReposted         AgentSnapshotPostStatus = "repos...
  constant AgentSnapshotPostStatusRepostedError (line 27) | AgentSnapshotPostStatusRepostedError    AgentSnapshotPostStatus = "repos...
  type AgentSnapshotPost (line 30) | type AgentSnapshotPost struct
  type AgentSnapshotPostActionType (line 73) | type AgentSnapshotPostActionType
  type AgentSnapshotPostActionStatus (line 74) | type AgentSnapshotPostActionStatus
  constant AgentSnapshotPostActionTypeTweet (line 78) | AgentSnapshotPostActionTypeTweet               AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeRetweet (line 79) | AgentSnapshotPostActionTypeRetweet             AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeFollow (line 80) | AgentSnapshotPostActionTypeFollow              AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeReply (line 81) | AgentSnapshotPostActionTypeReply               AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeReplyMulti (line 82) | AgentSnapshotPostActionTypeReplyMulti          AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeReplyMultiUnlimited (line 83) | AgentSnapshotPostActionTypeReplyMultiUnlimited AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeCreateToken (line 84) | AgentSnapshotPostActionTypeCreateToken         AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeCreateAgent (line 85) | AgentSnapshotPostActionTypeCreateAgent         AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeGenerateVideo (line 86) | AgentSnapshotPostActionTypeGenerateVideo       AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeQuoteTweet (line 87) | AgentSnapshotPostActionTypeQuoteTweet          AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeInscribeTweet (line 88) | AgentSnapshotPostActionTypeInscribeTweet       AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeTweetV2 (line 89) | AgentSnapshotPostActionTypeTweetV2             AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeTweetMulti (line 90) | AgentSnapshotPostActionTypeTweetMulti          AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeCreateLaunchpad (line 91) | AgentSnapshotPostActionTypeCreateLaunchpad     AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeUnknown (line 92) | AgentSnapshotPostActionTypeUnknown             AgentSnapshotPostActionTy...
  constant AgentSnapshotPostActionTypeTradeHold (line 94) | AgentSnapshotPostActionTypeTradeHold     AgentSnapshotPostActionType = "...
  constant AgentSnapshotPostActionTypeTradeBuy (line 95) | AgentSnapshotPostActionTypeTradeBuy      AgentSnapshotPostActionType = "...
  constant AgentSnapshotPostActionTypeTradeSell (line 96) | AgentSnapshotPostActionTypeTradeSell     AgentSnapshotPostActionType = "...
  constant AgentSnapshotPostActionTypeTradeAnalytic (line 97) | AgentSnapshotPostActionTypeTradeAnalytic AgentSnapshotPostActionType = "...
  constant AgentSnapshotPostActionTypeLaunchpadJoin (line 98) | AgentSnapshotPostActionTypeLaunchpadJoin AgentSnapshotPostActionType = "...
  constant AgentSnapshotPostActionStatusNew (line 100) | AgentSnapshotPostActionStatusNew            AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusDone (line 101) | AgentSnapshotPostActionStatusDone           AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusDone_ (line 102) | AgentSnapshotPostActionStatusDone_          AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusDoneError (line 103) | AgentSnapshotPostActionStatusDoneError      AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusDoneDuplicated (line 104) | AgentSnapshotPostActionStatusDoneDuplicated AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusDoneCancelled (line 105) | AgentSnapshotPostActionStatusDoneCancelled  AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusInvalid (line 106) | AgentSnapshotPostActionStatusInvalid        AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusTesting (line 107) | AgentSnapshotPostActionStatusTesting        AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusInscribing (line 108) | AgentSnapshotPostActionStatusInscribing     AgentSnapshotPostActionStatu...
  constant AgentSnapshotPostActionStatusPaid (line 109) | AgentSnapshotPostActionStatusPaid           AgentSnapshotPostActionStatu...
  type AgentSnapshotPostAction (line 112) | type AgentSnapshotPostAction struct
  type LuckyMoneyStatus (line 156) | type LuckyMoneyStatus
  constant LuckyMoneyStatusNew (line 160) | LuckyMoneyStatusNew        LuckyMoneyStatus = "new"
  constant LuckyMoneyStatusProcessing (line 161) | LuckyMoneyStatusProcessing LuckyMoneyStatus = "processing"
  constant LuckyMoneyStatusInvalid (line 162) | LuckyMoneyStatusInvalid    LuckyMoneyStatus = "invalid"
  constant LuckyMoneyStatusDone (line 163) | LuckyMoneyStatusDone       LuckyMoneyStatus = "done"
  type AbilityLuckyMoney (line 166) | type AbilityLuckyMoney struct
  type ToolsetType (line 192) | type ToolsetType
  constant ToolsetTypeDefault (line 195) | ToolsetTypeDefault          ToolsetType = "default"
  constant ToolsetTypeReplyMentions (line 196) | ToolsetTypeReplyMentions    ToolsetType = "reply_mentions"
  constant ToolsetTypeReplyNonMentions (line 197) | ToolsetTypeReplyNonMentions ToolsetType = "reply_non_mentions"
  constant ToolsetTypeShadowReply (line 198) | ToolsetTypeShadowReply      ToolsetType = "shadow_reply"
  constant ToolsetTypeFollow (line 199) | ToolsetTypeFollow           ToolsetType = "follow"
  constant ToolsetTypePost (line 200) | ToolsetTypePost             ToolsetType = "post"
  constant ToolsetTypePostSearchV2 (line 201) | ToolsetTypePostSearchV2     ToolsetType = "post_search_v2"
  constant ToolsetTypePostSearchV3 (line 202) | ToolsetTypePostSearchV3     ToolsetType = "post_search_v3"
  constant ToolsetTypeIssueToken (line 204) | ToolsetTypeIssueToken              ToolsetType = "issue_token"
  constant ToolsetTypeInscribeTweet (line 205) | ToolsetTypeInscribeTweet           ToolsetType = "inscribe_tweet"
  constant ToolsetTypeInscribeTweetNews (line 206) | ToolsetTypeInscribeTweetNews       ToolsetType = "tweet_news"
  constant ToolsetTypeTrading (line 207) | ToolsetTypeTrading                 ToolsetType = "trading"
  constant ToolsetTypeTradeNews (line 208) | ToolsetTypeTradeNews               ToolsetType = "trade_news"
  constant ToolsetTypeTradeAnalytics (line 209) | ToolsetTypeTradeAnalytics          ToolsetType = "trade_analytics"
  constant ToolsetTypeTradeAnalyticsOnTwitter (line 210) | ToolsetTypeTradeAnalyticsOnTwitter ToolsetType = "trade_analytics_twitter"
  constant ToolsetTypeTradeAnalyticsMentions (line 211) | ToolsetTypeTradeAnalyticsMentions  ToolsetType = "trade_analytics_mentions"
  constant ToolsetTypeLuckyMoneys (line 212) | ToolsetTypeLuckyMoneys             ToolsetType = "lucky_moneys"
  constant ToolsetTypeLaunchpadJoin (line 213) | ToolsetTypeLaunchpadJoin           ToolsetType = "launchpad_join"
  constant ToolsetTypeMissionStore (line 214) | ToolsetTypeMissionStore            ToolsetType = "mission_store"
  constant ToolsetTypeReplyMentionsFarcaster (line 216) | ToolsetTypeReplyMentionsFarcaster    ToolsetType = "reply_mentions_farca...
  constant ToolsetTypeReplyNonMentionsFarcaster (line 217) | ToolsetTypeReplyNonMentionsFarcaster ToolsetType = "reply_non_mentions_f...
  constant ToolsetTypePostFarcaster (line 218) | ToolsetTypePostFarcaster             ToolsetType = "post_farcaster"
  constant ToolsetTypeTavily (line 220) | ToolsetTypeTavily ToolsetType = "tavily"
  type AgentSnapshotMission (line 223) | type AgentSnapshotMission struct
  type TeleMsgStatus (line 258) | type TeleMsgStatus
  constant TeleMsgStatusNew (line 261) | TeleMsgStatusNew TeleMsgStatus = "new"
  type AgentTeleMsg (line 264) | type AgentTeleMsg struct
  type PlatformType (line 278) | type PlatformType
  constant PlatformTypeTwitter (line 281) | PlatformTypeTwitter   PlatformType = "twitter"
  constant PlatformTypeFarcaster (line 282) | PlatformTypeFarcaster PlatformType = "farcaster"
  type AgentSnapshotMissionConfigs (line 285) | type AgentSnapshotMissionConfigs struct
  type AgentSnapshotMissionResp (line 294) | type AgentSnapshotMissionResp struct
  type AgentSnapshotPostActionResp (line 312) | type AgentSnapshotPostActionResp struct
  type ParamWakeupRequest (line 332) | type ParamWakeupRequest struct
  type WakeupRequestMetadata (line 337) | type WakeupRequestMetadata struct
  type AgentWakeupKnowledgeBase (line 348) | type AgentWakeupKnowledgeBase struct
  type AgentMetadataRequest (line 353) | type AgentMetadataRequest struct
  type CallWakeupRequest (line 363) | type CallWakeupRequest struct

FILE: agent-as-a-service/agent-orchestration/backend/models/agent_store.go
  type AgentStoreType (line 9) | type AgentStoreType
  type AgentStoreStatus (line 10) | type AgentStoreStatus
  type AgentStoreMissionStatus (line 12) | type AgentStoreMissionStatus
  type AgentStoreInstallStatus (line 14) | type AgentStoreInstallStatus
  type AgentStoreInstallType (line 15) | type AgentStoreInstallType
  constant AgentStoreInstallStatusNew (line 19) | AgentStoreInstallStatusNew  AgentStoreInstallStatus = "new"
  constant AgentStoreInstallStatusDone (line 20) | AgentStoreInstallStatusDone AgentStoreInstallStatus = "done"
  constant AgentStoreInstallTypeAgent (line 21) | AgentStoreInstallTypeAgent  AgentStoreInstallType   = "agent"
  constant AgentStoreInstallTypeUser (line 22) | AgentStoreInstallTypeUser   AgentStoreInstallType   = "user"
  constant AgentStoreTypeStore (line 24) | AgentStoreTypeStore AgentStoreType = "store"
  constant AgentStoreTypeInfra (line 25) | AgentStoreTypeInfra AgentStoreType = "infra"
  constant AgentStoreStatusNew (line 27) | AgentStoreStatusNew       AgentStoreStatus = "new"
  constant AgentStoreStatusActived (line 28) | AgentStoreStatusActived   AgentStoreStatus = "actived"
  constant AgentStoreStatusInActived (line 29) | AgentStoreStatusInActived AgentStoreStatus = "inactived"
  type AgentStore (line 32) | type AgentStore struct
  type AgentStoreMission (line 59) | type AgentStoreMission struct
  type AgentStoreInstall (line 76) | type AgentStoreInstall struct
  type AgentStoreLog (line 89) | type AgentStoreLog struct
  type AgentStoreTry (line 99) | type AgentStoreTry struct
  type AgentStoreTryDetail (line 105) | type AgentStoreTryDetail struct

FILE: agent-as-a-service/agent-orchestration/backend/models/agent_wallet.go
  type AgentWallet (line 10) | type AgentWallet struct
  type AgentWalletActionStatus (line 19) | type AgentWalletActionStatus
  constant AgentWalletActionStatusNew (line 22) | AgentWalletActionStatusNew   AgentWalletActionStatus = "new"
  constant AgentWalletActionStatusDone (line 23) | AgentWalletActionStatusDone  AgentWalletActionStatus = "done"
  constant AgentWalletActionStatusError (line 24) | AgentWalletActionStatusError AgentWalletActionStatus = "error"
  type AgentWalletAction (line 27) | type AgentWalletAction struct
  type AgentWalletTrade (line 49) | type AgentWalletTrade struct
  type AgentWalletTradeSum (line 68) | type AgentWalletTradeSum struct

FILE: agent-as-a-service/agent-orchestration/backend/models/api_subscription.go
  type DepositStatus (line 11) | type DepositStatus
  type PackageType (line 12) | type PackageType
  constant DepositStatusPending (line 16) | DepositStatusPending DepositStatus = "pending"
  constant DepositStatusDone (line 17) | DepositStatusDone    DepositStatus = "done"
  constant PackageTypeFree (line 19) | PackageTypeFree  PackageType = "free"
  constant PackageTypeBasic (line 20) | PackageTypeBasic PackageType = "basic"
  constant PackageTypePro (line 21) | PackageTypePro   PackageType = "pro"
  type ApiSubscriptionPackage (line 24) | type ApiSubscriptionPackage struct
  type ApiSubscriptionKey (line 35) | type ApiSubscriptionKey struct
  type ApiSubscriptionHistory (line 51) | type ApiSubscriptionHistory struct
  type ApiSubscriptionUsageLog (line 67) | type ApiSubscriptionUsageLog struct

FILE: agent-as-a-service/agent-orchestration/backend/models/app_configs.go
  type AppConfig (line 13) | type AppConfig struct
  type BlockScanInfo (line 22) | type BlockScanInfo struct
  type TokenPrice (line 34) | type TokenPrice struct
  type BTCL1InscribeTx (line 42) | type BTCL1InscribeTx struct

FILE: agent-as-a-service/agent-orchestration/backend/models/external_wallet.go
  type ExternalWalletType (line 8) | type ExternalWalletType
  constant ExternalWalletTypeSOL (line 11) | ExternalWalletTypeSOL ExternalWalletType = "SOL"
  type ExternalWallet (line 14) | type ExternalWallet struct
  type ExternalWalletOrderType (line 21) | type ExternalWalletOrderType
  type ExternalWalletOrderStatus (line 22) | type ExternalWalletOrderStatus
  constant ExternalWalletOrderTypeBuy (line 25) | ExternalWalletOrderTypeBuy      ExternalWalletOrderType = "buy"
  constant ExternalWalletOrderTypeSell (line 26) | ExternalWalletOrderTypeSell     ExternalWalletOrderType = "sell"
  constant ExternalWalletOrderTypeWithdraw (line 27) | ExternalWalletOrderTypeWithdraw ExternalWalletOrderType = "withdraw"
  constant ExternalWalletOrderStatusNew (line 29) | ExternalWalletOrderStatusNew   ExternalWalletOrderStatus = "new"
  constant ExternalWalletOrderStatusDone (line 30) | ExternalWalletOrderStatusDone  ExternalWalletOrderStatus = "done"
  constant ExternalWalletOrderStatusError (line 31) | ExternalWalletOrderStatusError ExternalWalletOrderStatus = "error"
  type ExternalWalletOrder (line 34) | type ExternalWalletOrder struct
  type ExternalWalletToken (line 50) | type ExternalWalletToken struct

FILE: agent-as-a-service/agent-orchestration/backend/models/infer.go
  constant MillisecondText (line 10) | MillisecondText = "millisecond"
  constant SecondText (line 11) | SecondText      = "second"
  constant MinuteText (line 12) | MinuteText      = "minute"
  constant HourText (line 13) | HourText        = "hour"
  type BatchInferHistoryStatus (line 16) | type BatchInferHistoryStatus
  type ContractInferenceStatus (line 17) | type ContractInferenceStatus
  type ModelPredictHistoryStatus (line 18) | type ModelPredictHistoryStatus
  type ModelPredictHistoryVerifyStatus (line 19) | type ModelPredictHistoryVerifyStatus
  type TrainingRequestExportStatus (line 20) | type TrainingRequestExportStatus
  type TrainingRequestStatus (line 21) | type TrainingRequestStatus
  type TrainingRequestType (line 22) | type TrainingRequestType
  constant TrainingRequestTypeUserDefine (line 25) | TrainingRequestTypeUserDefine TrainingRequestType = iota + 1
  constant TrainingRequestTypeHuggingFace (line 26) | TrainingRequestTypeHuggingFace
  constant BatchInferHistoryStatusPending (line 29) | BatchInferHistoryStatusPending       BatchInferHistoryStatus = "pending"
  constant BatchInferHistoryStatusAgentInferred (line 30) | BatchInferHistoryStatusAgentInferred BatchInferHistoryStatus = "agent-in...
  constant BatchInferHistoryStatusQueueHandled (line 31) | BatchInferHistoryStatusQueueHandled  BatchInferHistoryStatus = "queue-ha...
  constant BatchInferHistoryStatusCompleted (line 32) | BatchInferHistoryStatusCompleted     BatchInferHistoryStatus = "completed"
  constant BatchInferHistoryStatusFailed (line 33) | BatchInferHistoryStatusFailed        BatchInferHistoryStatus = "failed"
  constant ContractInferenceStatusNil (line 37) | ContractInferenceStatusNil         ContractInferenceStatus = 0
  constant ContractInferenceStatusSolving (line 38) | ContractInferenceStatusSolving     ContractInferenceStatus = 1
  constant ContractInferenceStatusCommit (line 39) | ContractInferenceStatusCommit      ContractInferenceStatus = 2
  constant ContractInferenceStatusReveal (line 40) | ContractInferenceStatusReveal      ContractInferenceStatus = 3
  constant ContractInferenceStatusProcessed (line 41) | ContractInferenceStatusProcessed   ContractInferenceStatus = 4
  constant ContractInferenceStatusKilled (line 42) | ContractInferenceStatusKilled      ContractInferenceStatus = 5
  constant ContractInferenceStatusTransferred (line 43) | ContractInferenceStatusTransferred ContractInferenceStatus = 6
  constant ModelPredictHistoryStatusSolving (line 47) | ModelPredictHistoryStatusSolving   ModelPredictHistoryStatus = 0
  constant ModelPredictHistoryStatusProcessed (line 48) | ModelPredictHistoryStatusProcessed ModelPredictHistoryStatus = 1
  constant ModelPredictHistoryStatusCommit (line 50) | ModelPredictHistoryStatusCommit ModelPredictHistoryStatus = 2
  constant ModelPredictHistoryStatusReveal (line 51) | ModelPredictHistoryStatusReveal ModelPredictHistoryStatus = 3
  constant ModelPredictHistoryVerifyStatusPending (line 55) | ModelPredictHistoryVerifyStatusPending ModelPredictHistoryVerifyStatus =...
  constant ModelPredictHistoryVerifyStatusPassed (line 56) | ModelPredictHistoryVerifyStatusPassed  ModelPredictHistoryVerifyStatus =...
  constant ModelPredictHistoryVerifyStatusFailed (line 57) | ModelPredictHistoryVerifyStatusFailed  ModelPredictHistoryVerifyStatus =...
  constant TrainingRequestExportStatusWaiting (line 61) | TrainingRequestExportStatusWaiting   TrainingRequestExportStatus = "wait...
  constant TrainingRequestExportStatusRunning (line 62) | TrainingRequestExportStatusRunning   TrainingRequestExportStatus = "runn...
  constant TrainingRequestExportStatusCompleted (line 63) | TrainingRequestExportStatusCompleted TrainingRequestExportStatus = "comp...
  constant TrainingRequestExportStatusFailed (line 64) | TrainingRequestExportStatusFailed    TrainingRequestExportStatus = "failed"
  constant TrainingRequestStatusWaiting (line 68) | TrainingRequestStatusWaiting          TrainingRequestStatus = "waiting"
  constant TrainingRequestStatusRunning (line 69) | TrainingRequestStatusRunning          TrainingRequestStatus = "running"
  constant TrainingRequestStatusCompleted (line 70) | TrainingRequestStatusCompleted        TrainingRequestStatus = "completed"
  constant TrainingRequestStatusFailed (line 71) | TrainingRequestStatusFailed           TrainingRequestStatus = "failed"
  constant TrainingRequestStatusWaitMint (line 72) | TrainingRequestStatusWaitMint         TrainingRequestStatus = "wait-mint"
  constant TrainingRequestStatusChecking (line 73) | TrainingRequestStatusChecking         TrainingRequestStatus = "checking"
  constant TrainingRequestStatusDeploying (line 74) | TrainingRequestStatusDeploying        TrainingRequestStatus = "deploying"
  constant TrainingRequestStatusDeployed (line 75) | TrainingRequestStatusDeployed         TrainingRequestStatus = "deployed"
  constant TrainingRequestStatusWaitingToPayment (line 76) | TrainingRequestStatusWaitingToPayment TrainingRequestStatus = "wait-paym...
  constant TrainingRequestStatusPaymentSuccess (line 77) | TrainingRequestStatusPaymentSuccess   TrainingRequestStatus = "payment-s...
  type BatchInferHistory (line 80) | type BatchInferHistory struct
  type ChainConfig (line 116) | type ChainConfig struct
  type TrainingRequestERC20Info (line 146) | type TrainingRequestERC20Info struct
  type HGModelCheckResult (line 167) | type HGModelCheckResult struct
  type ZkSyncNetwork (line 175) | type ZkSyncNetwork struct
  type TrainingRequest (line 196) | type TrainingRequest struct
  type ModelPredictHistory (line 249) | type ModelPredictHistory struct
  type ModelMarket (line 288) | type ModelMarket struct
  type JobConfig (line 306) | type JobConfig struct

FILE: agent-as-a-service/agent-orchestration/backend/models/infra_twitter_app.go
  type InfraTwitterApp (line 8) | type InfraTwitterApp struct
  type InfraTwitterTopupTx (line 19) | type InfraTwitterTopupTx struct

FILE: agent-as-a-service/agent-orchestration/backend/models/knowledge_base.go
  type KnowledgeBaseStatus (line 10) | type KnowledgeBaseStatus
  type KnowledgeBaseFileStatus (line 11) | type KnowledgeBaseFileStatus
  constant KnowledgeBaseStatusWaitingPayment (line 15) | KnowledgeBaseStatusWaitingPayment KnowledgeBaseStatus = iota + 1
  constant KnowledgeBaseStatusPaymentReceipt (line 16) | KnowledgeBaseStatusPaymentReceipt
  constant KnowledgeBaseStatusProcessing (line 17) | KnowledgeBaseStatusProcessing
  constant KnowledgeBaseStatusDone (line 18) | KnowledgeBaseStatusDone
  constant KnowledgeBaseStatusMinted (line 19) | KnowledgeBaseStatusMinted
  constant KnowledgeBaseStatusProcessingFailed (line 20) | KnowledgeBaseStatusProcessingFailed
  constant KnowledgeBaseStatusProcessUpdate (line 21) | KnowledgeBaseStatusProcessUpdate
  constant KnowledgeBaseStatusProcessCrawlData (line 22) | KnowledgeBaseStatusProcessCrawlData
  constant KnowledgeBaseStatusCrawlDataDone (line 23) | KnowledgeBaseStatusCrawlDataDone
  constant KnowledgeBaseFileStatusPending (line 27) | KnowledgeBaseFileStatusPending KnowledgeBaseFileStatus = iota + 1
  constant KnowledgeBaseFileStatusDone (line 28) | KnowledgeBaseFileStatusDone
  constant KnowledgeBaseFileStatusFail (line 29) | KnowledgeBaseFileStatusFail
  type KnowledgeBase (line 32) | type KnowledgeBase struct
    method FileUrls (line 84) | func (m *KnowledgeBase) FileUrls() []string {
    method CalcChargeMore (line 97) | func (m *KnowledgeBase) CalcChargeMore() float64 {
  type KnowledgeBaseFile (line 63) | type KnowledgeBaseFile struct
  type ListKnowledgeBaseRequest (line 78) | type ListKnowledgeBaseRequest struct
  function round (line 92) | func round(val float64, precision uint) float64 {
  type RagResult (line 115) | type RagResult struct
  type RagHookResponse (line 122) | type RagHookResponse struct
  type InsertRagResponse (line 128) | type InsertRagResponse struct

FILE: agent-as-a-service/agent-orchestration/backend/models/launchpad.go
  type LaunchpadStatus (line 10) | type LaunchpadStatus
  type LaunchpadTier (line 11) | type LaunchpadTier
  constant LaunchpadStatusNew (line 14) | LaunchpadStatusNew          LaunchpadStatus = "new"
  constant LaunchpadStatusRunning (line 15) | LaunchpadStatusRunning      LaunchpadStatus = "running"
  constant LaunchpadStatusEnd (line 16) | LaunchpadStatusEnd          LaunchpadStatus = "end"
  constant LaunchpadStatusFailed (line 17) | LaunchpadStatusFailed       LaunchpadStatus = "failed"
  constant LaunchpadStatusDone (line 18) | LaunchpadStatusDone         LaunchpadStatus = "done"
  constant LaunchpadStatusCancelled (line 19) | LaunchpadStatusCancelled    LaunchpadStatus = "cancelled"
  constant LaunchpadStatusTokenError (line 20) | LaunchpadStatusTokenError   LaunchpadStatus = "token_error"
  constant LaunchpadStatusTokenCreated (line 21) | LaunchpadStatusTokenCreated LaunchpadStatus = "token_created"
  constant LaunchpadStatusSettleError (line 22) | LaunchpadStatusSettleError  LaunchpadStatus = "settle_error"
  constant LaunchpadStatusSettled (line 23) | LaunchpadStatusSettled      LaunchpadStatus = "settled"
  constant LaunchpadStatusTge (line 24) | LaunchpadStatusTge          LaunchpadStatus = "tge"
  constant LaunchpadStatusPoolError (line 25) | LaunchpadStatusPoolError    LaunchpadStatus = "pool_error"
  constant LaunchpadTier1 (line 27) | LaunchpadTier1 LaunchpadTier = "Tier 1"
  constant LaunchpadTier2 (line 28) | LaunchpadTier2 LaunchpadTier = "Tier 2"
  constant LaunchpadTier3 (line 29) | LaunchpadTier3 LaunchpadTier = "Tier 3"
  type Launchpad (line 32) | type Launchpad struct
  type LaunchpadMemberStatus (line 68) | type LaunchpadMemberStatus
  constant LaunchpadMemberStatusNew (line 71) | LaunchpadMemberStatusNew         LaunchpadMemberStatus = "new"
  constant LaunchpadMemberStatusTgeDone (line 72) | LaunchpadMemberStatusTgeDone     LaunchpadMemberStatus = "tge_done"
  constant LaunchpadMemberStatusTgeError (line 73) | LaunchpadMemberStatusTgeError    LaunchpadMemberStatus = "tge_error"
  constant LaunchpadMemberStatusDone (line 74) | LaunchpadMemberStatusDone        LaunchpadMemberStatus = "done"
  constant LaunchpadMemberStatusRefundError (line 75) | LaunchpadMemberStatusRefundError LaunchpadMemberStatus = "refund_error"
  type LaunchpadMember (line 78) | type LaunchpadMember struct
  type LaunchpadTransactionType (line 103) | type LaunchpadTransactionType
  type LaunchpadTransactionStatus (line 104) | type LaunchpadTransactionStatus
  constant LaunchpadTransactionTypeDeposit (line 107) | LaunchpadTransactionTypeDeposit LaunchpadTransactionType = "deposit"
  constant LaunchpadTransactionTypeRefund (line 108) | LaunchpadTransactionTypeRefund  LaunchpadTransactionType = "refund"
  constant LaunchpadTransactionStatusDone (line 110) | LaunchpadTransactionStatusDone LaunchpadTransactionStatus = "done"
  type LaunchpadTransaction (line 113) | type LaunchpadTransaction struct

FILE: agent-as-a-service/agent-orchestration/backend/models/llm_model.go
  type ChatCompletionStreamResponse (line 7) | type ChatCompletionStreamResponse struct
  type CompletionOnChainData (line 14) | type CompletionOnChainData struct

FILE: agent-as-a-service/agent-orchestration/backend/models/meme.go
  type MemeStatus (line 10) | type MemeStatus
  type TransferStatus (line 11) | type TransferStatus
  type NotiType (line 12) | type NotiType
  type ChartType (line 13) | type ChartType
  type MemeCatStatus (line 15) | type MemeCatStatus
  constant MemeStatusPending (line 18) | MemeStatusPending          MemeStatus = "pending"
  constant MemeStatusNew (line 19) | MemeStatusNew              MemeStatus = "new"
  constant MemeStatusCreated (line 20) | MemeStatusCreated          MemeStatus = "created"
  constant MemeStatusAddPoolLevel0 (line 21) | MemeStatusAddPoolLevel0    MemeStatus = "add_pool_0"
  constant MemeStatusAddPoolLevel1 (line 22) | MemeStatusAddPoolLevel1    MemeStatus = "add_pool_1"
  constant MemeStatusReachedMC (line 23) | MemeStatusReachedMC        MemeStatus = "reached_mc"
  constant MemeStatusRemovePoolLelve1 (line 24) | MemeStatusRemovePoolLelve1 MemeStatus = "remove_pool_1"
  constant MemeStatusAddPoolLevel2 (line 25) | MemeStatusAddPoolLevel2    MemeStatus = "add_pool_2"
  constant MemeStatusAddPoolExternal (line 26) | MemeStatusAddPoolExternal  MemeStatus = "add_pool_external"
  constant MemeCatStatusProcessing (line 28) | MemeCatStatusProcessing MemeCatStatus = "processing"
  constant MemeCatStatusDone (line 29) | MemeCatStatusDone       MemeCatStatus = "done"
  constant ChartTypeHour1 (line 31) | ChartTypeHour1 ChartType = "1h"
  constant ChartTypeHour4 (line 32) | ChartTypeHour4 ChartType = "4h"
  constant ChartTypeDay (line 33) | ChartTypeDay   ChartType = "1d"
  constant ChartTypeMin30 (line 34) | ChartTypeMin30 ChartType = "30min"
  constant ChartTypeMin5 (line 35) | ChartTypeMin5  ChartType = "5min"
  constant TransferStatusPending (line 37) | TransferStatusPending TransferStatus = "pending"
  constant TransferStatusDone (line 38) | TransferStatusDone    TransferStatus = "done"
  constant NotiTypeNewMeme (line 40) | NotiTypeNewMeme     NotiType = "new_meme"
  constant NotiTypePrice (line 41) | NotiTypePrice       NotiType = "price_pump"
  constant NotiTypeReachMC (line 42) | NotiTypeReachMC     NotiType = "reached_mc"
  constant NotiTypeTradeOnNaka (line 43) | NotiTypeTradeOnNaka NotiType = "trade_on_naka"
  constant NotiTypeNewFollower (line 44) | NotiTypeNewFollower NotiType = "new_follower"
  type Meme (line 47) | type Meme struct
  type MemeTradeHistory (line 123) | type MemeTradeHistory struct
  type MemeThreads (line 156) | type MemeThreads struct
  type MemeWhiteListAddress (line 171) | type MemeWhiteListAddress struct
  type MemeThreadLike (line 176) | type MemeThreadLike struct
  type MemeFollowers (line 182) | type MemeFollowers struct
  type MemeTokenHolder (line 190) | type MemeTokenHolder struct
  type MemeNotification (line 206) | type MemeNotification struct
  type MemeNotificationSeen (line 220) | type MemeNotificationSeen struct
  type ChartData (line 227) | type ChartData struct
  type MemeSeen (line 239) | type MemeSeen struct
  type Cat20TransferTransaction (line 248) | type Cat20TransferTransaction struct
  type TokenTransfer (line 259) | type TokenTransfer struct
  type Bot (line 282) | type Bot struct
  type BotOrderType (line 288) | type BotOrderType
  type BotOrderStatus (line 289) | type BotOrderStatus
  constant BotOrderTypeBuyAfterCreated (line 292) | BotOrderTypeBuyAfterCreated BotOrderType = "buy_after_created"
  constant BotOrderTypeBuy (line 293) | BotOrderTypeBuy             BotOrderType = "buy"
  constant BotOrderTypeSell (line 294) | BotOrderTypeSell            BotOrderType = "sell"
  constant BotOrderStatusNew (line 296) | BotOrderStatusNew        BotOrderStatus = "new"
  constant BotOrderStatusDepositing (line 297) | BotOrderStatusDepositing BotOrderStatus = "depositing"
  constant BotOrderStatusDone (line 298) | BotOrderStatusDone       BotOrderStatus = "done"
  constant BotOrderStatusPoolled (line 299) | BotOrderStatusPoolled    BotOrderStatus = "poolled"
  constant BotOrderStatusError (line 300) | BotOrderStatusError      BotOrderStatus = "error"
  type BotOrder (line 303) | type BotOrder struct
  type MemeFeesCollected (line 325) | type MemeFeesCollected struct

FILE: agent-as-a-service/agent-orchestration/backend/models/mission_store.go
  type OutputType (line 10) | type OutputType
  constant OutputTypeTwitter (line 14) | OutputTypeTwitter OutputType = "twitter"
  constant OutputTypeOthers (line 15) | OutputTypeOthers  OutputType = "others"
  type MissionStore (line 18) | type MissionStore struct
  type MissionStoreHistory (line 35) | type MissionStoreHistory struct
  type MissionStoreRating (line 47) | type MissionStoreRating struct

FILE: agent-as-a-service/agent-orchestration/backend/models/models.go
  constant ETH_ZERO_ADDRESS (line 19) | ETH_ZERO_ADDRESS    = "0x0000000000000000000000000000000000000000"
  constant BURN_ADDRESS (line 20) | BURN_ADDRESS        = "0x000000000000000000000000000000000000dEaD"
  constant GENERTAL_NETWORK_ID (line 21) | GENERTAL_NETWORK_ID = 0
  constant ETHEREUM_NETWORK_ID (line 22) | ETHEREUM_NETWORK_ID = 1
  constant DURATION_1D (line 24) | DURATION_1D  = 24 * 3600
  constant DURATION_30D (line 25) | DURATION_30D = 30 * 24 * 3600
  constant DURATION_90D (line 26) | DURATION_90D = 90 * 24 * 3600
  constant LOCAL_CHAIN_ID (line 28) | LOCAL_CHAIN_ID            = uint64(1337)
  constant ETERNAL_AI_CHAIN_ID (line 29) | ETERNAL_AI_CHAIN_ID       = uint64(43338)
  constant BTC_CHAIN_ID (line 30) | BTC_CHAIN_ID              = uint64(0)
  constant ETHEREUM_CHAIN_ID (line 31) | ETHEREUM_CHAIN_ID         = uint64(1)
  constant FANS_CHAIN_ID (line 32) | FANS_CHAIN_ID             = uint64(45761)
  constant BASE_CHAIN_ID (line 33) | BASE_CHAIN_ID             = uint64(8453)
  constant SHARDAI_CHAIN_ID (line 34) | SHARDAI_CHAIN_ID          = uint64(222671)
  constant SOLANA_CHAIN_ID (line 35) | SOLANA_CHAIN_ID           = uint64(1111)
  constant SOLANA_CHAIN_ID_OLD (line 36) | SOLANA_CHAIN_ID_OLD       = uint64(101)
  constant HERMES_CHAIN_ID (line 37) | HERMES_CHAIN_ID           = uint64(45762)
  constant ARBITRUM_CHAIN_ID (line 38) | ARBITRUM_CHAIN_ID         = uint64(42161)
  constant ZKSYNC_CHAIN_ID (line 39) | ZKSYNC_CHAIN_ID           = uint64(324)
  constant POLYGON_CHAIN_ID (line 40) | POLYGON_CHAIN_ID          = uint64(137)
  constant BSC_CHAIN_ID (line 41) | BSC_CHAIN_ID              = uint64(56)
  constant SEPOLIA_CHAIN_ID (line 42) | SEPOLIA_CHAIN_ID          = uint64(11155111)
  constant DAGI_CHAIN_ID (line 43) | DAGI_CHAIN_ID             = uint64(222672)
  constant APE_CHAIN_ID (line 44) | APE_CHAIN_ID              = uint64(33139)
  constant AVALANCHE_C_CHAIN_ID (line 45) | AVALANCHE_C_CHAIN_ID      = uint64(43114)
  constant ABSTRACT_TESTNET_CHAIN_ID (line 46) | ABSTRACT_TESTNET_CHAIN_ID = uint64(11124)
  constant BITTENSOR_CHAIN_ID (line 47) | BITTENSOR_CHAIN_ID        = uint64(964)
  constant DUCK_CHAIN_ID (line 48) | DUCK_CHAIN_ID             = uint64(5545)
  constant TRON_CHAIN_ID (line 49) | TRON_CHAIN_ID             = uint64(728126428)
  constant MODE_CHAIN_ID (line 50) | MODE_CHAIN_ID             = uint64(34443)
  constant ZETA_CHAIN_ID (line 51) | ZETA_CHAIN_ID             = uint64(7000)
  constant STORY_CHAIN_ID (line 52) | STORY_CHAIN_ID            = uint64(1514)
  constant HYPE_CHAIN_ID (line 53) | HYPE_CHAIN_ID             = uint64(999)
  constant MONAD_TESTNET_CHAIN_ID (line 54) | MONAD_TESTNET_CHAIN_ID    = uint64(10143)
  constant MEGAETH_TESTNET_CHAIN_ID (line 55) | MEGAETH_TESTNET_CHAIN_ID  = uint64(1338)
  constant BASE_SEPOLIA_CHAIN_ID (line 56) | BASE_SEPOLIA_CHAIN_ID     = uint64(84532)
  constant CELO_CHAIN_ID (line 57) | CELO_CHAIN_ID             = uint64(42220)
  constant LOWER_PRICE_USD (line 59) | LOWER_PRICE_USD = 2800
  constant UPPER_PRICE_USD (line 60) | UPPER_PRICE_USD = 1000000000
  constant TOKEN_SUPPLY (line 61) | TOKEN_SUPPLY    = 1000000000
  function ONE_ETHER (line 147) | func ONE_ETHER() *big.Int {
  function ParseBool (line 151) | func ParseBool(v string) bool {
  function ConvertFloatToReserveAmount (line 159) | func ConvertFloatToReserveAmount(amt float64) uint64 {
  function ConvertPriceAmount (line 166) | func ConvertPriceAmount(amt float64) float64 {
  function ValidateFiatAmount (line 174) | func ValidateFiatAmount(amt float64) error {
  function ConvertFiatAmount (line 184) | func ConvertFiatAmount(amt float64) float64 {
  function ValidateNftCurrencyAmount (line 192) | func ValidateNftCurrencyAmount(amt float64, decimals uint) error {
  function ConvertNumberFloat (line 203) | func ConvertNumberFloat(amt float64, decimals uint) float64 {
  function ConvertWeiToBigFloat (line 211) | func ConvertWeiToBigFloat(amt *big.Int, decimals uint) *big.Float {
  function ConvertWeiStringToBigFloat (line 224) | func ConvertWeiStringToBigFloat(amtString string, decimals uint) *big.Fl...
  function ConvertStringToBigFloat (line 241) | func ConvertStringToBigFloat(amtString string) *big.Float {
  function ConvertWeiToBigFloatNegative (line 252) | func ConvertWeiToBigFloatNegative(amt *big.Int, decimals uint) *big.Float {
  function ConvertBigFloatToWei (line 265) | func ConvertBigFloatToWei(amt *big.Float, decimals uint) *big.Int {
  function ConvertBigFloatToWeiFull (line 277) | func ConvertBigFloatToWeiFull(amt *big.Float, decimals uint) *big.Int {
  function ConvertCryptoCurrencyAmount (line 286) | func ConvertCryptoCurrencyAmount(amt float64) float64 {
  function ConvertReserveAmountToFloat (line 294) | func ConvertReserveAmountToFloat(reserveAmt uint64) float64 {
  function ConvertFloatToCollateralAmount (line 299) | func ConvertFloatToCollateralAmount(amt float64) uint64 {
  function ParseString2FloatAmountArr (line 306) | func ParseString2FloatAmountArr(s, sep string) []float64 {
  function MulFloats (line 325) | func MulFloats(val1 float64, vals ...float64) float64 {
  function DivFloats (line 334) | func DivFloats(val1 float64, vals ...float64) float64 {
  function AddFloats (line 343) | func AddFloats(val1 float64, vals ...float64) float64 {
  function SubFloats (line 352) | func SubFloats(val1 float64, vals ...float64) float64 {
  function ConvertStringToFloat (line 361) | func ConvertStringToFloat(s string) (float64, error) {
  function ConvertString2BigInt (line 370) | func ConvertString2BigInt(s string) (*big.Int, error) {
  function ConvertStringNumber2BigInt (line 378) | func ConvertStringNumber2BigInt(s string) *big.Int {
  function ToEtherPriceFiatAmount (line 386) | func ToEtherPriceFiatAmount(num big.Float, pr float64) float64 {
  function ToEtherAmount (line 391) | func ToEtherAmount(e *big.Int) big.Float {
  function ToEtherWeiAmount (line 398) | func ToEtherWeiAmount(num big.Float) big.Int {
  function ToBigInt (line 406) | func ToBigInt(s string) big.Int {
  function Number2BigInt (line 417) | func Number2BigInt(s string, decimals int) *big.Int {
  function MulBigFloats (line 426) | func MulBigFloats(val1 *big.Float, vals ...*big.Float) *big.Float {
  function MulBigInts (line 434) | func MulBigInts(val1 *big.Int, vals ...*big.Int) *big.Int {
  function MinBigInts (line 442) | func MinBigInts(val1 *big.Int, vals ...*big.Int) *big.Int {
  function MaxBigInts (line 452) | func MaxBigInts(val1 *big.Int, vals ...*big.Int) *big.Int {
  function MaxBigFloats (line 462) | func MaxBigFloats(val1 *big.Float, vals ...*big.Float) *big.Float {
  function AddBigFloats (line 472) | func AddBigFloats(val1 *big.Float, vals ...*big.Float) *big.Float {
  function AddBigInts (line 480) | func AddBigInts(val1 *big.Int, vals ...*big.Int) *big.Int {
  function SubBigFloats (line 488) | func SubBigFloats(val1 *big.Float, vals ...*big.Float) *big.Float {
  function SubBigInts (line 496) | func SubBigInts(val1 *big.Int, vals ...*big.Int) *big.Int {
  function QuoBigFloats (line 504) | func QuoBigFloats(val1 *big.Float, vals ...*big.Float) *big.Float {
  function QuoBigInts (line 515) | func QuoBigInts(val1 *big.Int, vals ...*big.Int) *big.Int {
  function EqualBigFloats (line 526) | func EqualBigFloats(val1 *big.Float, val2 *big.Float) bool {
  function NegativeBigFloat (line 530) | func NegativeBigFloat(val *big.Float) *big.Float {
  function FormatFloatNumber (line 534) | func FormatFloatNumber(f string, amt float64) string {
  function FormatStringNumber (line 538) | func FormatStringNumber(amt string) string {
  function FormatBigFloatNumber (line 546) | func FormatBigFloatNumber(amt *big.Float) string {
  function FormatEmailTime (line 550) | func FormatEmailTime(t *time.Time) string {
  function ConvertSqrtPriceX96ToPrice (line 557) | func ConvertSqrtPriceX96ToPrice(amt *big.Int, decimals uint) *big.Float {
  function ConvertX96ToNumber (line 572) | func ConvertX96ToNumber(amt *big.Int, decimals uint) *big.Float {
  function EtherToWeiWithDecimals (line 587) | func EtherToWeiWithDecimals(eth *big.Float, decimals int) *big.Int {
  function EtherToWei (line 591) | func EtherToWei(eth *big.Float) *big.Int {
  function RoundHalfUp (line 595) | func RoundHalfUp(num *big.Float, decimals int) *big.Float {
  function AbsBigFloat (line 607) | func AbsBigFloat(val *big.Float) *big.Float {
  function ConvertSqrtPriceX96ToPriceEx (line 611) | func ConvertSqrtPriceX96ToPriceEx(amt *big.Int, decimals uint, zeroForOn...
  function GetAlphaDBName (line 626) | func GetAlphaDBName() string {
  function IsNativeToken (line 634) | func IsNativeToken(tokenAddress string) bool {
  function PriceToTick (line 638) | func PriceToTick(price float64, spacing int64) int64 {
  function RandFloatInRage (line 644) | func RandFloatInRage(min, max float64) float64 {
  function RandSeed (line 648) | func RandSeed() uint64 {
  function GetSqrtPriceX96ForLiquidityAndAmount0 (line 654) | func GetSqrtPriceX96ForLiquidityAndAmount0(sqrtPriceX96AMin *big.Int, sq...
  function GetSqrtPriceX96ForLiquidityAndAmount1 (line 684) | func GetSqrtPriceX96ForLiquidityAndAmount1(sqrtPriceX96AMin *big.Int, sq...
  function GetChainName (line 714) | func GetChainName(chainID uint64) string {
  function GetChainID (line 718) | func GetChainID(chainName string) uint64 {
  function GetTradeUrl (line 777) | func GetTradeUrl(tokenNetworkID uint64, tokenAddress, dexID string) stri...
  function GetDexUrl (line 794) | func GetDexUrl(tokenNetworkID uint64, tokenAddress string) string {
  function GetImageUrl (line 811) | func GetImageUrl(imageUrl string) string {

FILE: agent-as-a-service/agent-orchestration/backend/models/robot.go
  type RobotProject (line 11) | type RobotProject struct
  type RobotSaleWallet (line 27) | type RobotSaleWallet struct
  type RobotTokenTransfer (line 41) | type RobotTokenTransfer struct

FILE: agent-as-a-service/agent-orchestration/backend/models/sample_twiiter_app.go
  type SampleTwitterApp (line 7) | type SampleTwitterApp struct

FILE: agent-as-a-service/agent-orchestration/backend/models/store_trading_app.go
  type StoreDefiApp (line 7) | type StoreDefiApp struct

FILE: agent-as-a-service/agent-orchestration/backend/models/tokens.go
  type Erc20Holder (line 10) | type Erc20Holder struct
  type Erc721Holder (line 26) | type Erc721Holder struct
  type Erc1155Holder (line 33) | type Erc1155Holder struct
  type TrendingToken (line 42) | type TrendingToken struct

FILE: agent-as-a-service/agent-orchestration/backend/models/twitter_post.go
  type TwitterPostStatus (line 9) | type TwitterPostStatus
  type TwitterPostType (line 10) | type TwitterPostType
  constant TwitterPostTypeText (line 13) | TwitterPostTypeText  TwitterPostType = "text"
  constant TwitterPostTypeImage (line 14) | TwitterPostTypeImage TwitterPostType = "image"
  constant TwitterPostStatusNew (line 16) | TwitterPostStatusNew            TwitterPostStatus = "new"
  constant TwitterPostStatusInvalid (line 17) | TwitterPostStatusInvalid        TwitterPostStatus = "invalid"
  constant TwitterPostStatusValid (line 18) | TwitterPostStatusValid          TwitterPostStatus = "valid"
  constant TwitterPostStatusInferNew (line 19) | TwitterPostStatusInferNew       TwitterPostStatus = "infer_new"
  constant TwitterPostStatusInferSubmitted (line 20) | TwitterPostStatusInferSubmitted TwitterPostStatus = "infer_submitted"
  constant TwitterPostStatusInferFailed (line 21) | TwitterPostStatusInferFailed    TwitterPostStatus = "infer_failed"
  constant TwitterPostStatusInferResolved (line 22) | TwitterPostStatusInferResolved  TwitterPostStatus = "infer_resolved"
  constant TwitterPostStatusReplied (line 23) | TwitterPostStatusReplied        TwitterPostStatus = "replied"
  type TwitterPost (line 26) | type TwitterPost struct
  type UserAgentInferDataItem (line 46) | type UserAgentInferDataItem struct
  type TwitterTweet (line 51) | type TwitterTweet struct
  type TwitterUser (line 78) | type TwitterUser struct
  type TwitterFollowing (line 90) | type TwitterFollowing struct
  type TwitterScan (line 103) | type TwitterScan struct
  type TwitterTweetLiked (line 114) | type TwitterTweetLiked struct

FILE: agent-as-a-service/agent-orchestration/backend/models/users.go
  type User (line 8) | type User struct
  type TokenHolder (line 43) | type TokenHolder struct
  type UserTransactionType (line 62) | type UserTransactionType
  type UserTransactionStatus (line 63) | type UserTransactionStatus
  constant UserTransactionTypeDeposit (line 67) | UserTransactionTypeDeposit              UserTransactionType = "deposit"
  constant UserTransactionTypeAgentStoreFee (line 68) | UserTransactionTypeAgentStoreFee        UserTransactionType = "agent_sto...
  constant UserTransactionTypeTriggerFee (line 69) | UserTransactionTypeTriggerFee           UserTransactionType = "trigger_fee"
  constant UserTransactionTypeTriggerRefundFee (line 70) | UserTransactionTypeTriggerRefundFee     UserTransactionType = "trigger_r...
  constant UserTransactionTypeUserAgentInfraFee (line 71) | UserTransactionTypeUserAgentInfraFee    UserTransactionType = "user_agen...
  constant UserTransactionTypeCreatorAgentInfraFee (line 72) | UserTransactionTypeCreatorAgentInfraFee UserTransactionType = "creator_a...
  constant UserTransactionTypeTokenFee (line 73) | UserTransactionTypeTokenFee             UserTransactionType = "token_fee"
  constant UserTransactionStatusDone (line 75) | UserTransactionStatusDone      UserTransactionStatus = "done"
  constant UserTransactionStatusCancelled (line 76) | UserTransactionStatusCancelled UserTransactionStatus = "cancelled"
  type UserTransaction (line 79) | type UserTransaction struct

FILE: agent-as-a-service/agent-orchestration/backend/models/vibe.go
  type VibeWhiteList (line 5) | type VibeWhiteList struct
  type VibeReferralCode (line 10) | type VibeReferralCode struct
  type AgentUserComment (line 17) | type AgentUserComment struct

FILE: agent-as-a-service/agent-orchestration/backend/pkg/drivers/mysql/action.go
  type Action (line 3) | type Action
  constant WriteOrRead (line 6) | WriteOrRead = Action(1)
  constant ReadOnly (line 7) | ReadOnly = Action(2)

FILE: agent-as-a-service/agent-orchestration/backend/pkg/drivers/mysql/base.go
  type IBaseRepository (line 10) | type IBaseRepository interface
  function NewBaseRepository (line 22) | func NewBaseRepository(masterDB *gorm.DB, replicaDB ...*gorm.DB) IBaseRe...
  type baseRepository (line 28) | type baseRepository struct
    method buildCondition (line 33) | func (m *baseRepository) buildCondition(action Action, args ...interfa...
    method setMasterDB (line 71) | func (m *baseRepository) setMasterDB(db *gorm.DB) *baseRepository {
    method setReplicaDb (line 76) | func (m *baseRepository) setReplicaDb(db ...*gorm.DB) *baseRepository {
    method GetDB (line 81) | func (m *baseRepository) GetDB(actions ...Action) *gorm.DB {
    method getReplicaDB (line 97) | func (m *baseRepository) getReplicaDB() *gorm.DB {
    method FindOneHandler (line 107) | func (m *baseRepository) FindOneHandler(ctx context.Context, result in...
    method FindByIDHandler (line 113) | func (m *baseRepository) FindByIDHandler(ctx context.Context, ID int, ...
    method FindsHandler (line 119) | func (m *baseRepository) FindsHandler(ctx context.Context, result inte...

FILE: agent-as-a-service/agent-orchestration/backend/pkg/drivers/mysql/filter.go
  type FilterItem (line 11) | type FilterItem struct
    method makeWhereQuery (line 73) | func (a *FilterItem) makeWhereQuery() string {
    method setCondition (line 82) | func (a FilterItem) setCondition(db *gorm.DB) *gorm.DB {
  type FilterOrderBy (line 22) | type FilterOrderBy struct
  type PreloadItem (line 24) | type PreloadItem struct
    method setCondition (line 107) | func (a PreloadItem) setCondition(db *gorm.DB) *gorm.DB {
  type PreloadArgsFunc (line 34) | type PreloadArgsFunc
  type FilterOperator (line 36) | type FilterOperator
  type Filters (line 38) | type Filters
    method setCondition (line 90) | func (a Filters) setCondition(db *gorm.DB) *gorm.DB {
  type Preloads (line 39) | type Preloads
    method setCondition (line 98) | func (a Preloads) setCondition(db *gorm.DB) *gorm.DB {
  type Limit (line 40) | type Limit
    method SetCondition (line 115) | func (a Limit) SetCondition(db *gorm.DB) *gorm.DB {
    method toInt (line 120) | func (a Limit) toInt() int {
    method IsZero (line 124) | func (a Limit) IsZero() bool {
  type OrderBy (line 41) | type OrderBy
    method SetCondition (line 128) | func (a OrderBy) SetCondition(db *gorm.DB) *gorm.DB {
    method IsZero (line 133) | func (a OrderBy) IsZero() bool {
  constant EqualOperator (line 45) | EqualOperator           = FilterOperator("=")
  constant LikeOperator (line 46) | LikeOperator            = FilterOperator("like")
  constant InOperator (line 47) | InOperator              = FilterOperator("in")
  constant LessThanOperator (line 48) | LessThanOperator        = FilterOperator("<")
  constant GreaterThanOperator (line 49) | GreaterThanOperator     = FilterOperator(">")
  constant NotInOperator (line 50) | NotInOperator           = FilterOperator("not in")
  constant LessThanOrEqualOperator (line 51) | LessThanOrEqualOperator = FilterOperator("<=")
  constant ZeroLimit (line 54) | ZeroLimit   = Limit(-1)
  constant ZeroOrderBy (line 55) | ZeroOrderBy = OrderBy("")
  constant IDFieldName (line 57) | IDFieldName = "id"
  function NewLimit (line 60) | func NewLimit(i interface{}) Limit {
  function GenPreloadItemHandlerFunc (line 137) | func GenPreloadItemHandlerFunc(handler func(db *gorm.DB) *gorm.DB) []int...
  function GenPreloadItemArgs (line 141) | func GenPreloadItemArgs(args ...interface{}) []interface{} {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/drivers/mysql/gorm_connection.go
  function NewDefaultMysqlGormConn (line 19) | func NewDefaultMysqlGormConn(conn *Connection, dbUrl string, debug bool)...
  function gormTraceErrCheck (line 81) | func gormTraceErrCheck(err error) bool {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/drivers/mysql/mysql_config.go
  type Connection (line 6) | type Connection struct
  constant MaxOpenConn (line 25) | MaxOpenConn = 100
  constant MaxIdleConn (line 27) | MaxIdleConn = 10
  function DefaultMysqlConnectionFromConfig (line 31) | func DefaultMysqlConnectionFromConfig() *Connection {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/drivers/mysql/mysql_connection.go
  function CreateMysqlConnection (line 14) | func CreateMysqlConnection(conn *Connection) *AtMysql {
  type AtMysql (line 26) | type AtMysql struct
    method Close (line 79) | func (c *AtMysql) Close() {
    method GetDB (line 90) | func (c *AtMysql) GetDB() *sql.DB {
  function NewConnection (line 31) | func NewConnection(conn *Connection) (*AtMysql, error) {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/encrypt/encrypt.go
  function EncryptToByte (line 15) | func EncryptToByte(value, key []byte) ([]byte, error) {
  function EncryptToString (line 36) | func EncryptToString(value, key string) (string, error) {
  function DecryptToByte (line 52) | func DecryptToByte(ciphertext, key []byte) ([]byte, error) {
  function DecryptToString (line 77) | func DecryptToString(ciphertext, key string) (string, error) {
  function EncryptToByteChaCha20Poly1305 (line 97) | func EncryptToByteChaCha20Poly1305(value, key []byte) ([]byte, error) {
  function EncryptToStringChaCha20Poly1305 (line 113) | func EncryptToStringChaCha20Poly1305(value, key string) (string, error) {
  function DecryptToByteChaCha20Poly1305 (line 129) | func DecryptToByteChaCha20Poly1305(ciphertext, key []byte) ([]byte, erro...
  function DecryptToStringChaCha20Poly1305 (line 149) | func DecryptToStringChaCha20Poly1305(ciphertext, key string) (string, er...

FILE: agent-as-a-service/agent-orchestration/backend/pkg/eth/client.go
  function NewEthClient (line 21) | func NewEthClient(rpc string) (*ethclient.Client, error) {
  function NewEthWsClient (line 30) | func NewEthWsClient(ws string) (*ethclient.Client, error) {
  function WaitForTx (line 39) | func WaitForTx(client *ethclient.Client, tx common.Hash) error {
  function WaitForTxReceipt (line 55) | func WaitForTxReceipt(client *ethclient.Client, tx common.Hash) (*types....
  function WalletAddressFromCompressedPublicKey (line 71) | func WalletAddressFromCompressedPublicKey(publicKeyStr string) (string, ...
  function GetAccountInfo (line 86) | func GetAccountInfo(privKey string) (*ecdsa.PrivateKey, *common.Address,...
  function GenerateKeyFromSeed (line 99) | func GenerateKeyFromSeed(seed string) (string, string, string, error) {
  function GenerateAddress (line 123) | func GenerateAddress() (privKey, pubKey, address string, err error) {
  function GenerateAddressFromPrivKey (line 145) | func GenerateAddressFromPrivKey(privKey string) (pubKey, address string,...
  type Client (line 164) | type Client struct
    method PendingNonceAt (line 174) | func (c *Client) PendingNonceAt(ctx context.Context, address common.Ad...
    method SuggestGasPrice (line 179) | func (c *Client) SuggestGasPrice(ctx context.Context) (*big.Int, error) {
    method NetworkID (line 184) | func (c *Client) NetworkID(ctx context.Context) (*big.Int, error) {
    method SendTransaction (line 189) | func (c *Client) SendTransaction(ctx context.Context, tx *types.Transa...
    method Transfer (line 194) | func (c *Client) Transfer(senderPrivKey, receiverAddress string, amoun...
  function NewClient (line 169) | func NewClient(eth *ethclient.Client) *Client {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/scraper/colly/colly.go
  type scraper (line 15) | type scraper struct
    method setCallback (line 30) | func (s *scraper) setCallback() {
    method ContentHtmlByUrl (line 63) | func (s *scraper) ContentHtmlByUrl(ctx context.Context, url string) (s...
  function NewScraper (line 23) | func NewScraper(ctx context.Context) (ports.IScraper, error) {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/scraper/colly/colly_test.go
  type Suite (line 11) | type Suite struct
    method SetupSuite (line 21) | func (s *Suite) SetupSuite() {
    method TestContentHtmlByUrl (line 30) | func (s *Suite) TestContentHtmlByUrl() {
  function TestRun (line 17) | func TestRun(t *testing.T) {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/secret_manager/secret_manager.go
  function GetGoogleSecretKey (line 10) | func GetGoogleSecretKey(ctx context.Context, name string) (string, error) {

FILE: agent-as-a-service/agent-orchestration/backend/pkg/utils/copier.go
  constant tagMust (line 33) | tagMust uint8 = 1 << iota
  constant tagNoPanic (line 37) | tagNoPanic
  constant tagIgnore (line 40) | tagIgnore
  constant hasCopied (line 43) | hasCopied
  constant String (line 46) | String  st
Copy disabled (too large) Download .json
Condensed preview — 2663 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (30,626K chars).
[
  {
    "path": ".gitignore",
    "chars": 4023,
    "preview": "# Ignore model files\ndecentralized-compute/models/DeepSeek-R1-Distill-Qwen-1.5B-Q8_0/DeepSeek-R1-Distill-Qwen-1.5B-Q8_0."
  },
  {
    "path": "Dockerfile.backend",
    "chars": 422,
    "preview": "FROM golang:1.23-bookworm\n\nENV GIN_MODE=release\n\nWORKDIR /app\nRUN apt-get update && apt-get install -y build-essential g"
  },
  {
    "path": "Dockerfile.de-infer",
    "chars": 607,
    "preview": "FROM golang:1.23.4 as builder\n\nWORKDIR /app\n\nCOPY decentralized-inference/go.mod decentralized-inference/go.sum ./\nRUN g"
  },
  {
    "path": "EternalAI.js/.gitignore",
    "chars": 65,
    "preview": "node_modules/\n**/node_modules/\ndb/*\n/packages/uniswap/db/uniswap\n"
  },
  {
    "path": "EternalAI.js/README.md",
    "chars": 216,
    "preview": "# EternalAI.js is a friendly tool for learning to code and create decentralized AI in JavaScript.\n\n## Development\n- you "
  },
  {
    "path": "EternalAI.js/lerna.json",
    "chars": 109,
    "preview": "{\n  \"$schema\": \"node_modules/lerna/schemas/lerna-schema.json\",\n  \"version\": \"0.0.0\",\n  \"npmClient\": \"yarn\"\n}\n"
  },
  {
    "path": "EternalAI.js/package.json",
    "chars": 394,
    "preview": "{\n  \"name\": \"root\",\n  \"private\": true,\n  \"workspaces\": [\n    \"packages/*\"\n  ],\n  \"dependencies\": {},\n  \"scripts\": {\n    "
  },
  {
    "path": "EternalAI.js/packages/core/.github/workflows/main.yml",
    "chars": 732,
    "preview": "name: CI\non: [push]\njobs:\n  build:\n    name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}\n\n    "
  },
  {
    "path": "EternalAI.js/packages/core/.github/workflows/size.yml",
    "chars": 258,
    "preview": "name: size\non: [pull_request]\njobs:\n  size:\n    runs-on: ubuntu-latest\n    env:\n      CI_JOB_NUMBER: 1\n    steps:\n      "
  },
  {
    "path": "EternalAI.js/packages/core/.gitignore",
    "chars": 34,
    "preview": "*.log\n.DS_Store\nnode_modules\ndist\n"
  },
  {
    "path": "EternalAI.js/packages/core/LICENSE",
    "chars": 1061,
    "preview": "MIT License\n\nCopyright (c) 2025 Peter\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof t"
  },
  {
    "path": "EternalAI.js/packages/core/README.md",
    "chars": 3424,
    "preview": "# TSDX User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get yo"
  },
  {
    "path": "EternalAI.js/packages/core/build.tsconfig.json",
    "chars": 542,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"esnext\",\n    \"module\": \"commonjs\",\n    \"lib\": [\"dom\", \"esnext\"],\n    \"jsx\": \"rea"
  },
  {
    "path": "EternalAI.js/packages/core/package.json",
    "chars": 1308,
    "preview": "{\n  \"name\": \"@eternalai.js/core\",\n  \"version\": \"0.1.0\",\n  \"license\": \"MIT\",\n  \"main\": \"dist/bundle.cjs.js\",\n  \"module\": "
  },
  {
    "path": "EternalAI.js/packages/core/rollup.config.js",
    "chars": 864,
    "preview": "const resolve = require('@rollup/plugin-node-resolve').default;\nconst commonjs = require('@rollup/plugin-commonjs');\ncon"
  },
  {
    "path": "EternalAI.js/packages/core/src/index.ts",
    "chars": 34,
    "preview": "export * as utils from './utils';\n"
  },
  {
    "path": "EternalAI.js/packages/core/src/types.d.ts",
    "chars": 106,
    "preview": "declare global {\n  namespace InjectedTypes {\n    type ethers = typeof import('ethers');\n  }\n}\n\nexport {};\n"
  },
  {
    "path": "EternalAI.js/packages/core/src/utils/index.ts",
    "chars": 38,
    "preview": "export * as injects from './injects';\n"
  },
  {
    "path": "EternalAI.js/packages/core/src/utils/injects/ethers.ts",
    "chars": 500,
    "preview": "// Ensure globalThis is defined\nif (typeof globalThis === 'undefined') {\n  (globalThis as any) = global;\n}\n\nconst inject"
  },
  {
    "path": "EternalAI.js/packages/core/src/utils/injects/index.ts",
    "chars": 26,
    "preview": "export * from './ethers';\n"
  },
  {
    "path": "EternalAI.js/packages/core/tsconfig.json",
    "chars": 542,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"esnext\",\n    \"module\": \"commonjs\",\n    \"lib\": [\"dom\", \"esnext\"],\n    \"jsx\": \"rea"
  },
  {
    "path": "EternalAI.js/packages/interact/.github/workflows/main.yml",
    "chars": 732,
    "preview": "name: CI\non: [push]\njobs:\n  build:\n    name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}\n\n    "
  },
  {
    "path": "EternalAI.js/packages/interact/.github/workflows/size.yml",
    "chars": 258,
    "preview": "name: size\non: [pull_request]\njobs:\n  size:\n    runs-on: ubuntu-latest\n    env:\n      CI_JOB_NUMBER: 1\n    steps:\n      "
  },
  {
    "path": "EternalAI.js/packages/interact/.gitignore",
    "chars": 34,
    "preview": "*.log\n.DS_Store\nnode_modules\ndist\n"
  },
  {
    "path": "EternalAI.js/packages/interact/LICENSE",
    "chars": 1061,
    "preview": "MIT License\n\nCopyright (c) 2025 Peter\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof t"
  },
  {
    "path": "EternalAI.js/packages/interact/README.md",
    "chars": 3424,
    "preview": "# TSDX User Guide\n\nCongrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get yo"
  },
  {
    "path": "EternalAI.js/packages/interact/build.tsconfig.json",
    "chars": 575,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"esnext\",\n    \"module\": \"esnext\",\n    \"lib\": [\"dom\", \"esnext\"],\n    \"jsx\": \"react"
  },
  {
    "path": "EternalAI.js/packages/interact/package.json",
    "chars": 1595,
    "preview": "{\n  \"name\": \"@eternalai.js/interact\",\n  \"version\": \"0.1.0\",\n  \"license\": \"MIT\",\n  \"main\": \"dist/bundle.cjs.js\",\n  \"modul"
  },
  {
    "path": "EternalAI.js/packages/interact/rollup.config.js",
    "chars": 1188,
    "preview": "const resolve = require('@rollup/plugin-node-resolve').default;\nconst commonjs = require('@rollup/plugin-commonjs');\ncon"
  },
  {
    "path": "EternalAI.js/packages/interact/scripts/main.ts",
    "chars": 2542,
    "preview": "import { ethers } from 'ethers';\nimport { default as Interact } from '../src/interact';\nimport { default as InteractWith"
  },
  {
    "path": "EternalAI.js/packages/interact/src/baseInteract.ts",
    "chars": 1700,
    "preview": "import { CHAIN_MAPPING, ChainId } from './constants';\nimport { InferPayloadWithMessages, InferPayloadWithPrompt } from '"
  },
  {
    "path": "EternalAI.js/packages/interact/src/constants.ts",
    "chars": 191,
    "preview": "export enum ChainId {\n  BASE = 8453,\n  BSC = 56,\n}\n\nexport const CHAIN_MAPPING: Record<ChainId, string> = {\n  56: 'https"
  },
  {
    "path": "EternalAI.js/packages/interact/src/global.d.ts",
    "chars": 106,
    "preview": "declare global {\n  namespace InjectedTypes {\n    type ethers = typeof import('ethers');\n  }\n}\n\nexport {};\n"
  },
  {
    "path": "EternalAI.js/packages/interact/src/index.ts",
    "chars": 228,
    "preview": "export { default as Interact } from './interact';\nexport { default as InteractWithExternalWallet } from './interactWithE"
  },
  {
    "path": "EternalAI.js/packages/interact/src/inject.ts",
    "chars": 500,
    "preview": "// Ensure globalThis is defined\nif (typeof globalThis === 'undefined') {\n  (globalThis as any) = global;\n}\n\nconst inject"
  },
  {
    "path": "EternalAI.js/packages/interact/src/interact.ts",
    "chars": 3056,
    "preview": "import * as ethers from 'ethers';\nimport { InferPayloadWithMessages, InferPayloadWithPrompt } from './types';\nimport * a"
  },
  {
    "path": "EternalAI.js/packages/interact/src/interactWithExternalWallet.ts",
    "chars": 3193,
    "preview": "import {\n  ExternalWallet,\n  InferPayloadWithMessages,\n  InferPayloadWithPrompt,\n} from './types';\nimport * as methods f"
  },
  {
    "path": "EternalAI.js/packages/interact/src/methods/index.ts",
    "chars": 44,
    "preview": "export { default as Infer } from './infer';\n"
  },
  {
    "path": "EternalAI.js/packages/interact/src/methods/infer/constants.ts",
    "chars": 70607,
    "preview": "import * as ethers from 'ethers';\n\nexport const AGENT_ABI: ethers.ContractInterface = [\n  {\n    inputs: [\n      {\n      "
  },
  {
    "path": "EternalAI.js/packages/interact/src/methods/infer/index.ts",
    "chars": 11787,
    "preview": "import * as ethers from 'ethers';\n\nimport { InteractWallet } from '../types';\nimport { Message, SendInferResponse } from"
  },
  {
    "path": "EternalAI.js/packages/interact/src/methods/infer/types.ts",
    "chars": 181,
    "preview": "export type Message = {\n  role: 'system' | 'user' | 'assistant';\n  content: string;\n};\n\nexport type SendInferResponse = "
  },
  {
    "path": "EternalAI.js/packages/interact/src/methods/types.ts",
    "chars": 291,
    "preview": "import * as ethers from 'ethers';\n\nexport interface InteractWallet {\n  provider: ethers.providers.Provider;\n  getAddress"
  },
  {
    "path": "EternalAI.js/packages/interact/src/services/light_house.ts",
    "chars": 753,
    "preview": "const LightHouse = {\n  upload: async (content: string) => {\n    console.log('LightHouse - Upload content to light house'"
  },
  {
    "path": "EternalAI.js/packages/interact/src/types.ts",
    "chars": 668,
    "preview": "import * as ethers from 'ethers';\nimport { ChainId } from './constants';\nimport { Message } from './methods/infer/types'"
  },
  {
    "path": "EternalAI.js/packages/interact/src/utils/time.ts",
    "chars": 119,
    "preview": "export const sleep = async (ms: number) => {\n  return new Promise((resolve) => {\n    setTimeout(resolve, ms);\n  });\n};\n"
  },
  {
    "path": "EternalAI.js/packages/interact/test/blah.test.ts",
    "chars": 122,
    "preview": "import { sum } from '../src';\n\ndescribe('blah', () => {\n  it('works', () => {\n    expect(sum(1, 1)).toEqual(2);\n  });\n})"
  },
  {
    "path": "EternalAI.js/packages/interact/tsconfig.json",
    "chars": 559,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"esnext\",\n    \"module\": \"commonjs\",\n    \"lib\": [\"dom\", \"esnext\"],\n    \"jsx\": \"rea"
  },
  {
    "path": "EternalAI.js/packages/langchain/.eslintrc.cjs",
    "chars": 1984,
    "preview": "module.exports = {\n  extends: [\n    \"airbnb-base\",\n    \"eslint:recommended\",\n    \"prettier\",\n    \"plugin:@typescript-esl"
  },
  {
    "path": "EternalAI.js/packages/langchain/.gitignore",
    "chars": 24,
    "preview": "node_modules\ndist\n.yarn\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/.prettierrc",
    "chars": 464,
    "preview": "{\n  \"$schema\": \"https://json.schemastore.org/prettierrc\",\n  \"printWidth\": 80,\n  \"tabWidth\": 2,\n  \"useTabs\": false,\n  \"se"
  },
  {
    "path": "EternalAI.js/packages/langchain/.release-it.json",
    "chars": 173,
    "preview": "{\n  \"github\": {\n    \"release\": true,\n    \"autoGenerate\": true,\n    \"tokenRef\": \"GITHUB_TOKEN_RELEASE\"\n  },\n  \"npm\": {\n  "
  },
  {
    "path": "EternalAI.js/packages/langchain/LICENSE",
    "chars": 1069,
    "preview": "The MIT License\n\nCopyright (c) 2023 LangChain\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
  },
  {
    "path": "EternalAI.js/packages/langchain/README.md",
    "chars": 2475,
    "preview": "# @langchain/eternalai\n\nThis package contains the LangChain.js integrations for eternalai through their SDK.\n\n## Install"
  },
  {
    "path": "EternalAI.js/packages/langchain/jest.config.cjs",
    "chars": 560,
    "preview": "/** @type {import('ts-jest').JestConfigWithTsJest} */\nmodule.exports = {\n  preset: \"ts-jest/presets/default-esm\",\n  test"
  },
  {
    "path": "EternalAI.js/packages/langchain/jest.env.cjs",
    "chars": 490,
    "preview": "const { TestEnvironment } = require(\"jest-environment-node\");\n\nclass AdjustedTestEnvironmentToSupportFloat32Array extend"
  },
  {
    "path": "EternalAI.js/packages/langchain/langchain.config.js",
    "chars": 511,
    "preview": "import { resolve, dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\n/**\n * @param {string} relative"
  },
  {
    "path": "EternalAI.js/packages/langchain/package.json",
    "chars": 2923,
    "preview": "{\n  \"name\": \"eternalai\",\n  \"version\": \"0.0.0\",\n  \"description\": \"Eternalai integration for LangChain.js\",\n  \"type\": \"mod"
  },
  {
    "path": "EternalAI.js/packages/langchain/scripts/jest-setup-after-env.js",
    "chars": 276,
    "preview": "import { awaitAllCallbacks } from \"@langchain/core/callbacks/promises\";\nimport { afterAll, jest } from \"@jest/globals\";\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/chat_models.ts",
    "chars": 3431,
    "preview": "import { type BaseMessage } from \"@langchain/core/messages\";\nimport { type BaseLanguageModelCallOptions } from \"@langcha"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/index.ts",
    "chars": 96,
    "preview": "export * from \"./chat_models.js\";\nexport * from \"./llms.js\";\nexport * from \"./vectorstores.js\";\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/llms.ts",
    "chars": 2206,
    "preview": "import { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { LLM, type BaseLLMParams } from \"@"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/tests/chat_models.test.ts",
    "chars": 101,
    "preview": "import { test } from \"@jest/globals\";\n\ntest(\"Test chat model\", async () => {\n  // Your test here\n});\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/tests/integration.int.test.ts",
    "chars": 113,
    "preview": "import { test } from \"@jest/globals\";\n\ntest(\"Test chat model\", async () => {\n  // Your integration test here\n});\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/tests/llms.test.ts",
    "chars": 94,
    "preview": "import { test } from \"@jest/globals\";\n\ntest(\"Test LLM\", async () => {\n  // Your test here\n});\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/tests/vectorstores.test.ts",
    "chars": 102,
    "preview": "import { test } from \"@jest/globals\";\n\ntest(\"Test vectorstore\", async () => {\n  // Your test here\n});\n"
  },
  {
    "path": "EternalAI.js/packages/langchain/src/vectorstores.ts",
    "chars": 2674,
    "preview": "import type { EmbeddingsInterface } from \"@langchain/core/embeddings\";\nimport { VectorStore } from \"@langchain/core/vect"
  },
  {
    "path": "EternalAI.js/packages/langchain/tsconfig.cjs.json",
    "chars": 173,
    "preview": "{\n  \"extends\": \"./tsconfig.json\",\n  \"compilerOptions\": {\n    \"module\": \"commonjs\",\n    \"declaration\": false\n  },\n  \"excl"
  },
  {
    "path": "EternalAI.js/packages/langchain/tsconfig.json",
    "chars": 628,
    "preview": "{\n  \"extends\": \"@tsconfig/recommended\",\n  \"compilerOptions\": {\n    \"outDir\": \"../dist\",\n    \"rootDir\": \"./src\",\n    \"tar"
  },
  {
    "path": "EternalAI.js/packages/langchain/turbo.json",
    "chars": 168,
    "preview": "{\n  \"extends\": [\"//\"],\n  \"pipeline\": {\n    \"build\": {\n      \"outputs\": [\"**/dist/**\"]\n    },\n    \"build:internal\": {\n   "
  },
  {
    "path": "EternalAI.js/packages/ui/.gitignore",
    "chars": 253,
    "preview": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndis"
  },
  {
    "path": "EternalAI.js/packages/ui/README.md",
    "chars": 1607,
    "preview": "# React + TypeScript + Vite\n\nThis template provides a minimal setup to get React working in Vite with HMR and some ESLin"
  },
  {
    "path": "EternalAI.js/packages/ui/eslint.config.js",
    "chars": 734,
    "preview": "import js from '@eslint/js'\nimport globals from 'globals'\nimport reactHooks from 'eslint-plugin-react-hooks'\nimport reac"
  },
  {
    "path": "EternalAI.js/packages/ui/index.html",
    "chars": 730,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" type=\"image/svg+xml\" href=\"/"
  },
  {
    "path": "EternalAI.js/packages/ui/package.json",
    "chars": 833,
    "preview": "{\n  \"name\": \"@eternalai.js/ui\",\n  \"private\": true,\n  \"version\": \"0.1.0\",\n  \"type\": \"module\",\n  \"scripts\": {\n    \"start\":"
  },
  {
    "path": "EternalAI.js/packages/ui/public/bundle.iife.js",
    "chars": 44446,
    "preview": "var Interact=function(e,t){\"use strict\";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Ob"
  },
  {
    "path": "EternalAI.js/packages/ui/src/App.css",
    "chars": 606,
    "preview": "#root {\n  max-width: 1280px;\n  margin: 0 auto;\n  padding: 2rem;\n  text-align: center;\n}\n\n.logo {\n  height: 6em;\n  paddin"
  },
  {
    "path": "EternalAI.js/packages/ui/src/App.tsx",
    "chars": 443,
    "preview": "import { Routes, Route } from \"react-router\";\nimport PackageCore from \"./pages/package-core\";\nimport Home from \"./pages/"
  },
  {
    "path": "EternalAI.js/packages/ui/src/index.css",
    "chars": 1161,
    "preview": ":root {\n  font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;\n  line-height: 1.5;\n  font-weight: 400;\n\n"
  },
  {
    "path": "EternalAI.js/packages/ui/src/main.tsx",
    "chars": 323,
    "preview": "import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport \"./index.css\";\nimport App from"
  },
  {
    "path": "EternalAI.js/packages/ui/src/pages/home/Styles.css",
    "chars": 606,
    "preview": "#root {\n  max-width: 1280px;\n  margin: 0 auto;\n  padding: 2rem;\n  text-align: center;\n}\n\n.logo {\n  height: 6em;\n  paddin"
  },
  {
    "path": "EternalAI.js/packages/ui/src/pages/home/index.tsx",
    "chars": 406,
    "preview": "import \"./Styles.css\";\n\nfunction Home() {\n  return (\n    <>\n      <h1>Vite + React</h1>\n      <ul>\n        <li>\n        "
  },
  {
    "path": "EternalAI.js/packages/ui/src/pages/package-core/Styles.css",
    "chars": 606,
    "preview": "#root {\n  max-width: 1280px;\n  margin: 0 auto;\n  padding: 2rem;\n  text-align: center;\n}\n\n.logo {\n  height: 6em;\n  paddin"
  },
  {
    "path": "EternalAI.js/packages/ui/src/pages/package-core/index.tsx",
    "chars": 786,
    "preview": "import { useState } from \"react\";\nimport { sum } from \"@eternalai.js/core\";\nimport \"./Styles.css\";\n\nfunction PackageCore"
  },
  {
    "path": "EternalAI.js/packages/ui/src/pages/package-interact/Styles.css",
    "chars": 606,
    "preview": "#root {\n  max-width: 1280px;\n  margin: 0 auto;\n  padding: 2rem;\n  text-align: center;\n}\n\n.logo {\n  height: 6em;\n  paddin"
  },
  {
    "path": "EternalAI.js/packages/ui/src/pages/package-interact/index.tsx",
    "chars": 2332,
    "preview": "import { ChainId, Interact } from \"@eternalai.js/interact\";\nimport \"./Styles.css\";\nimport { ethers } from \"ethers\";\nimpo"
  },
  {
    "path": "EternalAI.js/packages/ui/src/vite-env.d.ts",
    "chars": 38,
    "preview": "/// <reference types=\"vite/client\" />\n"
  },
  {
    "path": "EternalAI.js/packages/ui/tsconfig.app.json",
    "chars": 665,
    "preview": "{\n  \"compilerOptions\": {\n    \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.app.tsbuildinfo\",\n    \"target\": \"ES2020\",\n"
  },
  {
    "path": "EternalAI.js/packages/ui/tsconfig.json",
    "chars": 119,
    "preview": "{\n  \"files\": [],\n  \"references\": [\n    { \"path\": \"./tsconfig.app.json\" },\n    { \"path\": \"./tsconfig.node.json\" }\n  ]\n}\n"
  },
  {
    "path": "EternalAI.js/packages/ui/tsconfig.node.json",
    "chars": 593,
    "preview": "{\n  \"compilerOptions\": {\n    \"tsBuildInfoFile\": \"./node_modules/.tmp/tsconfig.node.tsbuildinfo\",\n    \"target\": \"ES2022\","
  },
  {
    "path": "EternalAI.js/packages/ui/vite.config.ts",
    "chars": 161,
    "preview": "import { defineConfig } from 'vite'\nimport react from '@vitejs/plugin-react'\n\n// https://vite.dev/config/\nexport default"
  },
  {
    "path": "LICENSE",
    "chars": 1061,
    "preview": "MIT License\n\nCopyright (c) 2025 3700\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof th"
  },
  {
    "path": "Makefile",
    "chars": 392,
    "preview": "build_decentralize_server_osx:\n\tcd decentralized-inference && docker run --rm -v \"$$(pwd)\":/app -w /app golang:1.23 sh -"
  },
  {
    "path": "README.md",
    "chars": 5089,
    "preview": "# Eternal AI: A Peer-to-Peer Autonomous Agent System\n\nEternal AI is an open source AI protocol for fully onchain agents."
  },
  {
    "path": "agent-as-a-service/.eslint.config.js",
    "chars": 1663,
    "preview": "import globals from \"globals\";\nimport js from \"@eslint/js\";\nimport ts from \"@typescript-eslint/eslint-plugin\";\nimport ts"
  },
  {
    "path": "agent-as-a-service/.gitignore",
    "chars": 115,
    "preview": "# Ignore node_modules in the root and all subdirectories\nnode_modules/\n**/node_modules/\n\n.idea/\n\n.env\n\n/dagent/db/\n"
  },
  {
    "path": "agent-as-a-service/.npmrc",
    "chars": 21,
    "preview": "legacy-peer-deps=true"
  },
  {
    "path": "agent-as-a-service/.yarnrc.yml",
    "chars": 26,
    "preview": "nodeLinker: \"node-modules\""
  },
  {
    "path": "agent-as-a-service/README.md",
    "chars": 1533,
    "preview": "# Agent as a Service\n\n<span style=\"display: flex\">\n    <img src=\"https://s2.coinmarketcap.com/static/img/coins/64x64/314"
  },
  {
    "path": "agent-as-a-service/agent-deep-researcher/Dockerfile",
    "chars": 699,
    "preview": "# Use the official Python 3.10 image\nFROM python:3.10\n\n# Set the working directory in the container\nWORKDIR /app\n\n# Copy"
  },
  {
    "path": "agent-as-a-service/agent-deep-researcher/Pipfile",
    "chars": 273,
    "preview": "[[source]]\nurl = \"https://pypi.org/simple\"\nverify_ssl = true\nname = \"pypi\"\n\n[packages]\nflask-restful = \"==0.3.10\"\nnest-a"
  },
  {
    "path": "agent-as-a-service/agent-deep-researcher/src/deep_research.py",
    "chars": 16867,
    "preview": "import nest_asyncio\nnest_asyncio.apply()\n\nimport asyncio\nimport aiohttp\nimport json\nimport os\n\n# ======================="
  },
  {
    "path": "agent-as-a-service/agent-deep-researcher/src/main.py",
    "chars": 826,
    "preview": "from flask import Flask, jsonify, request\nfrom flask_restful import Resource, Api\nfrom multiprocessing import Process\nfr"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/.gitignore",
    "chars": 234,
    "preview": "node_modules\n\nnode_modules\n.env\ncoverage\ncoverage.json\ntypechain\ntypechain-types\n\n# Hardhat files\ncache\nartifacts\n\nartif"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/README.md",
    "chars": 17,
    "preview": "# Truly Open AI \n"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/base/BaseMulticall.sol",
    "chars": 902,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title BaseMulticall\n/// @notice Enables calli"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/base/BaseUpgradeable.sol",
    "chars": 632,
    "preview": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.0;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/co"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/base/BlockContext.sol",
    "chars": 595,
    "preview": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.0;\n\nabstract contract BlockContext {\n    function _blo"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/NoDelegateCall.sol",
    "chars": 1010,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/In"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/UniswapV3Factory.sol",
    "chars": 4993,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport {AddressUpgradeable} from \"@openzeppelin/contracts-"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/UniswapV3Pool.sol",
    "chars": 38098,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/UniswapV3PoolDeployer.sol",
    "chars": 1619,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport \"./interfaces/IUniswapV3PoolDeployer.sol\";\nimport \""
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/UniswapV3PoolProxy.sol",
    "chars": 809,
    "preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {Proxy} from \"@openzeppelin/contracts/proxy/Proxy.sol\";\n"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/IERC20Minimal.sol",
    "chars": 3073,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Minimal ERC20 interface for Uniswap\n///"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/IUniswapV3Factory.sol",
    "chars": 4160,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title The interface for the Uniswap V3 Factor"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/IUniswapV3Pool.sol",
    "chars": 837,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"./pool/IUniswapV3PoolImmutables.sol\";\nimpo"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/IUniswapV3PoolDeployer.sol",
    "chars": 1299,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title An interface for a contract that is cap"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/callback/IUniswapV3FlashCallback.sol",
    "chars": 981,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Callback for IUniswapV3PoolActions#flas"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/callback/IUniswapV3MintCallback.sol",
    "chars": 979,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Callback for IUniswapV3PoolActions#mint"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/callback/IUniswapV3SwapCallback.sol",
    "chars": 1292,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Callback for IUniswapV3PoolActions#swap"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/pool/IUniswapV3PoolActions.sol",
    "chars": 6303,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Permissionless pool actions\n/// @notice"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/pool/IUniswapV3PoolDerivedState.sol",
    "chars": 2601,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Pool state that is not stored\n/// @noti"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/pool/IUniswapV3PoolEvents.sol",
    "chars": 5963,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Events emitted by a pool\n/// @notice Co"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/pool/IUniswapV3PoolImmutables.sol",
    "chars": 1810,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Pool state that never changes\n/// @noti"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/pool/IUniswapV3PoolOwnerActions.sol",
    "chars": 1205,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Permissioned pool actions\n/// @notice C"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/interfaces/pool/IUniswapV3PoolState.sol",
    "chars": 6509,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Pool state that can change\n/// @notice "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/BitMath.sol",
    "chars": 3113,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title BitMath\n/// @dev This library provides "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/FixedPoint128.sol",
    "chars": 310,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title FixedPoint128\n/// @notice A library for"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/FixedPoint96.sol",
    "chars": 379,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title FixedPoint96\n/// @notice A library for "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/FullMath.sol",
    "chars": 5514,
    "preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n/// @title Contains 512-bit math functions\n/// @notice Facilita"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/LiquidityMath.sol",
    "chars": 621,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Math library for liquidity\nlibrary Liqu"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/LowGasSafeMath.sol",
    "chars": 1695,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Optimized overflow and underflow safe m"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/Oracle.sol",
    "chars": 18320,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\n/// @title Oracle\n/// @notice Provides price and liquidity"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/Position.sol",
    "chars": 3857,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport {FullMath} from \"./FullMath.sol\";\nimport {FixedPoin"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/SafeCast.sol",
    "chars": 1047,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Safe casting methods\n/// @notice Contai"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/SqrtPriceMath.sol",
    "chars": 10773,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport './LowGasSafeMath.sol';\nimport './SafeCast.sol';\n\ni"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/SwapMath.sol",
    "chars": 4632,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport './FullMath.sol';\nimport './SqrtPriceMath.sol';\n\n//"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/Tick.sol",
    "chars": 10382,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport {SafeCast} from \"./SafeCast.sol\";\n\nimport {TickMath"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/TickBitmap.sol",
    "chars": 4624,
    "preview": "// SPDX-License-Identifier: BUSL-1.1\npragma solidity ^0.8.0;\n\nimport {BitMath} from \"./BitMath.sol\";\n\n/// @title Packed "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/TickMath.sol",
    "chars": 9994,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Math library for computing sqrt prices "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/TransferHelper.sol",
    "chars": 967,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport {IERC20Minimal} from \"../interfaces/IERC20M"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/libraries/UnsafeMath.sol",
    "chars": 659,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Math functions that do not check inputs"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/core/test/TestUniswapV3Callee.sol",
    "chars": 5666,
    "preview": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.0;\n\nimport \"../interfaces/IERC20Minimal.sol\";\n\nimport \"../li"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/interfaces/IWETH.sol",
    "chars": 374,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '@openzeppelin/contracts/token/ERC20/IERC20"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/NonfungiblePositionManager.sol",
    "chars": 10765,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../core/interfaces/IUniswapV3Pool.sol\";\nim"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/NonfungibleTokenPositionDescriptor.sol",
    "chars": 4465,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/co"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/SwapRouter.sol",
    "chars": 9718,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../core/libraries/SafeCast.sol\";\nimport \"."
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/BlockTimestamp.sol",
    "chars": 428,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Function for getting block timestamp\n//"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/ERC721Permit.sol",
    "chars": 3540,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts-upgradeable/token/"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/LiquidityManagement.sol",
    "chars": 1744,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../../core/interfaces/IUniswapV3Factory.so"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/Multicall.sol",
    "chars": 944,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '../interfaces/IMulticall.sol';\n\n/// @title"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/PeripheryImmutableState.sol",
    "chars": 878,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/co"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/PeripheryPayments.sol",
    "chars": 2474,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/PeripheryPaymentsWithFee.sol",
    "chars": 2050,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/PeripheryValidation.sol",
    "chars": 297,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport './BlockTimestamp.sol';\n\nabstract contract "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/PoolInitializer.sol",
    "chars": 1150,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '../../core/interfaces/IUniswapV3Factory.so"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/base/SelfPermit.sol",
    "chars": 2024,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '@openzeppelin/contracts/token/ERC20/IERC20"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IERC20Metadata.sol",
    "chars": 608,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '@openzeppelin/contracts/token/ERC20/IERC20"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IERC721Permit.sol",
    "chars": 1447,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/IERC7"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IMulticall.sol",
    "chars": 704,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\n/// @title Multicall interface"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/INonfungiblePositionManager.sol",
    "chars": 8906,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts-upgradeable/token/"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/INonfungibleTokenPositionDescriptor.sol",
    "chars": 779,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport './INonfungiblePositionManager.sol';\n\n/// @"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IPeripheryImmutableState.sol",
    "chars": 416,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Immutable state\n/// @notice Functions t"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IPeripheryPayments.sol",
    "chars": 1437,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Periphery Payments\n/// @notice Function"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IPeripheryPaymentsWithFee.sol",
    "chars": 1176,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport './IPeripheryPayments.sol';\n\n/// @title Per"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IPoolInitializer.sol",
    "chars": 1161,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\n/// @title Creates and initial"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IQuoter.sol",
    "chars": 2790,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\n/// @title Quoter Interface\n//"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IQuoterV2.sol",
    "chars": 4957,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\n/// @title QuoterV2 Interface\n"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/ISelfPermit.sol",
    "chars": 3881,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Self Permit\n/// @notice Functionality t"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/ISwapRouter.sol",
    "chars": 2703,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\nimport '../../core/interfaces/"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/ITickLens.sol",
    "chars": 1086,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\n/// @title Tick Lens\n/// @noti"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/IV3Migrator.sol",
    "chars": 1568,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\nimport './IMulticall.sol';\nimp"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/external/IERC1271.sol",
    "chars": 856,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Interface for verifying contract-based "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/interfaces/external/IERC20PermitAllowed.sol",
    "chars": 1202,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Interface for permit\n/// @notice Interf"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/lens/Quoter.sol",
    "chars": 7364,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../../core/libraries/SafeCast.sol\";\nimport"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/lens/QuoterV2.sol",
    "chars": 11378,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../../core/libraries/SafeCast.sol\";\nimport"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/lens/TickLens.sol",
    "chars": 1817,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\nimport \"../../core/interfaces/"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/lens/UniswapInterfaceMulticall.sol",
    "chars": 1605,
    "preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport {OwnableUpgradeable} from \"@openzeppelin/contracts-upgra"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/AddressStringUtil.sol",
    "chars": 1532,
    "preview": "// SPDX-License-Identifier: GPL-3.0-or-later\n// from https://github.com/Uniswap/solidity-lib/blob/master/contracts/libra"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/BytesLib.sol",
    "chars": 4192,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\n/*\n * @title Solidity Bytes Arrays Utils\n * @author Gonçalo Sá <goncalo.sa@"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/CallbackValidation.sol",
    "chars": 1455,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '../../core/interfaces/IUniswapV3Pool.sol';"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/ChainId.sol",
    "chars": 356,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\n/// @title Function for getting the current chain "
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/HexStrings.sol",
    "chars": 1211,
    "preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nlibrary HexStrings {\n    bytes16 internal constant ALPHABET = '"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/LiquidityAmounts.sol",
    "chars": 6782,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '../../core/libraries/FullMath.sol';\nimport"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/NFTDescriptor.sol",
    "chars": 21014,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\npragma abicoder v2;\n\nimport \"../../core/interfaces/"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/NFTSVG.sol",
    "chars": 19914,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity >=0.7.6;\npragma abicoder v2;\n\nimport '@openzeppelin/contrac"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/OracleLibrary.sol",
    "chars": 10005,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity >=0.5.0 <0.9.0;\n\nimport \"../../core/libraries/FullMath.sol\""
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/Path.sol",
    "chars": 2786,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport './BytesLib.sol';\n\n/// @title Functions for"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/PoolAddress.sol",
    "chars": 1540,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../../core/interfaces/IUniswapV3Factory.so"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/PoolTicksCounter.sol",
    "chars": 4219,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../../core/interfaces/IUniswapV3Pool.sol\";"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/PositionKey.sol",
    "chars": 372,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nlibrary PositionKey {\n    /// @dev Returns the key"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/PositionValue.sol",
    "chars": 7939,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity >=0.6.8 <0.9.0;\n\nimport \"../../core/interfaces/IUniswapV3Po"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/SafeERC20Namer.sol",
    "chars": 4027,
    "preview": "// SPDX-License-Identifier: GPL-3.0-or-later\n// from https://github.com/Uniswap/solidity-lib/blob/master/contracts/libra"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/SqrtPriceMathPartial.sol",
    "chars": 2765,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport '../../core/libraries/FullMath.sol';\nimport"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/TokenRatioSortOrder.sol",
    "chars": 341,
    "preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nlibrary TokenRatioSortOrder {\n    int256 constant NUMERATOR_MOS"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/TransferHelper.sol",
    "chars": 3021,
    "preview": "// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/periphery/libraries/UniswapV3Broker.sol",
    "chars": 12414,
    "preview": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.0;\n\nimport \"../../core/interfaces/IUniswapV3Pool.sol\";"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/contracts/token/AGENTToken.sol",
    "chars": 1158,
    "preview": "// SPDX-License-Identifier: GPL-3.0-or-later\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20."
  },
  {
    "path": "agent-as-a-service/agent-launchpad/deploy/apechain/deployed.json",
    "chars": 784,
    "preview": "{\n    \"proxyAdmin\": {\n        \"address\": \"\"\n    },\n    \"uniswapV3Factory\": {\n        \"address\": \"\",\n        \"implAddress"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/deploy/arbitrum/deployed.json",
    "chars": 784,
    "preview": "{\n    \"proxyAdmin\": {\n        \"address\": \"\"\n    },\n    \"uniswapV3Factory\": {\n        \"address\": \"\",\n        \"implAddress"
  },
  {
    "path": "agent-as-a-service/agent-launchpad/deploy/base/deployed.json",
    "chars": 784,
    "preview": "{\n    \"proxyAdmin\": {\n        \"address\": \"\"\n    },\n    \"uniswapV3Factory\": {\n        \"address\": \"\",\n        \"implAddress"
  }
]

// ... and 2463 more files (download for full content)

About this extraction

This page contains the full source code of the eternalai-org/eternal-ai GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2663 files (70.1 MB), approximately 7.3M tokens, and a symbol index with 29177 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!