You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* add utils for validating hashes
* ruff formatting
* ensure chain_id is consistent
* simplify tool calling
* add web3 for address validation
* ruff format
* add Literal for known inputs
* allow response_format to be added to Nebula tools
* filter event and transaction outputs
* allow chain_id to be None
* default to ethereum with insight
* update versions
"The type of backend wallet to create. Currently supported options are 'local' (stored locally in Engine's database) or 'smart:local' (for smart account wallets with advanced features). Choose 'local' for standard EOA wallets, and 'smart:local' for smart contract wallets with batching capabilities.",
39
39
],
40
40
label: Annotated[
@@ -76,7 +76,7 @@ def get_all_backend_wallet(
76
76
defget_wallet_balance(
77
77
self,
78
78
chain_id: Annotated[
79
-
str|int,
79
+
int|None,
80
80
"The numeric blockchain network ID to query (e.g., '1' for Ethereum mainnet, '137' for Polygon). If not provided, uses the default chain ID configured in the Engine instance.",
81
81
],
82
82
backend_wallet_address: Annotated[
@@ -85,9 +85,13 @@ def get_wallet_balance(
85
85
] =None,
86
86
) ->dict[str, Any]:
87
87
"""Get wallet balance for native or ERC20 tokens."""
description="Send an on-chain transaction. This powerful function can transfer native currency (ETH, MATIC), ERC20 tokens, or execute any arbitrary contract interaction. The transaction is signed and broadcast to the blockchain automatically."
@@ -107,7 +111,7 @@ def send_transaction(
107
111
"The hexadecimal transaction data payload for contract interactions (e.g., '0x23b872dd...'). For simple native currency transfers, leave this empty. For ERC20 transfers or contract calls, this contains the ABI-encoded function call.",
108
112
],
109
113
chain_id: Annotated[
110
-
str|int,
114
+
int|None,
111
115
"The numeric blockchain network ID to send the transaction on (e.g., '1' for Ethereum mainnet, '137' for Polygon). If not provided, uses the default chain ID configured in the Engine instance.",
"An ordered list of arguments to pass to the function (e.g., [address, tokenId]). Must match the types and order expected by the function. For functions with no parameters, use an empty list or None.",
166
174
],
167
175
chain_id: Annotated[
168
-
str|int,
176
+
int|None,
169
177
"The numeric blockchain network ID where the contract is deployed (e.g., '1' for Ethereum mainnet, '137' for Polygon). If not provided, uses the default chain ID configured in the Engine instance.",
description="Execute a state-changing function on a smart contract by sending a transaction. This allows you to modify on-chain data, such as transferring tokens, minting NFTs, or updating contract configuration. The transaction is automatically signed by your backend wallet and submitted to the blockchain."
@@ -199,7 +211,7 @@ def write_contract(
199
211
"The amount of native currency (ETH, MATIC, etc.) to send with the transaction, in wei (e.g., '1000000000000000000' for 1 ETH). Required for payable functions, use '0' for non-payable functions. Default to '0'.",
200
212
],
201
213
chain_id: Annotated[
202
-
str|int,
214
+
int|None,
203
215
"The numeric blockchain network ID where the contract is deployed (e.g., '1' for Ethereum mainnet, '137' for Polygon). If not provided, uses the default chain ID configured in the Engine instance.",
0 commit comments