@coinbase/agentkit 0.0.0-nightly-20250328174338

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/README.md +827 -0
  2. package/dist/action-providers/across/acrossActionProvider.d.ts +50 -0
  3. package/dist/action-providers/across/acrossActionProvider.js +333 -0
  4. package/dist/action-providers/across/acrossActionProvider.test.d.ts +1 -0
  5. package/dist/action-providers/across/acrossActionProvider.test.js +391 -0
  6. package/dist/action-providers/across/constants.d.ts +1 -0
  7. package/dist/action-providers/across/constants.js +2 -0
  8. package/dist/action-providers/across/index.d.ts +1 -0
  9. package/dist/action-providers/across/index.js +17 -0
  10. package/dist/action-providers/across/schemas.d.ts +36 -0
  11. package/dist/action-providers/across/schemas.js +46 -0
  12. package/dist/action-providers/across/utils.d.ts +7 -0
  13. package/dist/action-providers/across/utils.js +25 -0
  14. package/dist/action-providers/actionDecorator.d.ts +69 -0
  15. package/dist/action-providers/actionDecorator.js +96 -0
  16. package/dist/action-providers/actionProvider.d.ts +48 -0
  17. package/dist/action-providers/actionProvider.js +62 -0
  18. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.d.ts +55 -0
  19. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.js +173 -0
  20. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.test.d.ts +1 -0
  21. package/dist/action-providers/alchemy/alchemyTokenPricesActionProvider.test.js +131 -0
  22. package/dist/action-providers/alchemy/index.d.ts +2 -0
  23. package/dist/action-providers/alchemy/index.js +18 -0
  24. package/dist/action-providers/alchemy/schemas.d.ts +41 -0
  25. package/dist/action-providers/alchemy/schemas.js +34 -0
  26. package/dist/action-providers/allora/alloraActionProvider.d.ts +44 -0
  27. package/dist/action-providers/allora/alloraActionProvider.js +195 -0
  28. package/dist/action-providers/allora/alloraActionProvider.test.d.ts +1 -0
  29. package/dist/action-providers/allora/alloraActionProvider.test.js +109 -0
  30. package/dist/action-providers/allora/index.d.ts +2 -0
  31. package/dist/action-providers/allora/index.js +18 -0
  32. package/dist/action-providers/allora/schemas.d.ts +28 -0
  33. package/dist/action-providers/allora/schemas.js +30 -0
  34. package/dist/action-providers/basename/basenameActionProvider.d.ts +30 -0
  35. package/dist/action-providers/basename/basenameActionProvider.js +109 -0
  36. package/dist/action-providers/basename/basenameActionProvider.test.d.ts +1 -0
  37. package/dist/action-providers/basename/basenameActionProvider.test.js +146 -0
  38. package/dist/action-providers/basename/constants.d.ts +52 -0
  39. package/dist/action-providers/basename/constants.js +81 -0
  40. package/dist/action-providers/basename/index.d.ts +2 -0
  41. package/dist/action-providers/basename/index.js +18 -0
  42. package/dist/action-providers/basename/schemas.d.ts +14 -0
  43. package/dist/action-providers/basename/schemas.js +14 -0
  44. package/dist/action-providers/cdp/cdpApiActionProvider.d.ts +43 -0
  45. package/dist/action-providers/cdp/cdpApiActionProvider.js +128 -0
  46. package/dist/action-providers/cdp/cdpApiActionProvider.test.d.ts +1 -0
  47. package/dist/action-providers/cdp/cdpApiActionProvider.test.js +146 -0
  48. package/dist/action-providers/cdp/cdpWalletActionProvider.d.ts +58 -0
  49. package/dist/action-providers/cdp/cdpWalletActionProvider.js +224 -0
  50. package/dist/action-providers/cdp/cdpWalletActionProvider.test.d.ts +1 -0
  51. package/dist/action-providers/cdp/cdpWalletActionProvider.test.js +267 -0
  52. package/dist/action-providers/cdp/constants.d.ts +31 -0
  53. package/dist/action-providers/cdp/constants.js +34 -0
  54. package/dist/action-providers/cdp/index.d.ts +3 -0
  55. package/dist/action-providers/cdp/index.js +19 -0
  56. package/dist/action-providers/cdp/schemas.d.ts +91 -0
  57. package/dist/action-providers/cdp/schemas.js +77 -0
  58. package/dist/action-providers/compound/compoundActionProvider.d.ts +67 -0
  59. package/dist/action-providers/compound/compoundActionProvider.js +365 -0
  60. package/dist/action-providers/compound/compoundActionProvider.test.d.ts +1 -0
  61. package/dist/action-providers/compound/compoundActionProvider.test.js +353 -0
  62. package/dist/action-providers/compound/constants.d.ts +180 -0
  63. package/dist/action-providers/compound/constants.js +129 -0
  64. package/dist/action-providers/compound/index.d.ts +1 -0
  65. package/dist/action-providers/compound/index.js +17 -0
  66. package/dist/action-providers/compound/schemas.d.ts +57 -0
  67. package/dist/action-providers/compound/schemas.js +58 -0
  68. package/dist/action-providers/compound/utils.d.ts +95 -0
  69. package/dist/action-providers/compound/utils.js +353 -0
  70. package/dist/action-providers/customActionProvider.d.ts +30 -0
  71. package/dist/action-providers/customActionProvider.js +66 -0
  72. package/dist/action-providers/defillama/constants.d.ts +8 -0
  73. package/dist/action-providers/defillama/constants.js +11 -0
  74. package/dist/action-providers/defillama/defillamaActionProvider.d.ts +54 -0
  75. package/dist/action-providers/defillama/defillamaActionProvider.js +180 -0
  76. package/dist/action-providers/defillama/defillamaActionProvider.test.d.ts +1 -0
  77. package/dist/action-providers/defillama/defillamaActionProvider.test.js +114 -0
  78. package/dist/action-providers/defillama/index.d.ts +1 -0
  79. package/dist/action-providers/defillama/index.js +17 -0
  80. package/dist/action-providers/defillama/schemas.d.ts +34 -0
  81. package/dist/action-providers/defillama/schemas.js +34 -0
  82. package/dist/action-providers/defillama/types.d.ts +73 -0
  83. package/dist/action-providers/defillama/types.js +2 -0
  84. package/dist/action-providers/defillama/utils.d.ts +10 -0
  85. package/dist/action-providers/defillama/utils.js +87 -0
  86. package/dist/action-providers/defillama/utils.test.d.ts +1 -0
  87. package/dist/action-providers/defillama/utils.test.js +124 -0
  88. package/dist/action-providers/erc20/constants.d.ts +137 -0
  89. package/dist/action-providers/erc20/constants.js +202 -0
  90. package/dist/action-providers/erc20/erc20ActionProvider.d.ts +38 -0
  91. package/dist/action-providers/erc20/erc20ActionProvider.js +142 -0
  92. package/dist/action-providers/erc20/erc20ActionProvider.test.d.ts +1 -0
  93. package/dist/action-providers/erc20/erc20ActionProvider.test.js +131 -0
  94. package/dist/action-providers/erc20/index.d.ts +1 -0
  95. package/dist/action-providers/erc20/index.js +17 -0
  96. package/dist/action-providers/erc20/schemas.d.ts +27 -0
  97. package/dist/action-providers/erc20/schemas.js +26 -0
  98. package/dist/action-providers/erc721/constants.d.ts +232 -0
  99. package/dist/action-providers/erc721/constants.js +298 -0
  100. package/dist/action-providers/erc721/erc721ActionProvider.d.ts +46 -0
  101. package/dist/action-providers/erc721/erc721ActionProvider.js +164 -0
  102. package/dist/action-providers/erc721/erc721ActionProvider.test.d.ts +1 -0
  103. package/dist/action-providers/erc721/erc721ActionProvider.test.js +137 -0
  104. package/dist/action-providers/erc721/index.d.ts +1 -0
  105. package/dist/action-providers/erc721/index.js +17 -0
  106. package/dist/action-providers/erc721/schemas.d.ts +46 -0
  107. package/dist/action-providers/erc721/schemas.js +44 -0
  108. package/dist/action-providers/farcaster/farcasterActionProvider.d.ts +57 -0
  109. package/dist/action-providers/farcaster/farcasterActionProvider.js +142 -0
  110. package/dist/action-providers/farcaster/farcasterActionProvider.test.d.ts +1 -0
  111. package/dist/action-providers/farcaster/farcasterActionProvider.test.js +151 -0
  112. package/dist/action-providers/farcaster/index.d.ts +2 -0
  113. package/dist/action-providers/farcaster/index.js +18 -0
  114. package/dist/action-providers/farcaster/schemas.d.ts +15 -0
  115. package/dist/action-providers/farcaster/schemas.js +20 -0
  116. package/dist/action-providers/index.d.ts +24 -0
  117. package/dist/action-providers/index.js +40 -0
  118. package/dist/action-providers/jupiter/index.d.ts +1 -0
  119. package/dist/action-providers/jupiter/index.js +17 -0
  120. package/dist/action-providers/jupiter/jupiterActionProvider.d.ts +36 -0
  121. package/dist/action-providers/jupiter/jupiterActionProvider.js +115 -0
  122. package/dist/action-providers/jupiter/jupiterActionProvider.test.d.ts +1 -0
  123. package/dist/action-providers/jupiter/jupiterActionProvider.test.js +146 -0
  124. package/dist/action-providers/jupiter/schemas.d.ts +20 -0
  125. package/dist/action-providers/jupiter/schemas.js +20 -0
  126. package/dist/action-providers/messari/constants.d.ts +17 -0
  127. package/dist/action-providers/messari/constants.js +20 -0
  128. package/dist/action-providers/messari/index.d.ts +5 -0
  129. package/dist/action-providers/messari/index.js +21 -0
  130. package/dist/action-providers/messari/messariActionProvider.d.ts +42 -0
  131. package/dist/action-providers/messari/messariActionProvider.js +128 -0
  132. package/dist/action-providers/messari/messariActionProvider.test.d.ts +1 -0
  133. package/dist/action-providers/messari/messariActionProvider.test.js +152 -0
  134. package/dist/action-providers/messari/schemas.d.ts +11 -0
  135. package/dist/action-providers/messari/schemas.js +16 -0
  136. package/dist/action-providers/messari/types.d.ts +40 -0
  137. package/dist/action-providers/messari/types.js +2 -0
  138. package/dist/action-providers/messari/utils.d.ts +22 -0
  139. package/dist/action-providers/messari/utils.js +65 -0
  140. package/dist/action-providers/moonwell/constants.d.ts +78 -0
  141. package/dist/action-providers/moonwell/constants.js +111 -0
  142. package/dist/action-providers/moonwell/index.d.ts +1 -0
  143. package/dist/action-providers/moonwell/index.js +5 -0
  144. package/dist/action-providers/moonwell/moonwellActionProvider.d.ts +39 -0
  145. package/dist/action-providers/moonwell/moonwellActionProvider.js +249 -0
  146. package/dist/action-providers/moonwell/moonwellActionProvider.test.d.ts +1 -0
  147. package/dist/action-providers/moonwell/moonwellActionProvider.test.js +455 -0
  148. package/dist/action-providers/moonwell/schemas.d.ts +30 -0
  149. package/dist/action-providers/moonwell/schemas.js +39 -0
  150. package/dist/action-providers/morpho/constants.d.ts +16 -0
  151. package/dist/action-providers/morpho/constants.js +27 -0
  152. package/dist/action-providers/morpho/index.d.ts +2 -0
  153. package/dist/action-providers/morpho/index.js +18 -0
  154. package/dist/action-providers/morpho/morphoActionProvider.d.ts +39 -0
  155. package/dist/action-providers/morpho/morphoActionProvider.js +154 -0
  156. package/dist/action-providers/morpho/morphoActionProvider.test.d.ts +1 -0
  157. package/dist/action-providers/morpho/morphoActionProvider.test.js +128 -0
  158. package/dist/action-providers/morpho/schemas.d.ts +36 -0
  159. package/dist/action-providers/morpho/schemas.js +47 -0
  160. package/dist/action-providers/opensea/index.d.ts +1 -0
  161. package/dist/action-providers/opensea/index.js +17 -0
  162. package/dist/action-providers/opensea/openseaActionProvider.d.ts +59 -0
  163. package/dist/action-providers/opensea/openseaActionProvider.js +146 -0
  164. package/dist/action-providers/opensea/openseaActionProvider.test.d.ts +1 -0
  165. package/dist/action-providers/opensea/openseaActionProvider.test.js +201 -0
  166. package/dist/action-providers/opensea/schemas.d.ts +30 -0
  167. package/dist/action-providers/opensea/schemas.js +33 -0
  168. package/dist/action-providers/opensea/utils.d.ts +12 -0
  169. package/dist/action-providers/opensea/utils.js +47 -0
  170. package/dist/action-providers/pyth/index.d.ts +2 -0
  171. package/dist/action-providers/pyth/index.js +18 -0
  172. package/dist/action-providers/pyth/pythActionProvider.d.ts +33 -0
  173. package/dist/action-providers/pyth/pythActionProvider.js +121 -0
  174. package/dist/action-providers/pyth/pythActionProvider.test.d.ts +1 -0
  175. package/dist/action-providers/pyth/pythActionProvider.test.js +113 -0
  176. package/dist/action-providers/pyth/schemas.d.ts +21 -0
  177. package/dist/action-providers/pyth/schemas.js +20 -0
  178. package/dist/action-providers/spl/index.d.ts +1 -0
  179. package/dist/action-providers/spl/index.js +17 -0
  180. package/dist/action-providers/spl/schemas.d.ts +30 -0
  181. package/dist/action-providers/spl/schemas.js +26 -0
  182. package/dist/action-providers/spl/splActionProvider.d.ts +45 -0
  183. package/dist/action-providers/spl/splActionProvider.js +173 -0
  184. package/dist/action-providers/spl/splActionProvider.test.d.ts +1 -0
  185. package/dist/action-providers/spl/splActionProvider.test.js +300 -0
  186. package/dist/action-providers/twitter/index.d.ts +2 -0
  187. package/dist/action-providers/twitter/index.js +18 -0
  188. package/dist/action-providers/twitter/schemas.d.ts +38 -0
  189. package/dist/action-providers/twitter/schemas.js +44 -0
  190. package/dist/action-providers/twitter/twitterActionProvider.d.ts +82 -0
  191. package/dist/action-providers/twitter/twitterActionProvider.js +204 -0
  192. package/dist/action-providers/twitter/twitterActionProvider.test.d.ts +1 -0
  193. package/dist/action-providers/twitter/twitterActionProvider.test.js +185 -0
  194. package/dist/action-providers/wallet/index.d.ts +1 -0
  195. package/dist/action-providers/wallet/index.js +17 -0
  196. package/dist/action-providers/wallet/schemas.d.ts +19 -0
  197. package/dist/action-providers/wallet/schemas.js +19 -0
  198. package/dist/action-providers/wallet/walletActionProvider.d.ts +44 -0
  199. package/dist/action-providers/wallet/walletActionProvider.js +140 -0
  200. package/dist/action-providers/wallet/walletActionProvider.test.d.ts +1 -0
  201. package/dist/action-providers/wallet/walletActionProvider.test.js +194 -0
  202. package/dist/action-providers/weth/constants.d.ts +19 -0
  203. package/dist/action-providers/weth/constants.js +29 -0
  204. package/dist/action-providers/weth/index.d.ts +1 -0
  205. package/dist/action-providers/weth/index.js +17 -0
  206. package/dist/action-providers/weth/schemas.d.ts +8 -0
  207. package/dist/action-providers/weth/schemas.js +10 -0
  208. package/dist/action-providers/weth/wethActionProvider.d.ts +30 -0
  209. package/dist/action-providers/weth/wethActionProvider.js +89 -0
  210. package/dist/action-providers/weth/wethActionProvider.test.d.ts +1 -0
  211. package/dist/action-providers/weth/wethActionProvider.test.js +92 -0
  212. package/dist/action-providers/wow/constants.d.ts +15 -0
  213. package/dist/action-providers/wow/constants.js +844 -0
  214. package/dist/action-providers/wow/index.d.ts +2 -0
  215. package/dist/action-providers/wow/index.js +18 -0
  216. package/dist/action-providers/wow/schemas.d.ts +43 -0
  217. package/dist/action-providers/wow/schemas.js +47 -0
  218. package/dist/action-providers/wow/uniswap/constants.d.ts +3 -0
  219. package/dist/action-providers/wow/uniswap/constants.js +100 -0
  220. package/dist/action-providers/wow/uniswap/utils.d.ts +82 -0
  221. package/dist/action-providers/wow/uniswap/utils.js +226 -0
  222. package/dist/action-providers/wow/utils.d.ts +27 -0
  223. package/dist/action-providers/wow/utils.js +63 -0
  224. package/dist/action-providers/wow/wowActionProvider.d.ts +46 -0
  225. package/dist/action-providers/wow/wowActionProvider.js +223 -0
  226. package/dist/action-providers/wow/wowActionProvider.test.d.ts +1 -0
  227. package/dist/action-providers/wow/wowActionProvider.test.js +291 -0
  228. package/dist/agentkit.d.ts +44 -0
  229. package/dist/agentkit.js +68 -0
  230. package/dist/analytics/index.d.ts +1 -0
  231. package/dist/analytics/index.js +17 -0
  232. package/dist/analytics/sendAnalyticsEvent.d.ts +31 -0
  233. package/dist/analytics/sendAnalyticsEvent.js +52 -0
  234. package/dist/index.d.ts +4 -0
  235. package/dist/index.js +20 -0
  236. package/dist/network/index.d.ts +3 -0
  237. package/dist/network/index.js +19 -0
  238. package/dist/network/network.d.ts +20 -0
  239. package/dist/network/network.js +86 -0
  240. package/dist/network/svm.d.ts +15 -0
  241. package/dist/network/svm.js +38 -0
  242. package/dist/network/types.d.ts +17 -0
  243. package/dist/network/types.js +2 -0
  244. package/dist/utils.d.ts +22 -0
  245. package/dist/utils.js +57 -0
  246. package/dist/utils.test.d.ts +1 -0
  247. package/dist/utils.test.js +50 -0
  248. package/dist/wallet-providers/cdpWalletProvider.d.ts +246 -0
  249. package/dist/wallet-providers/cdpWalletProvider.js +421 -0
  250. package/dist/wallet-providers/cdpWalletProvider.test.d.ts +1 -0
  251. package/dist/wallet-providers/cdpWalletProvider.test.js +701 -0
  252. package/dist/wallet-providers/evmWalletProvider.d.ts +51 -0
  253. package/dist/wallet-providers/evmWalletProvider.js +14 -0
  254. package/dist/wallet-providers/evmWalletProvider.test.d.ts +1 -0
  255. package/dist/wallet-providers/evmWalletProvider.test.js +56 -0
  256. package/dist/wallet-providers/index.d.ts +10 -0
  257. package/dist/wallet-providers/index.js +26 -0
  258. package/dist/wallet-providers/privyEvmWalletProvider.d.ts +55 -0
  259. package/dist/wallet-providers/privyEvmWalletProvider.js +140 -0
  260. package/dist/wallet-providers/privyEvmWalletProvider.test.d.ts +1 -0
  261. package/dist/wallet-providers/privyEvmWalletProvider.test.js +331 -0
  262. package/dist/wallet-providers/privyShared.d.ts +40 -0
  263. package/dist/wallet-providers/privyShared.js +49 -0
  264. package/dist/wallet-providers/privySvmWalletProvider.d.ts +128 -0
  265. package/dist/wallet-providers/privySvmWalletProvider.js +212 -0
  266. package/dist/wallet-providers/privySvmWalletProvider.test.d.ts +1 -0
  267. package/dist/wallet-providers/privySvmWalletProvider.test.js +310 -0
  268. package/dist/wallet-providers/privyWalletProvider.d.ts +35 -0
  269. package/dist/wallet-providers/privyWalletProvider.js +39 -0
  270. package/dist/wallet-providers/privyWalletProvider.test.d.ts +1 -0
  271. package/dist/wallet-providers/privyWalletProvider.test.js +124 -0
  272. package/dist/wallet-providers/smartWalletProvider.d.ts +177 -0
  273. package/dist/wallet-providers/smartWalletProvider.js +303 -0
  274. package/dist/wallet-providers/smartWalletProvider.test.d.ts +1 -0
  275. package/dist/wallet-providers/smartWalletProvider.test.js +388 -0
  276. package/dist/wallet-providers/solanaKeypairWalletProvider.d.ts +143 -0
  277. package/dist/wallet-providers/solanaKeypairWalletProvider.js +280 -0
  278. package/dist/wallet-providers/solanaKeypairWalletProvider.test.d.ts +1 -0
  279. package/dist/wallet-providers/solanaKeypairWalletProvider.test.js +218 -0
  280. package/dist/wallet-providers/svmWalletProvider.d.ts +56 -0
  281. package/dist/wallet-providers/svmWalletProvider.js +13 -0
  282. package/dist/wallet-providers/svmWalletProvider.test.d.ts +1 -0
  283. package/dist/wallet-providers/svmWalletProvider.test.js +55 -0
  284. package/dist/wallet-providers/viemWalletProvider.d.ts +103 -0
  285. package/dist/wallet-providers/viemWalletProvider.js +206 -0
  286. package/dist/wallet-providers/viemWalletProvider.test.d.ts +1 -0
  287. package/dist/wallet-providers/viemWalletProvider.test.js +338 -0
  288. package/dist/wallet-providers/walletProvider.d.ts +48 -0
  289. package/dist/wallet-providers/walletProvider.js +41 -0
  290. package/dist/wallet-providers/walletProvider.test.d.ts +1 -0
  291. package/dist/wallet-providers/walletProvider.test.js +103 -0
  292. package/package.json +83 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TwitterPostTweetReplySchema = exports.TwitterPostTweetSchema = exports.TwitterAccountMentionsSchema = exports.TwitterAccountDetailsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Input schema for retrieving account details.
7
+ */
8
+ exports.TwitterAccountDetailsSchema = zod_1.z
9
+ .object({})
10
+ .strip()
11
+ .describe("Input schema for retrieving account details");
12
+ /**
13
+ * Input schema for retrieving account mentions.
14
+ */
15
+ exports.TwitterAccountMentionsSchema = zod_1.z
16
+ .object({
17
+ userId: zod_1.z
18
+ .string()
19
+ .min(1, "Account ID is required.")
20
+ .describe("The Twitter (X) user id to return mentions for"),
21
+ })
22
+ .strip()
23
+ .describe("Input schema for retrieving account mentions");
24
+ /**
25
+ * Input schema for posting a tweet.
26
+ */
27
+ exports.TwitterPostTweetSchema = zod_1.z
28
+ .object({
29
+ tweet: zod_1.z.string().max(280, "Tweet must be a maximum of 280 characters."),
30
+ })
31
+ .strip()
32
+ .describe("Input schema for posting a tweet");
33
+ /**
34
+ * Input schema for posting a tweet reply.
35
+ */
36
+ exports.TwitterPostTweetReplySchema = zod_1.z
37
+ .object({
38
+ tweetId: zod_1.z.string().describe("The id of the tweet to reply to"),
39
+ tweetReply: zod_1.z
40
+ .string()
41
+ .max(280, "The reply to the tweet which must be a maximum of 280 characters."),
42
+ })
43
+ .strip()
44
+ .describe("Input schema for posting a tweet reply");
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ import { ActionProvider } from "../actionProvider";
3
+ import { Network } from "../../network";
4
+ import { TwitterAccountDetailsSchema, TwitterAccountMentionsSchema, TwitterPostTweetSchema, TwitterPostTweetReplySchema } from "./schemas";
5
+ /**
6
+ * Configuration options for the TwitterActionProvider.
7
+ */
8
+ export interface TwitterActionProviderConfig {
9
+ /**
10
+ * Twitter API Key
11
+ */
12
+ apiKey?: string;
13
+ /**
14
+ * Twitter API Secret
15
+ */
16
+ apiSecret?: string;
17
+ /**
18
+ * Twitter Access Token
19
+ */
20
+ accessToken?: string;
21
+ /**
22
+ * Twitter Access Token Secret
23
+ */
24
+ accessTokenSecret?: string;
25
+ }
26
+ /**
27
+ * TwitterActionProvider is an action provider for Twitter (X) interactions.
28
+ *
29
+ * @augments ActionProvider
30
+ */
31
+ export declare class TwitterActionProvider extends ActionProvider {
32
+ private readonly client;
33
+ /**
34
+ * Constructor for the TwitterActionProvider class.
35
+ *
36
+ * @param config - The configuration options for the TwitterActionProvider
37
+ */
38
+ constructor(config?: TwitterActionProviderConfig);
39
+ /**
40
+ * Get account details for the currently authenticated Twitter (X) user.
41
+ *
42
+ * @param _ - Empty parameter object (not used)
43
+ * @returns A JSON string containing the account details or error message
44
+ */
45
+ accountDetails(_: z.infer<typeof TwitterAccountDetailsSchema>): Promise<string>;
46
+ /**
47
+ * Get mentions for a specified Twitter (X) user.
48
+ *
49
+ * @param args - The arguments containing userId
50
+ * @returns A JSON string containing the mentions or error message
51
+ */
52
+ accountMentions(args: z.infer<typeof TwitterAccountMentionsSchema>): Promise<string>;
53
+ /**
54
+ * Post a tweet on Twitter (X).
55
+ *
56
+ * @param args - The arguments containing the tweet text
57
+ * @returns A JSON string containing the posted tweet details or error message
58
+ */
59
+ postTweet(args: z.infer<typeof TwitterPostTweetSchema>): Promise<string>;
60
+ /**
61
+ * Post a reply to a tweet on Twitter (X).
62
+ *
63
+ * @param args - The arguments containing the reply text and tweet ID
64
+ * @returns A JSON string containing the posted reply details or error message
65
+ */
66
+ postTweetReply(args: z.infer<typeof TwitterPostTweetReplySchema>): Promise<string>;
67
+ /**
68
+ * Checks if the Twitter action provider supports the given network.
69
+ * Twitter actions don't depend on blockchain networks, so always return true.
70
+ *
71
+ * @param _ - The network to check (not used)
72
+ * @returns Always returns true as Twitter actions are network-independent
73
+ */
74
+ supportsNetwork(_: Network): boolean;
75
+ }
76
+ /**
77
+ * Factory function to create a new TwitterActionProvider instance.
78
+ *
79
+ * @param config - The configuration options for the TwitterActionProvider
80
+ * @returns A new instance of TwitterActionProvider
81
+ */
82
+ export declare const twitterActionProvider: (config?: TwitterActionProviderConfig) => TwitterActionProvider;
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.twitterActionProvider = exports.TwitterActionProvider = void 0;
13
+ const zod_1 = require("zod");
14
+ const actionProvider_1 = require("../actionProvider");
15
+ const actionDecorator_1 = require("../actionDecorator");
16
+ const twitter_api_v2_1 = require("twitter-api-v2");
17
+ const schemas_1 = require("./schemas");
18
+ /**
19
+ * TwitterActionProvider is an action provider for Twitter (X) interactions.
20
+ *
21
+ * @augments ActionProvider
22
+ */
23
+ class TwitterActionProvider extends actionProvider_1.ActionProvider {
24
+ /**
25
+ * Constructor for the TwitterActionProvider class.
26
+ *
27
+ * @param config - The configuration options for the TwitterActionProvider
28
+ */
29
+ constructor(config = {}) {
30
+ super("twitter", []);
31
+ config.apiKey || (config.apiKey = process.env.TWITTER_API_KEY);
32
+ config.apiSecret || (config.apiSecret = process.env.TWITTER_API_SECRET);
33
+ config.accessToken || (config.accessToken = process.env.TWITTER_ACCESS_TOKEN);
34
+ config.accessTokenSecret || (config.accessTokenSecret = process.env.TWITTER_ACCESS_TOKEN_SECRET);
35
+ if (!config.apiKey) {
36
+ throw new Error("TWITTER_API_KEY is not configured.");
37
+ }
38
+ if (!config.apiSecret) {
39
+ throw new Error("TWITTER_API_SECRET is not configured.");
40
+ }
41
+ if (!config.accessToken) {
42
+ throw new Error("TWITTER_ACCESS_TOKEN is not configured.");
43
+ }
44
+ if (!config.accessTokenSecret) {
45
+ throw new Error("TWITTER_ACCESS_TOKEN_SECRET is not configured.");
46
+ }
47
+ this.client = new twitter_api_v2_1.TwitterApi({
48
+ appKey: config.apiKey,
49
+ appSecret: config.apiSecret,
50
+ accessToken: config.accessToken,
51
+ accessSecret: config.accessTokenSecret,
52
+ });
53
+ }
54
+ /**
55
+ * Get account details for the currently authenticated Twitter (X) user.
56
+ *
57
+ * @param _ - Empty parameter object (not used)
58
+ * @returns A JSON string containing the account details or error message
59
+ */
60
+ async accountDetails(_) {
61
+ try {
62
+ const response = await this.client.v2.me();
63
+ response.data.url = `https://x.com/${response.data.username}`;
64
+ return `Successfully retrieved authenticated user account details:\n${JSON.stringify(response)}`;
65
+ }
66
+ catch (error) {
67
+ return `Error retrieving authenticated user account details: ${error}`;
68
+ }
69
+ }
70
+ /**
71
+ * Get mentions for a specified Twitter (X) user.
72
+ *
73
+ * @param args - The arguments containing userId
74
+ * @returns A JSON string containing the mentions or error message
75
+ */
76
+ async accountMentions(args) {
77
+ try {
78
+ const response = await this.client.v2.userMentionTimeline(args.userId);
79
+ return `Successfully retrieved account mentions:\n${JSON.stringify(response)}`;
80
+ }
81
+ catch (error) {
82
+ return `Error retrieving authenticated account mentions: ${error}`;
83
+ }
84
+ }
85
+ /**
86
+ * Post a tweet on Twitter (X).
87
+ *
88
+ * @param args - The arguments containing the tweet text
89
+ * @returns A JSON string containing the posted tweet details or error message
90
+ */
91
+ async postTweet(args) {
92
+ try {
93
+ const response = await this.client.v2.tweet(args.tweet);
94
+ return `Successfully posted to Twitter:\n${JSON.stringify(response)}`;
95
+ }
96
+ catch (error) {
97
+ return `Error posting to Twitter:\n${error}`;
98
+ }
99
+ }
100
+ /**
101
+ * Post a reply to a tweet on Twitter (X).
102
+ *
103
+ * @param args - The arguments containing the reply text and tweet ID
104
+ * @returns A JSON string containing the posted reply details or error message
105
+ */
106
+ async postTweetReply(args) {
107
+ try {
108
+ const response = await this.client.v2.tweet(args.tweetReply, {
109
+ reply: { in_reply_to_tweet_id: args.tweetId },
110
+ });
111
+ return `Successfully posted reply to Twitter:\n${JSON.stringify(response)}`;
112
+ }
113
+ catch (error) {
114
+ return `Error posting reply to Twitter: ${error}`;
115
+ }
116
+ }
117
+ /**
118
+ * Checks if the Twitter action provider supports the given network.
119
+ * Twitter actions don't depend on blockchain networks, so always return true.
120
+ *
121
+ * @param _ - The network to check (not used)
122
+ * @returns Always returns true as Twitter actions are network-independent
123
+ */
124
+ supportsNetwork(_) {
125
+ return true;
126
+ }
127
+ }
128
+ exports.TwitterActionProvider = TwitterActionProvider;
129
+ __decorate([
130
+ (0, actionDecorator_1.CreateAction)({
131
+ name: "account_details",
132
+ description: `
133
+ This tool will return account details for the currently authenticated Twitter (X) user context.
134
+
135
+ A successful response will return a message with the api response as a json payload:
136
+ {"data": {"id": "1853889445319331840", "name": "CDP AgentKit", "username": "CDPAgentKit"}}
137
+
138
+ A failure response will return a message with a Twitter API request error:
139
+ Error retrieving authenticated user account: 429 Too Many Requests`,
140
+ schema: schemas_1.TwitterAccountDetailsSchema,
141
+ }),
142
+ __metadata("design:type", Function),
143
+ __metadata("design:paramtypes", [void 0]),
144
+ __metadata("design:returntype", Promise)
145
+ ], TwitterActionProvider.prototype, "accountDetails", null);
146
+ __decorate([
147
+ (0, actionDecorator_1.CreateAction)({
148
+ name: "account_mentions",
149
+ description: `
150
+ This tool will return mentions for the specified Twitter (X) user id.
151
+
152
+ A successful response will return a message with the API response as a JSON payload:
153
+ {"data": [{"id": "1857479287504584856", "text": "@CDPAgentKit reply"}]}
154
+
155
+ A failure response will return a message with the Twitter API request error:
156
+ Error retrieving user mentions: 429 Too Many Requests`,
157
+ schema: schemas_1.TwitterAccountMentionsSchema,
158
+ }),
159
+ __metadata("design:type", Function),
160
+ __metadata("design:paramtypes", [void 0]),
161
+ __metadata("design:returntype", Promise)
162
+ ], TwitterActionProvider.prototype, "accountMentions", null);
163
+ __decorate([
164
+ (0, actionDecorator_1.CreateAction)({
165
+ name: "post_tweet",
166
+ description: `
167
+ This tool will post a tweet on Twitter. The tool takes the text of the tweet as input. Tweets can be maximum 280 characters.
168
+
169
+ A successful response will return a message with the API response as a JSON payload:
170
+ {"data": {"text": "hello, world!", "id": "0123456789012345678", "edit_history_tweet_ids": ["0123456789012345678"]}}
171
+
172
+ A failure response will return a message with the Twitter API request error:
173
+ You are not allowed to create a Tweet with duplicate content.`,
174
+ schema: schemas_1.TwitterPostTweetSchema,
175
+ }),
176
+ __metadata("design:type", Function),
177
+ __metadata("design:paramtypes", [void 0]),
178
+ __metadata("design:returntype", Promise)
179
+ ], TwitterActionProvider.prototype, "postTweet", null);
180
+ __decorate([
181
+ (0, actionDecorator_1.CreateAction)({
182
+ name: "post_tweet_reply",
183
+ description: `
184
+ This tool will post a tweet on Twitter. The tool takes the text of the tweet as input. Tweets can be maximum 280 characters.
185
+
186
+ A successful response will return a message with the API response as a JSON payload:
187
+ {"data": {"text": "hello, world!", "id": "0123456789012345678", "edit_history_tweet_ids": ["0123456789012345678"]}}
188
+
189
+ A failure response will return a message with the Twitter API request error:
190
+ You are not allowed to create a Tweet with duplicate content.`,
191
+ schema: schemas_1.TwitterPostTweetReplySchema,
192
+ }),
193
+ __metadata("design:type", Function),
194
+ __metadata("design:paramtypes", [void 0]),
195
+ __metadata("design:returntype", Promise)
196
+ ], TwitterActionProvider.prototype, "postTweetReply", null);
197
+ /**
198
+ * Factory function to create a new TwitterActionProvider instance.
199
+ *
200
+ * @param config - The configuration options for the TwitterActionProvider
201
+ * @returns A new instance of TwitterActionProvider
202
+ */
203
+ const twitterActionProvider = (config = {}) => new TwitterActionProvider(config);
204
+ exports.twitterActionProvider = twitterActionProvider;
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const twitter_api_v2_1 = require("twitter-api-v2");
4
+ const twitterActionProvider_1 = require("./twitterActionProvider");
5
+ const MOCK_CONFIG = {
6
+ apiKey: "test-api-key",
7
+ apiSecret: "test-api-secret",
8
+ accessToken: "test-access-token",
9
+ accessTokenSecret: "test-access-token-secret",
10
+ };
11
+ const MOCK_ID = "1853889445319331840";
12
+ const MOCK_NAME = "CDP Agentkit";
13
+ const MOCK_USERNAME = "CDPAgentkit";
14
+ const MOCK_TWEET = "Hello, world!";
15
+ const MOCK_TWEET_ID = "0123456789012345678";
16
+ const MOCK_TWEET_REPLY = "Hello again!";
17
+ describe("TwitterActionProvider", () => {
18
+ let mockClient;
19
+ let provider;
20
+ beforeEach(() => {
21
+ mockClient = {
22
+ me: jest.fn(),
23
+ userMentionTimeline: jest.fn(),
24
+ tweet: jest.fn(),
25
+ };
26
+ jest.spyOn(twitter_api_v2_1.TwitterApi.prototype, "v2", "get").mockReturnValue(mockClient);
27
+ provider = new twitterActionProvider_1.TwitterActionProvider(MOCK_CONFIG);
28
+ });
29
+ describe("Constructor", () => {
30
+ it("should initialize with config values", () => {
31
+ expect(() => new twitterActionProvider_1.TwitterActionProvider(MOCK_CONFIG)).not.toThrow();
32
+ });
33
+ it("should initialize with environment variables", () => {
34
+ process.env.TWITTER_API_KEY = MOCK_CONFIG.apiKey;
35
+ process.env.TWITTER_API_SECRET = MOCK_CONFIG.apiSecret;
36
+ process.env.TWITTER_ACCESS_TOKEN = MOCK_CONFIG.accessToken;
37
+ process.env.TWITTER_ACCESS_TOKEN_SECRET = MOCK_CONFIG.accessTokenSecret;
38
+ expect(() => new twitterActionProvider_1.TwitterActionProvider()).not.toThrow();
39
+ });
40
+ it("should throw error if no config or env vars", () => {
41
+ delete process.env.TWITTER_API_KEY;
42
+ delete process.env.TWITTER_API_SECRET;
43
+ delete process.env.TWITTER_ACCESS_TOKEN;
44
+ delete process.env.TWITTER_ACCESS_TOKEN_SECRET;
45
+ expect(() => new twitterActionProvider_1.TwitterActionProvider()).toThrow("TWITTER_API_KEY is not configured.");
46
+ });
47
+ });
48
+ describe("Account Details Action", () => {
49
+ const mockResponse = {
50
+ data: {
51
+ id: MOCK_ID,
52
+ name: MOCK_NAME,
53
+ username: MOCK_USERNAME,
54
+ },
55
+ };
56
+ beforeEach(() => {
57
+ mockClient.me.mockResolvedValue(mockResponse);
58
+ });
59
+ it("should successfully retrieve account details", async () => {
60
+ const response = await provider.accountDetails({});
61
+ expect(mockClient.me).toHaveBeenCalled();
62
+ expect(response).toContain("Successfully retrieved authenticated user account details");
63
+ expect(response).toContain(JSON.stringify({
64
+ ...mockResponse,
65
+ data: { ...mockResponse.data, url: `https://x.com/${MOCK_USERNAME}` },
66
+ }));
67
+ });
68
+ it("should handle errors when retrieving account details", async () => {
69
+ const error = new Error("An error has occurred");
70
+ mockClient.me.mockRejectedValue(error);
71
+ const response = await provider.accountDetails({});
72
+ expect(mockClient.me).toHaveBeenCalled();
73
+ expect(response).toContain("Error retrieving authenticated user account details");
74
+ expect(response).toContain(error.message);
75
+ });
76
+ });
77
+ describe("Account Mentions Action", () => {
78
+ const mockResponse = {
79
+ _realData: {
80
+ data: [
81
+ {
82
+ id: MOCK_TWEET_ID,
83
+ text: "@CDPAgentkit please reply!",
84
+ },
85
+ ],
86
+ },
87
+ data: [
88
+ {
89
+ id: MOCK_TWEET_ID,
90
+ text: "@CDPAgentkit please reply!",
91
+ },
92
+ ],
93
+ meta: {},
94
+ _endpoint: {},
95
+ tweets: [],
96
+ getItemArray: () => [],
97
+ refreshInstanceFromResult: () => mockResponse,
98
+ };
99
+ beforeEach(() => {
100
+ mockClient.userMentionTimeline.mockResolvedValue(mockResponse);
101
+ });
102
+ it("should successfully retrieve account mentions", async () => {
103
+ const response = await provider.accountMentions({ userId: MOCK_ID });
104
+ expect(mockClient.userMentionTimeline).toHaveBeenCalledWith(MOCK_ID);
105
+ expect(response).toContain("Successfully retrieved account mentions");
106
+ expect(response).toContain(JSON.stringify(mockResponse));
107
+ });
108
+ it("should handle errors when retrieving mentions", async () => {
109
+ const error = new Error("An error has occurred");
110
+ mockClient.userMentionTimeline.mockRejectedValue(error);
111
+ const response = await provider.accountMentions({ userId: MOCK_ID });
112
+ expect(mockClient.userMentionTimeline).toHaveBeenCalledWith(MOCK_ID);
113
+ expect(response).toContain("Error retrieving authenticated account mentions");
114
+ expect(response).toContain(error.message);
115
+ });
116
+ });
117
+ describe("Post Tweet Action", () => {
118
+ const mockResponse = {
119
+ data: {
120
+ id: MOCK_TWEET_ID,
121
+ text: MOCK_TWEET,
122
+ edit_history_tweet_ids: [MOCK_TWEET_ID],
123
+ },
124
+ };
125
+ beforeEach(() => {
126
+ mockClient.tweet.mockResolvedValue(mockResponse);
127
+ });
128
+ it("should successfully post a tweet", async () => {
129
+ const response = await provider.postTweet({ tweet: MOCK_TWEET });
130
+ expect(mockClient.tweet).toHaveBeenCalledWith(MOCK_TWEET);
131
+ expect(response).toContain("Successfully posted to Twitter");
132
+ expect(response).toContain(JSON.stringify(mockResponse));
133
+ });
134
+ it("should handle errors when posting a tweet", async () => {
135
+ const error = new Error("An error has occurred");
136
+ mockClient.tweet.mockRejectedValue(error);
137
+ const response = await provider.postTweet({ tweet: MOCK_TWEET });
138
+ expect(mockClient.tweet).toHaveBeenCalledWith(MOCK_TWEET);
139
+ expect(response).toContain("Error posting to Twitter");
140
+ expect(response).toContain(error.message);
141
+ });
142
+ });
143
+ describe("Post Tweet Reply Action", () => {
144
+ const mockResponse = {
145
+ data: {
146
+ id: MOCK_TWEET_ID,
147
+ text: MOCK_TWEET_REPLY,
148
+ edit_history_tweet_ids: [MOCK_TWEET_ID],
149
+ },
150
+ };
151
+ beforeEach(() => {
152
+ mockClient.tweet.mockResolvedValue(mockResponse);
153
+ });
154
+ it("should successfully post a tweet reply", async () => {
155
+ const response = await provider.postTweetReply({
156
+ tweetId: MOCK_TWEET_ID,
157
+ tweetReply: MOCK_TWEET_REPLY,
158
+ });
159
+ expect(mockClient.tweet).toHaveBeenCalledWith(MOCK_TWEET_REPLY, {
160
+ reply: { in_reply_to_tweet_id: MOCK_TWEET_ID },
161
+ });
162
+ expect(response).toContain("Successfully posted reply to Twitter");
163
+ expect(response).toContain(JSON.stringify(mockResponse));
164
+ });
165
+ it("should handle errors when posting a tweet reply", async () => {
166
+ const error = new Error("An error has occurred");
167
+ mockClient.tweet.mockRejectedValue(error);
168
+ const response = await provider.postTweetReply({
169
+ tweetId: MOCK_TWEET_ID,
170
+ tweetReply: MOCK_TWEET_REPLY,
171
+ });
172
+ expect(mockClient.tweet).toHaveBeenCalledWith(MOCK_TWEET_REPLY, {
173
+ reply: { in_reply_to_tweet_id: MOCK_TWEET_ID },
174
+ });
175
+ expect(response).toContain("Error posting reply to Twitter");
176
+ expect(response).toContain(error.message);
177
+ });
178
+ });
179
+ describe("Network Support", () => {
180
+ it("should always return true for network support", () => {
181
+ expect(provider.supportsNetwork({ protocolFamily: "evm", networkId: "1" })).toBe(true);
182
+ expect(provider.supportsNetwork({ protocolFamily: "solana", networkId: "2" })).toBe(true);
183
+ });
184
+ });
185
+ });
@@ -0,0 +1 @@
1
+ export * from "./walletActionProvider";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./walletActionProvider"), exports);
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Schema for the get_wallet_details action.
4
+ * This action doesn't require any input parameters, so we use an empty object schema.
5
+ */
6
+ export declare const GetWalletDetailsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
7
+ /**
8
+ * Input schema for native transfer action.
9
+ */
10
+ export declare const NativeTransferSchema: z.ZodObject<{
11
+ to: z.ZodString;
12
+ value: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ to: string;
15
+ value: string;
16
+ }, {
17
+ to: string;
18
+ value: string;
19
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NativeTransferSchema = exports.GetWalletDetailsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Schema for the get_wallet_details action.
7
+ * This action doesn't require any input parameters, so we use an empty object schema.
8
+ */
9
+ exports.GetWalletDetailsSchema = zod_1.z.object({});
10
+ /**
11
+ * Input schema for native transfer action.
12
+ */
13
+ exports.NativeTransferSchema = zod_1.z
14
+ .object({
15
+ to: zod_1.z.string().describe("The destination address to receive the funds"),
16
+ value: zod_1.z.string().describe("The amount to transfer in whole units e.g. 1 ETH or 0.00001 ETH"),
17
+ })
18
+ .strip()
19
+ .describe("Instructions for transferring native tokens");
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ import { ActionProvider } from "../actionProvider";
3
+ import { WalletProvider } from "../../wallet-providers";
4
+ import { Network } from "../../network";
5
+ import { NativeTransferSchema, GetWalletDetailsSchema } from "./schemas";
6
+ /**
7
+ * WalletActionProvider provides actions for getting basic wallet information.
8
+ */
9
+ export declare class WalletActionProvider extends ActionProvider {
10
+ /**
11
+ * Constructor for the WalletActionProvider.
12
+ */
13
+ constructor();
14
+ /**
15
+ * Gets the details of the connected wallet including address, network, and balance.
16
+ *
17
+ * @param walletProvider - The wallet provider to get the details from.
18
+ * @param _ - Empty args object (not used).
19
+ * @returns A formatted string containing the wallet details.
20
+ */
21
+ getWalletDetails(walletProvider: WalletProvider, _: z.infer<typeof GetWalletDetailsSchema>): Promise<string>;
22
+ /**
23
+ * Transfers a specified amount of native currency to a destination onchain.
24
+ *
25
+ * @param walletProvider - The wallet provider to transfer from.
26
+ * @param args - The input arguments for the action.
27
+ * @returns A message containing the transfer details.
28
+ */
29
+ nativeTransfer(walletProvider: WalletProvider, args: z.infer<typeof NativeTransferSchema>): Promise<string>;
30
+ /**
31
+ * Checks if the wallet action provider supports the given network.
32
+ * Since wallet actions are network-agnostic, this always returns true.
33
+ *
34
+ * @param _ - The network to check.
35
+ * @returns True, as wallet actions are supported on all networks.
36
+ */
37
+ supportsNetwork: (_: Network) => boolean;
38
+ }
39
+ /**
40
+ * Factory function to create a new WalletActionProvider instance.
41
+ *
42
+ * @returns A new WalletActionProvider instance.
43
+ */
44
+ export declare const walletActionProvider: () => WalletActionProvider;