@andrewkimjoseph/celina-sdk 0.9.7 → 0.9.9

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 (365) hide show
  1. package/build/analytics/mcp-tool-events.js +2 -0
  2. package/build/analytics/mcp-tool-events.js.map +1 -1
  3. package/build/index.d.ts +1 -1
  4. package/build/services/gooddollar.service.d.ts +16 -2
  5. package/build/services/gooddollar.service.js +54 -31
  6. package/build/services/gooddollar.service.js.map +1 -1
  7. package/build/src/a2a/agent-card.d.ts +37 -0
  8. package/build/src/a2a/agent-card.js +46 -0
  9. package/build/src/a2a/agent-card.js.map +1 -0
  10. package/build/src/a2a/index.d.ts +2 -0
  11. package/build/src/a2a/index.js +3 -0
  12. package/build/src/a2a/index.js.map +1 -0
  13. package/build/src/a2a/skills.d.ts +18 -0
  14. package/build/src/a2a/skills.js +101 -0
  15. package/build/src/a2a/skills.js.map +1 -0
  16. package/build/src/abis/aave-pool.d.ts +37 -0
  17. package/build/src/abis/aave-pool.js +26 -0
  18. package/build/src/abis/aave-pool.js.map +1 -0
  19. package/build/src/abis/accounts.d.ts +13 -0
  20. package/build/src/abis/accounts.js +10 -0
  21. package/build/src/abis/accounts.js.map +1 -0
  22. package/build/src/abis/election.d.ts +124 -0
  23. package/build/src/abis/election.js +88 -0
  24. package/build/src/abis/election.js.map +1 -0
  25. package/build/src/abis/gooddollar-broker.d.ts +77 -0
  26. package/build/src/abis/gooddollar-broker.js +44 -0
  27. package/build/src/abis/gooddollar-broker.js.map +1 -0
  28. package/build/src/abis/gooddollar-identity.d.ts +85 -0
  29. package/build/src/abis/gooddollar-identity.js +52 -0
  30. package/build/src/abis/gooddollar-identity.js.map +1 -0
  31. package/build/src/abis/governance.d.ts +86 -0
  32. package/build/src/abis/governance.js +68 -0
  33. package/build/src/abis/governance.js.map +1 -0
  34. package/build/src/abis/locked-gold.d.ts +10 -0
  35. package/build/src/abis/locked-gold.js +10 -0
  36. package/build/src/abis/locked-gold.js.map +1 -0
  37. package/build/src/abis/nft.d.ts +107 -0
  38. package/build/src/abis/nft.js +75 -0
  39. package/build/src/abis/nft.js.map +1 -0
  40. package/build/src/abis/permit2.d.ts +43 -0
  41. package/build/src/abis/permit2.js +30 -0
  42. package/build/src/abis/permit2.js.map +1 -0
  43. package/build/src/abis/self-registry.d.ts +194 -0
  44. package/build/src/abis/self-registry.js +120 -0
  45. package/build/src/abis/self-registry.js.map +1 -0
  46. package/build/src/abis/ubi-scheme.d.ts +91 -0
  47. package/build/src/abis/ubi-scheme.js +66 -0
  48. package/build/src/abis/ubi-scheme.js.map +1 -0
  49. package/build/src/abis/uniswap-state-view.d.ts +34 -0
  50. package/build/src/abis/uniswap-state-view.js +22 -0
  51. package/build/src/abis/uniswap-state-view.js.map +1 -0
  52. package/build/src/abis/uniswap-v4-quoter.d.ts +86 -0
  53. package/build/src/abis/uniswap-v4-quoter.js +64 -0
  54. package/build/src/abis/uniswap-v4-quoter.js.map +1 -0
  55. package/build/src/abis/universal-router.d.ts +16 -0
  56. package/build/src/abis/universal-router.js +14 -0
  57. package/build/src/abis/universal-router.js.map +1 -0
  58. package/build/src/abis/validators-minimal.d.ts +65 -0
  59. package/build/src/abis/validators-minimal.js +39 -0
  60. package/build/src/abis/validators-minimal.js.map +1 -0
  61. package/build/src/analytics/amplitude.d.ts +11 -0
  62. package/build/src/analytics/amplitude.js +76 -0
  63. package/build/src/analytics/amplitude.js.map +1 -0
  64. package/build/src/analytics/config.d.ts +7 -0
  65. package/build/src/analytics/config.js +28 -0
  66. package/build/src/analytics/config.js.map +1 -0
  67. package/build/src/analytics/consumer-package.d.ts +9 -0
  68. package/build/src/analytics/consumer-package.js +143 -0
  69. package/build/src/analytics/consumer-package.js.map +1 -0
  70. package/build/src/analytics/mcp-tool-events.d.ts +5 -0
  71. package/build/src/analytics/mcp-tool-events.js +53 -0
  72. package/build/src/analytics/mcp-tool-events.js.map +1 -0
  73. package/build/src/analytics/wallet-context.d.ts +11 -0
  74. package/build/src/analytics/wallet-context.js +81 -0
  75. package/build/src/analytics/wallet-context.js.map +1 -0
  76. package/build/src/analytics/wallet-extract.d.ts +9 -0
  77. package/build/src/analytics/wallet-extract.js +21 -0
  78. package/build/src/analytics/wallet-extract.js.map +1 -0
  79. package/build/src/analytics/wrap-service.d.ts +5 -0
  80. package/build/src/analytics/wrap-service.js +38 -0
  81. package/build/src/analytics/wrap-service.js.map +1 -0
  82. package/build/src/clients/celo-client.d.ts +17 -0
  83. package/build/src/clients/celo-client.js +28 -0
  84. package/build/src/clients/celo-client.js.map +1 -0
  85. package/build/src/clients/ens-client.d.ts +17 -0
  86. package/build/src/clients/ens-client.js +30 -0
  87. package/build/src/clients/ens-client.js.map +1 -0
  88. package/build/src/clients/mento-sdk.d.ts +2 -0
  89. package/build/src/clients/mento-sdk.js +9 -0
  90. package/build/src/clients/mento-sdk.js.map +1 -0
  91. package/build/src/clients/self-api.d.ts +82 -0
  92. package/build/src/clients/self-api.js +242 -0
  93. package/build/src/clients/self-api.js.map +1 -0
  94. package/build/src/clients/uniswap-sdk.d.ts +4 -0
  95. package/build/src/clients/uniswap-sdk.js +13 -0
  96. package/build/src/clients/uniswap-sdk.js.map +1 -0
  97. package/build/src/config/aave.d.ts +17 -0
  98. package/build/src/config/aave.js +77 -0
  99. package/build/src/config/aave.js.map +1 -0
  100. package/build/src/config/celina-tag.d.ts +4 -0
  101. package/build/src/config/celina-tag.js +13 -0
  102. package/build/src/config/celina-tag.js.map +1 -0
  103. package/build/src/config/celo-core-contracts.d.ts +8 -0
  104. package/build/src/config/celo-core-contracts.js +9 -0
  105. package/build/src/config/celo-core-contracts.js.map +1 -0
  106. package/build/src/config/chains.d.ts +937 -0
  107. package/build/src/config/chains.js +319 -0
  108. package/build/src/config/chains.js.map +1 -0
  109. package/build/src/config/gooddollar.d.ts +16 -0
  110. package/build/src/config/gooddollar.js +24 -0
  111. package/build/src/config/gooddollar.js.map +1 -0
  112. package/build/src/config/sdk-config.d.ts +33 -0
  113. package/build/src/config/sdk-config.js +31 -0
  114. package/build/src/config/sdk-config.js.map +1 -0
  115. package/build/src/config/self.d.ts +22 -0
  116. package/build/src/config/self.js +27 -0
  117. package/build/src/config/self.js.map +1 -0
  118. package/build/src/config/uniswap.d.ts +42 -0
  119. package/build/src/config/uniswap.js +76 -0
  120. package/build/src/config/uniswap.js.map +1 -0
  121. package/build/src/index.d.ts +90 -0
  122. package/build/src/index.js +65 -0
  123. package/build/src/index.js.map +1 -0
  124. package/build/src/oasf/index.d.ts +2 -0
  125. package/build/src/oasf/index.js +3 -0
  126. package/build/src/oasf/index.js.map +1 -0
  127. package/build/src/oasf/record.d.ts +39 -0
  128. package/build/src/oasf/record.js +35 -0
  129. package/build/src/oasf/record.js.map +1 -0
  130. package/build/src/oasf/taxonomy.d.ts +19 -0
  131. package/build/src/oasf/taxonomy.js +46 -0
  132. package/build/src/oasf/taxonomy.js.map +1 -0
  133. package/build/src/services/aave.service.d.ts +58 -0
  134. package/build/src/services/aave.service.js +210 -0
  135. package/build/src/services/aave.service.js.map +1 -0
  136. package/build/src/services/account.service.d.ts +22 -0
  137. package/build/src/services/account.service.js +29 -0
  138. package/build/src/services/account.service.js.map +1 -0
  139. package/build/src/services/blockchain.service.d.ts +107 -0
  140. package/build/src/services/blockchain.service.js +151 -0
  141. package/build/src/services/blockchain.service.js.map +1 -0
  142. package/build/src/services/contract.service.d.ts +78 -0
  143. package/build/src/services/contract.service.js +117 -0
  144. package/build/src/services/contract.service.js.map +1 -0
  145. package/build/src/services/ens.service.d.ts +44 -0
  146. package/build/src/services/ens.service.js +92 -0
  147. package/build/src/services/ens.service.js.map +1 -0
  148. package/build/src/services/gooddollar.service.d.ts +183 -0
  149. package/build/src/services/gooddollar.service.js +675 -0
  150. package/build/src/services/gooddollar.service.js.map +1 -0
  151. package/build/src/services/governance.service.d.ts +96 -0
  152. package/build/src/services/governance.service.js +255 -0
  153. package/build/src/services/governance.service.js.map +1 -0
  154. package/build/src/services/mento-fx.service.d.ts +80 -0
  155. package/build/src/services/mento-fx.service.js +319 -0
  156. package/build/src/services/mento-fx.service.js.map +1 -0
  157. package/build/src/services/nft.service.d.ts +58 -0
  158. package/build/src/services/nft.service.js +222 -0
  159. package/build/src/services/nft.service.js.map +1 -0
  160. package/build/src/services/self-session-store.d.ts +19 -0
  161. package/build/src/services/self-session-store.js +28 -0
  162. package/build/src/services/self-session-store.js.map +1 -0
  163. package/build/src/services/self.service.d.ts +241 -0
  164. package/build/src/services/self.service.js +699 -0
  165. package/build/src/services/self.service.js.map +1 -0
  166. package/build/src/services/staking.service.d.ts +140 -0
  167. package/build/src/services/staking.service.js +444 -0
  168. package/build/src/services/staking.service.js.map +1 -0
  169. package/build/src/services/token.service.d.ts +110 -0
  170. package/build/src/services/token.service.js +189 -0
  171. package/build/src/services/token.service.js.map +1 -0
  172. package/build/src/services/transaction.service.d.ts +68 -0
  173. package/build/src/services/transaction.service.js +198 -0
  174. package/build/src/services/transaction.service.js.map +1 -0
  175. package/build/src/services/uniswap-path-router.d.ts +40 -0
  176. package/build/src/services/uniswap-path-router.js +168 -0
  177. package/build/src/services/uniswap-path-router.js.map +1 -0
  178. package/build/src/services/uniswap-pool-discovery.d.ts +55 -0
  179. package/build/src/services/uniswap-pool-discovery.js +198 -0
  180. package/build/src/services/uniswap-pool-discovery.js.map +1 -0
  181. package/build/src/services/uniswap.service.d.ts +82 -0
  182. package/build/src/services/uniswap.service.js +352 -0
  183. package/build/src/services/uniswap.service.js.map +1 -0
  184. package/build/src/simulation/index.d.ts +5 -0
  185. package/build/src/simulation/index.js +2 -0
  186. package/build/src/simulation/index.js.map +1 -0
  187. package/build/src/simulation/simulate-prepared-step.d.ts +17 -0
  188. package/build/src/simulation/simulate-prepared-step.js +42 -0
  189. package/build/src/simulation/simulate-prepared-step.js.map +1 -0
  190. package/build/src/tools/catalog.d.ts +11 -0
  191. package/build/src/tools/catalog.js +43 -0
  192. package/build/src/tools/catalog.js.map +1 -0
  193. package/build/src/tools/domains/aave.d.ts +2 -0
  194. package/build/src/tools/domains/aave.js +115 -0
  195. package/build/src/tools/domains/aave.js.map +1 -0
  196. package/build/src/tools/domains/blockchain.d.ts +2 -0
  197. package/build/src/tools/domains/blockchain.js +86 -0
  198. package/build/src/tools/domains/blockchain.js.map +1 -0
  199. package/build/src/tools/domains/browser.d.ts +2 -0
  200. package/build/src/tools/domains/browser.js +45 -0
  201. package/build/src/tools/domains/browser.js.map +1 -0
  202. package/build/src/tools/domains/contract.d.ts +2 -0
  203. package/build/src/tools/domains/contract.js +67 -0
  204. package/build/src/tools/domains/contract.js.map +1 -0
  205. package/build/src/tools/domains/ens.d.ts +2 -0
  206. package/build/src/tools/domains/ens.js +16 -0
  207. package/build/src/tools/domains/ens.js.map +1 -0
  208. package/build/src/tools/domains/gooddollar.d.ts +2 -0
  209. package/build/src/tools/domains/gooddollar.js +171 -0
  210. package/build/src/tools/domains/gooddollar.js.map +1 -0
  211. package/build/src/tools/domains/governance.d.ts +2 -0
  212. package/build/src/tools/domains/governance.js +41 -0
  213. package/build/src/tools/domains/governance.js.map +1 -0
  214. package/build/src/tools/domains/index.d.ts +1 -0
  215. package/build/src/tools/domains/index.js +31 -0
  216. package/build/src/tools/domains/index.js.map +1 -0
  217. package/build/src/tools/domains/mento-fx.d.ts +2 -0
  218. package/build/src/tools/domains/mento-fx.js +67 -0
  219. package/build/src/tools/domains/mento-fx.js.map +1 -0
  220. package/build/src/tools/domains/nft.d.ts +2 -0
  221. package/build/src/tools/domains/nft.js +38 -0
  222. package/build/src/tools/domains/nft.js.map +1 -0
  223. package/build/src/tools/domains/self.d.ts +2 -0
  224. package/build/src/tools/domains/self.js +187 -0
  225. package/build/src/tools/domains/self.js.map +1 -0
  226. package/build/src/tools/domains/staking.d.ts +2 -0
  227. package/build/src/tools/domains/staking.js +74 -0
  228. package/build/src/tools/domains/staking.js.map +1 -0
  229. package/build/src/tools/domains/token.d.ts +2 -0
  230. package/build/src/tools/domains/token.js +74 -0
  231. package/build/src/tools/domains/token.js.map +1 -0
  232. package/build/src/tools/domains/transaction.d.ts +2 -0
  233. package/build/src/tools/domains/transaction.js +120 -0
  234. package/build/src/tools/domains/transaction.js.map +1 -0
  235. package/build/src/tools/domains/uniswap.d.ts +2 -0
  236. package/build/src/tools/domains/uniswap.js +67 -0
  237. package/build/src/tools/domains/uniswap.js.map +1 -0
  238. package/build/src/tools/filter.d.ts +2 -0
  239. package/build/src/tools/filter.js +50 -0
  240. package/build/src/tools/filter.js.map +1 -0
  241. package/build/src/tools/index.d.ts +7 -0
  242. package/build/src/tools/index.js +7 -0
  243. package/build/src/tools/index.js.map +1 -0
  244. package/build/src/tools/schemas/common.d.ts +165 -0
  245. package/build/src/tools/schemas/common.js +207 -0
  246. package/build/src/tools/schemas/common.js.map +1 -0
  247. package/build/src/tools/schemas/wallet-params.d.ts +9 -0
  248. package/build/src/tools/schemas/wallet-params.js +52 -0
  249. package/build/src/tools/schemas/wallet-params.js.map +1 -0
  250. package/build/src/tools/swap-routing.d.ts +25 -0
  251. package/build/src/tools/swap-routing.js +174 -0
  252. package/build/src/tools/swap-routing.js.map +1 -0
  253. package/build/src/tools/types.d.ts +124 -0
  254. package/build/src/tools/types.js +2 -0
  255. package/build/src/tools/types.js.map +1 -0
  256. package/build/src/tools/utils/normalize-token.d.ts +2 -0
  257. package/build/src/tools/utils/normalize-token.js +12 -0
  258. package/build/src/tools/utils/normalize-token.js.map +1 -0
  259. package/build/src/tools/utils/wallet.d.ts +4 -0
  260. package/build/src/tools/utils/wallet.js +8 -0
  261. package/build/src/tools/utils/wallet.js.map +1 -0
  262. package/build/src/tools/website-sync.d.ts +28 -0
  263. package/build/src/tools/website-sync.js +165 -0
  264. package/build/src/tools/website-sync.js.map +1 -0
  265. package/build/src/types/prepared.d.ts +28 -0
  266. package/build/src/types/prepared.js +12 -0
  267. package/build/src/types/prepared.js.map +1 -0
  268. package/build/src/utils/celo-format.d.ts +6 -0
  269. package/build/src/utils/celo-format.js +17 -0
  270. package/build/src/utils/celo-format.js.map +1 -0
  271. package/build/src/utils/erc20-allowance-storage.d.ts +20 -0
  272. package/build/src/utils/erc20-allowance-storage.js +64 -0
  273. package/build/src/utils/erc20-allowance-storage.js.map +1 -0
  274. package/build/src/utils/format-date.d.ts +2 -0
  275. package/build/src/utils/format-date.js +13 -0
  276. package/build/src/utils/format-date.js.map +1 -0
  277. package/build/src/utils/format-duration.d.ts +2 -0
  278. package/build/src/utils/format-duration.js +17 -0
  279. package/build/src/utils/format-duration.js.map +1 -0
  280. package/build/src/utils/format-unix-datetime.d.ts +4 -0
  281. package/build/src/utils/format-unix-datetime.js +18 -0
  282. package/build/src/utils/format-unix-datetime.js.map +1 -0
  283. package/build/src/utils/gooddollar-ubi-period.d.ts +23 -0
  284. package/build/src/utils/gooddollar-ubi-period.js +23 -0
  285. package/build/src/utils/gooddollar-ubi-period.js.map +1 -0
  286. package/build/src/utils/normalize-address.d.ts +7 -0
  287. package/build/src/utils/normalize-address.js +16 -0
  288. package/build/src/utils/normalize-address.js.map +1 -0
  289. package/build/src/utils/self-format.d.ts +28 -0
  290. package/build/src/utils/self-format.js +79 -0
  291. package/build/src/utils/self-format.js.map +1 -0
  292. package/build/src/utils/self-signing.d.ts +4 -0
  293. package/build/src/utils/self-signing.js +38 -0
  294. package/build/src/utils/self-signing.js.map +1 -0
  295. package/build/src/utils/transaction-errors.d.ts +3 -0
  296. package/build/src/utils/transaction-errors.js +17 -0
  297. package/build/src/utils/transaction-errors.js.map +1 -0
  298. package/build/tests/catalog/domains/blockchain.d.ts +2 -0
  299. package/build/tests/catalog/domains/blockchain.js +127 -0
  300. package/build/tests/catalog/domains/blockchain.js.map +1 -0
  301. package/build/tests/catalog/domains/chain-ext.d.ts +5 -0
  302. package/build/tests/catalog/domains/chain-ext.js +207 -0
  303. package/build/tests/catalog/domains/chain-ext.js.map +1 -0
  304. package/build/tests/catalog/domains/defi.d.ts +6 -0
  305. package/build/tests/catalog/domains/defi.js +581 -0
  306. package/build/tests/catalog/domains/defi.js.map +1 -0
  307. package/build/tests/catalog/domains/self.d.ts +2 -0
  308. package/build/tests/catalog/domains/self.js +208 -0
  309. package/build/tests/catalog/domains/self.js.map +1 -0
  310. package/build/tests/catalog/domains/token.d.ts +2 -0
  311. package/build/tests/catalog/domains/token.js +70 -0
  312. package/build/tests/catalog/domains/token.js.map +1 -0
  313. package/build/tests/catalog/domains/transaction.d.ts +2 -0
  314. package/build/tests/catalog/domains/transaction.js +96 -0
  315. package/build/tests/catalog/domains/transaction.js.map +1 -0
  316. package/build/tests/catalog/index.d.ts +2 -0
  317. package/build/tests/catalog/index.js +2 -0
  318. package/build/tests/catalog/index.js.map +1 -0
  319. package/build/tests/catalog/operations.d.ts +12 -0
  320. package/build/tests/catalog/operations.js +29 -0
  321. package/build/tests/catalog/operations.js.map +1 -0
  322. package/build/tests/catalog/types.d.ts +24 -0
  323. package/build/tests/catalog/types.js +2 -0
  324. package/build/tests/catalog/types.js.map +1 -0
  325. package/build/tests/fixtures/mainnet.d.ts +54 -0
  326. package/build/tests/fixtures/mainnet.js +53 -0
  327. package/build/tests/fixtures/mainnet.js.map +1 -0
  328. package/build/tests/helpers/assert.d.ts +4 -0
  329. package/build/tests/helpers/assert.js +24 -0
  330. package/build/tests/helpers/assert.js.map +1 -0
  331. package/build/tests/helpers/env.d.ts +11 -0
  332. package/build/tests/helpers/env.js +28 -0
  333. package/build/tests/helpers/env.js.map +1 -0
  334. package/build/tests/helpers/gating.d.ts +3 -0
  335. package/build/tests/helpers/gating.js +23 -0
  336. package/build/tests/helpers/gating.js.map +1 -0
  337. package/build/tests/testing-entry.d.ts +6 -0
  338. package/build/tests/testing-entry.js +6 -0
  339. package/build/tests/testing-entry.js.map +1 -0
  340. package/build/tools/domains/browser.js +4 -1
  341. package/build/tools/domains/browser.js.map +1 -1
  342. package/build/tools/domains/gooddollar.js +11 -7
  343. package/build/tools/domains/gooddollar.js.map +1 -1
  344. package/build/tools/schemas/common.d.ts +7 -0
  345. package/build/tools/schemas/common.js +9 -1
  346. package/build/tools/schemas/common.js.map +1 -1
  347. package/build/tools/swap-routing.d.ts +1 -0
  348. package/build/tools/swap-routing.js +2 -1
  349. package/build/tools/swap-routing.js.map +1 -1
  350. package/package.json +5 -9
  351. package/tests/README.md +0 -78
  352. package/tests/catalog/domains/blockchain.ts +0 -133
  353. package/tests/catalog/domains/chain-ext.ts +0 -219
  354. package/tests/catalog/domains/defi.ts +0 -532
  355. package/tests/catalog/domains/self.ts +0 -220
  356. package/tests/catalog/domains/token.ts +0 -74
  357. package/tests/catalog/domains/transaction.ts +0 -111
  358. package/tests/catalog/index.ts +0 -7
  359. package/tests/catalog/operations.ts +0 -53
  360. package/tests/catalog/types.ts +0 -27
  361. package/tests/fixtures/mainnet.ts +0 -93
  362. package/tests/helpers/assert.ts +0 -30
  363. package/tests/helpers/env.ts +0 -38
  364. package/tests/helpers/gating.ts +0 -36
  365. package/tests/testing-entry.ts +0 -27
@@ -0,0 +1,90 @@
1
+ import { type SdkConfig } from "./config/sdk-config.js";
2
+ import { AccountService } from "./services/account.service.js";
3
+ import { AaveService } from "./services/aave.service.js";
4
+ import { BlockchainService } from "./services/blockchain.service.js";
5
+ import { ContractService } from "./services/contract.service.js";
6
+ import { EnsService } from "./services/ens.service.js";
7
+ import { GoodDollarService } from "./services/gooddollar.service.js";
8
+ import { GovernanceService } from "./services/governance.service.js";
9
+ import { MentoFxService } from "./services/mento-fx.service.js";
10
+ import { UniswapService } from "./services/uniswap.service.js";
11
+ import { NftService } from "./services/nft.service.js";
12
+ import { StakingService } from "./services/staking.service.js";
13
+ import { TokenService } from "./services/token.service.js";
14
+ import { TransactionService } from "./services/transaction.service.js";
15
+ import { SelfService } from "./services/self.service.js";
16
+ /** Optional RPC overrides when creating a Celina client. */
17
+ export type CelinaClientOptions = Partial<SdkConfig>;
18
+ /** Domain services for Celo mainnet reads and unsigned transaction preparation. */
19
+ export interface CelinaClient {
20
+ /** Blocks, transactions, and network status. */
21
+ blockchain: BlockchainService;
22
+ /** CELO balance and nonce for an address. */
23
+ account: AccountService;
24
+ /** Token balances, metadata, and stablecoin scans. */
25
+ token: TokenService;
26
+ /** Send estimates, gas fees, and `prepareSend` flows. */
27
+ transaction: TransactionService;
28
+ /** Mento FX quotes, estimates, and `prepareFx` flows. */
29
+ mentoFx: MentoFxService;
30
+ /** Uniswap v4 quotes, estimates, and `prepareSwap` flows. */
31
+ uniswap: UniswapService;
32
+ /** Aave V3 `getBalances`, `prepareSupply`, and `prepareWithdraw` on Celo. */
33
+ aave: AaveService;
34
+ /** GoodDollar IdentityV4 whitelist, UBI claims, and G$ ↔ USDm reserve swaps. */
35
+ gooddollar: GoodDollarService;
36
+ /** Celo and Ethereum ENS resolution. */
37
+ ens: EnsService;
38
+ /** Celo governance proposals and details. */
39
+ governance: GovernanceService;
40
+ /** Validator election staking reads. */
41
+ staking: StakingService;
42
+ /** ERC-721 / ERC-1155 NFT reads. */
43
+ nft: NftService;
44
+ /** Generic read-only contract calls and gas estimates. */
45
+ contract: ContractService;
46
+ /** Self Agent ID on Celo mainnet (ai.self.xyz + on-chain registry). */
47
+ self: SelfService;
48
+ }
49
+ /**
50
+ * Create a Celina client for Celo mainnet reads and unsigned tx preparation.
51
+ * No private keys — pass prepared `steps` to wagmi/viem for wallet signing.
52
+ */
53
+ export declare function createCelinaClient(opts?: CelinaClientOptions): CelinaClient;
54
+ export type {
55
+ /** In-memory prepared flow before JSON serialization. */
56
+ PreparedFlow,
57
+ /** One step in a multi-step wallet signing flow. */
58
+ PreparedTx,
59
+ /** Discriminator for prepared transaction step kinds. */
60
+ PreparedTxKind,
61
+ /** JSON-safe prepared flow returned by prepare* methods. */
62
+ SerializedPreparedFlow, } from "./types/prepared.js";
63
+ export { serializePreparedFlow } from "./types/prepared.js";
64
+ /** RPC URLs for Celo and optional Ethereum ENS reads. */
65
+ export type { SdkConfig } from "./config/sdk-config.js";
66
+ /** Resolved Celo mainnet registry token metadata. */
67
+ export type { ResolvedToken } from "./services/token.service.js";
68
+ /** Slippage, deadline, and recipient options for Mento FX swaps. */
69
+ export type { MentoFxParams } from "./services/mento-fx.service.js";
70
+ /** Slippage, deadline, and recipient options for Uniswap v4 swaps. */
71
+ export type { UniswapSwapParams } from "./services/uniswap.service.js";
72
+ /** Pagination and metadata options for governance proposal lists. */
73
+ export type { GovernanceProposalsOptions } from "./services/governance.service.js";
74
+ /** Parameters for generic read-only contract calls. */
75
+ export type { ContractCallParams } from "./services/contract.service.js";
76
+ /** Aave V3 Celo pool address and supported asset symbols. */
77
+ export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
78
+ export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
79
+ export { appendCelinaCalldataTag, CELINA_DATA_SUFFIX, } from "./config/celina-tag.js";
80
+ export type { AaveAsset } from "./config/aave.js";
81
+ export { GOODDOLLAR_CUSD_EXCHANGE_ID, GOODDOLLAR_IDENTITY_ADDRESS, GOODDOLLAR_MENTO_BROKER, GOODDOLLAR_MENTO_EXCHANGE_PROVIDER, GOODDOLLAR_RESERVE_COLLATERAL, GOODDOLLAR_TOKEN_ADDRESS, GOODDOLLAR_UBI_SCHEME_ADDRESS, isGoodDollarUsdReservePair, } from "./config/gooddollar.js";
82
+ export type { GoodDollarReserveSwapParams, GoodDollarReserveQuoteOptions, GoodDollarReserveAmountSide } from "./services/gooddollar.service.js";
83
+ export { SelfService, type VerifySelfAgentParams, type VerifySelfRequestParams, type RegisterSelfAgentParams, } from "./services/self.service.js";
84
+ export { SelfApiError, SelfExpiredSessionError, } from "./clients/self-api.js";
85
+ export type { SelfRegistrationMode } from "./config/self.js";
86
+ export { selfDemoUrl, SELF_DEMO_NETWORK, SELF_HEADERS, } from "./config/self.js";
87
+ export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, type SelfSessionLinks, } from "./utils/self-format.js";
88
+ export { clearSelfSessionsForTests } from "./services/self-session-store.js";
89
+ export { flushCelinaAnalytics } from "./analytics/amplitude.js";
90
+ export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Celina SDK public entry point.
3
+ *
4
+ * createCelinaClient() composes read-only viem clients and domain services.
5
+ * No private keys or signing — use prepare* methods for unsigned tx payloads.
6
+ */
7
+ import { CeloClientFactory } from "./clients/celo-client.js";
8
+ import { EnsClientFactory } from "./clients/ens-client.js";
9
+ import { resolveSdkConfig } from "./config/sdk-config.js";
10
+ import { AccountService } from "./services/account.service.js";
11
+ import { AaveService } from "./services/aave.service.js";
12
+ import { BlockchainService } from "./services/blockchain.service.js";
13
+ import { ContractService } from "./services/contract.service.js";
14
+ import { EnsService } from "./services/ens.service.js";
15
+ import { GoodDollarService } from "./services/gooddollar.service.js";
16
+ import { GovernanceService } from "./services/governance.service.js";
17
+ import { MentoFxService } from "./services/mento-fx.service.js";
18
+ import { UniswapService } from "./services/uniswap.service.js";
19
+ import { NftService } from "./services/nft.service.js";
20
+ import { StakingService } from "./services/staking.service.js";
21
+ import { TokenService } from "./services/token.service.js";
22
+ import { TransactionService } from "./services/transaction.service.js";
23
+ import { SelfService } from "./services/self.service.js";
24
+ import { wrapServiceForAnalytics } from "./analytics/wrap-service.js";
25
+ /**
26
+ * Create a Celina client for Celo mainnet reads and unsigned tx preparation.
27
+ * No private keys — pass prepared `steps` to wagmi/viem for wallet signing.
28
+ */
29
+ export function createCelinaClient(opts) {
30
+ const config = resolveSdkConfig(opts);
31
+ const clientFactory = new CeloClientFactory(config);
32
+ const ensClientFactory = new EnsClientFactory(config);
33
+ const tokenService = new TokenService(clientFactory);
34
+ const wrap = (key, service) => wrapServiceForAnalytics(key, service, config);
35
+ return {
36
+ blockchain: wrap("blockchain", new BlockchainService(clientFactory)),
37
+ account: wrap("account", new AccountService(clientFactory)),
38
+ token: wrap("token", tokenService),
39
+ transaction: wrap("transaction", new TransactionService(clientFactory)),
40
+ mentoFx: wrap("mentoFx", new MentoFxService(clientFactory)),
41
+ uniswap: wrap("uniswap", new UniswapService(clientFactory)),
42
+ aave: wrap("aave", new AaveService(clientFactory)),
43
+ gooddollar: wrap("gooddollar", new GoodDollarService(clientFactory)),
44
+ ens: wrap("ens", new EnsService(ensClientFactory)),
45
+ governance: wrap("governance", new GovernanceService(clientFactory)),
46
+ staking: wrap("staking", new StakingService(clientFactory)),
47
+ nft: wrap("nft", new NftService(clientFactory)),
48
+ contract: wrap("contract", new ContractService(clientFactory)),
49
+ self: wrap("self", new SelfService(clientFactory, config)),
50
+ };
51
+ }
52
+ export { serializePreparedFlow } from "./types/prepared.js";
53
+ /** Aave V3 Celo pool address and supported asset symbols. */
54
+ export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
55
+ export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
56
+ export { appendCelinaCalldataTag, CELINA_DATA_SUFFIX, } from "./config/celina-tag.js";
57
+ export { GOODDOLLAR_CUSD_EXCHANGE_ID, GOODDOLLAR_IDENTITY_ADDRESS, GOODDOLLAR_MENTO_BROKER, GOODDOLLAR_MENTO_EXCHANGE_PROVIDER, GOODDOLLAR_RESERVE_COLLATERAL, GOODDOLLAR_TOKEN_ADDRESS, GOODDOLLAR_UBI_SCHEME_ADDRESS, isGoodDollarUsdReservePair, } from "./config/gooddollar.js";
58
+ export { SelfService, } from "./services/self.service.js";
59
+ export { SelfApiError, SelfExpiredSessionError, } from "./clients/self-api.js";
60
+ export { selfDemoUrl, SELF_DEMO_NETWORK, SELF_HEADERS, } from "./config/self.js";
61
+ export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, } from "./utils/self-format.js";
62
+ export { clearSelfSessionsForTests } from "./services/self-session-store.js";
63
+ export { flushCelinaAnalytics } from "./analytics/amplitude.js";
64
+ export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { buildCelinaOasfRecord, buildCelinaOasfService, type CelinaOasfRecord, type CelinaOasfRecordLocator, type CelinaOasfRecordOptions, type CelinaOasfService, } from "./record.js";
2
+ export { CELINA_OASF_DOMAINS, CELINA_OASF_SCHEMA_VERSION, CELINA_OASF_SKILLS, CELINA_OASF_VERSION, OASF_REPO_ENDPOINT, celinaOasfDomainsCsv, celinaOasfDomainSlugs, celinaOasfSkillSlugs, celinaOasfSkillsCsv, type OasfTaxonomyEntry, } from "./taxonomy.js";
@@ -0,0 +1,3 @@
1
+ export { buildCelinaOasfRecord, buildCelinaOasfService, } from "./record.js";
2
+ export { CELINA_OASF_DOMAINS, CELINA_OASF_SCHEMA_VERSION, CELINA_OASF_SKILLS, CELINA_OASF_VERSION, OASF_REPO_ENDPOINT, celinaOasfDomainsCsv, celinaOasfDomainSlugs, celinaOasfSkillSlugs, celinaOasfSkillsCsv, } from "./taxonomy.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/oasf/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAKvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,39 @@
1
+ export interface CelinaOasfService {
2
+ name: "OASF";
3
+ endpoint: string;
4
+ version: string;
5
+ skills: string[];
6
+ domains: string[];
7
+ }
8
+ export interface CelinaOasfRecordLocator {
9
+ type: string;
10
+ urls: string[];
11
+ }
12
+ export interface CelinaOasfRecord {
13
+ name: string;
14
+ description: string;
15
+ version: string;
16
+ schema_version: string;
17
+ authors: string[];
18
+ created_at: string;
19
+ skills: Array<{
20
+ name: string;
21
+ id: number;
22
+ }>;
23
+ domains: Array<{
24
+ name: string;
25
+ id: number;
26
+ }>;
27
+ modules: unknown[];
28
+ locators: CelinaOasfRecordLocator[];
29
+ }
30
+ export interface CelinaOasfRecordOptions {
31
+ /** Package or release version shown on the record */
32
+ version?: string;
33
+ /** Public site base URL, e.g. https://usecelina.xyz */
34
+ siteBaseUrl?: string;
35
+ /** MCP host base URL for execution endpoints */
36
+ mcpBaseUrl?: string;
37
+ }
38
+ export declare function buildCelinaOasfService(): CelinaOasfService;
39
+ export declare function buildCelinaOasfRecord(options?: CelinaOasfRecordOptions): CelinaOasfRecord;
@@ -0,0 +1,35 @@
1
+ import { CELINA_OASF_SCHEMA_VERSION, CELINA_OASF_SKILLS, CELINA_OASF_DOMAINS, CELINA_OASF_VERSION, OASF_REPO_ENDPOINT, celinaOasfDomainSlugs, celinaOasfSkillSlugs, } from "./taxonomy.js";
2
+ const DEFAULT_DESCRIPTION = "Celo mainnet specialist agent — hosted read-only access to balances, DeFi quotes, governance, staking, NFTs, and Self Agent ID verification via structured tool calls.";
3
+ export function buildCelinaOasfService() {
4
+ return {
5
+ name: "OASF",
6
+ endpoint: OASF_REPO_ENDPOINT,
7
+ version: CELINA_OASF_VERSION,
8
+ skills: celinaOasfSkillSlugs(),
9
+ domains: celinaOasfDomainSlugs(),
10
+ };
11
+ }
12
+ export function buildCelinaOasfRecord(options = {}) {
13
+ const site = (options.siteBaseUrl ?? "https://usecelina.xyz").replace(/\/$/, "");
14
+ const mcp = (options.mcpBaseUrl ?? "https://mcp.usecelina.xyz").replace(/\/$/, "");
15
+ return {
16
+ name: "Celina",
17
+ description: DEFAULT_DESCRIPTION,
18
+ version: options.version ?? "0.9.2",
19
+ schema_version: CELINA_OASF_SCHEMA_VERSION,
20
+ authors: ["Celina <https://usecelina.xyz>"],
21
+ created_at: "2025-06-01T00:00:00Z",
22
+ skills: CELINA_OASF_SKILLS.map(({ name, id }) => ({ name, id })),
23
+ domains: CELINA_OASF_DOMAINS.map(({ name, id }) => ({ name, id })),
24
+ modules: [],
25
+ locators: [
26
+ { type: "source_code", urls: ["https://github.com/andrewkimjoseph/celina-sdk"] },
27
+ { type: "web", urls: [site] },
28
+ { type: "mcp", urls: [`${mcp}/api/mcp`] },
29
+ { type: "a2a", urls: [`${mcp}/api/a2a`] },
30
+ { type: "agent_card", urls: [`${site}/.well-known/agent-card.json`] },
31
+ { type: "registration", urls: [`${site}/agent.json`] },
32
+ ],
33
+ };
34
+ }
35
+ //# sourceMappingURL=record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/oasf/record.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAqCvB,MAAM,mBAAmB,GACvB,wKAAwK,CAAC;AAE3K,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,MAAM,EAAE,oBAAoB,EAAE;QAC9B,OAAO,EAAE,qBAAqB,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,UAAmC,EAAE;IAErC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,2BAA2B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEnF,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO;QACnC,cAAc,EAAE,0BAA0B;QAC1C,OAAO,EAAE,CAAC,gCAAgC,CAAC;QAC3C,UAAU,EAAE,sBAAsB;QAClC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,+CAA+C,CAAC,EAAE;YAChF,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;YACzC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE;YACzC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,8BAA8B,CAAC,EAAE;YACrE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE;SACvD;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * OASF v0.8.0 taxonomy slugs for Celina (hosted read-only Celo agent).
3
+ * IDs verified against https://schema.oasf.outshift.com/0.8.0/api/skill_categories
4
+ * and https://schema.oasf.outshift.com/0.8.0/api/domain_categories
5
+ */
6
+ export declare const CELINA_OASF_VERSION = "0.8.0";
7
+ export declare const OASF_REPO_ENDPOINT = "https://github.com/agntcy/oasf/";
8
+ export declare const CELINA_OASF_SCHEMA_VERSION = "1.0.0";
9
+ export interface OasfTaxonomyEntry {
10
+ name: string;
11
+ id: number;
12
+ }
13
+ /** EIP-8004 OASF service + hosted manifest skills */
14
+ export declare const CELINA_OASF_SKILLS: readonly OasfTaxonomyEntry[];
15
+ export declare const CELINA_OASF_DOMAINS: readonly OasfTaxonomyEntry[];
16
+ export declare function celinaOasfSkillSlugs(): string[];
17
+ export declare function celinaOasfDomainSlugs(): string[];
18
+ export declare function celinaOasfSkillsCsv(): string;
19
+ export declare function celinaOasfDomainsCsv(): string;
@@ -0,0 +1,46 @@
1
+ /**
2
+ * OASF v0.8.0 taxonomy slugs for Celina (hosted read-only Celo agent).
3
+ * IDs verified against https://schema.oasf.outshift.com/0.8.0/api/skill_categories
4
+ * and https://schema.oasf.outshift.com/0.8.0/api/domain_categories
5
+ */
6
+ export const CELINA_OASF_VERSION = "0.8.0";
7
+ export const OASF_REPO_ENDPOINT = "https://github.com/agntcy/oasf/";
8
+ export const CELINA_OASF_SCHEMA_VERSION = "1.0.0";
9
+ /** EIP-8004 OASF service + hosted manifest skills */
10
+ export const CELINA_OASF_SKILLS = [
11
+ {
12
+ name: "natural_language_processing/information_retrieval_synthesis/information_retrieval_synthesis_search",
13
+ id: 10306,
14
+ },
15
+ {
16
+ name: "natural_language_processing/information_retrieval_synthesis/fact_extraction",
17
+ id: 10301,
18
+ },
19
+ {
20
+ name: "natural_language_processing/analytical_reasoning/fact_verification",
21
+ id: 10703,
22
+ },
23
+ { name: "tool_interaction/api_schema_understanding", id: 1401 },
24
+ { name: "tool_interaction/tool_use_planning", id: 1403 },
25
+ { name: "governance_compliance/compliance_assessment", id: 1302 },
26
+ ];
27
+ export const CELINA_OASF_DOMAINS = [
28
+ { name: "technology/blockchain", id: 109 },
29
+ { name: "technology/blockchain/cryptocurrency", id: 10901 },
30
+ { name: "technology/blockchain/defi", id: 10902 },
31
+ { name: "technology/blockchain/smart_contracts", id: 10903 },
32
+ { name: "finance_and_business/investment_services", id: 203 },
33
+ ];
34
+ export function celinaOasfSkillSlugs() {
35
+ return CELINA_OASF_SKILLS.map((entry) => entry.name);
36
+ }
37
+ export function celinaOasfDomainSlugs() {
38
+ return CELINA_OASF_DOMAINS.map((entry) => entry.name);
39
+ }
40
+ export function celinaOasfSkillsCsv() {
41
+ return celinaOasfSkillSlugs().join(", ");
42
+ }
43
+ export function celinaOasfDomainsCsv() {
44
+ return celinaOasfDomainSlugs().join(", ");
45
+ }
46
+ //# sourceMappingURL=taxonomy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../../src/oasf/taxonomy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;AACpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAOlD,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAiC;IAC9D;QACE,IAAI,EAAE,oGAAoG;QAC1G,EAAE,EAAE,KAAK;KACV;IACD;QACE,IAAI,EAAE,6EAA6E;QACnF,EAAE,EAAE,KAAK;KACV;IACD;QACE,IAAI,EAAE,oEAAoE;QAC1E,EAAE,EAAE,KAAK;KACV;IACD,EAAE,IAAI,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE;IAC/D,EAAE,IAAI,EAAE,oCAAoC,EAAE,EAAE,EAAE,IAAI,EAAE;IACxD,EAAE,IAAI,EAAE,6CAA6C,EAAE,EAAE,EAAE,IAAI,EAAE;CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAiC;IAC/D,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,GAAG,EAAE;IAC1C,EAAE,IAAI,EAAE,sCAAsC,EAAE,EAAE,EAAE,KAAK,EAAE;IAC3D,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE,EAAE,KAAK,EAAE;IACjD,EAAE,IAAI,EAAE,uCAAuC,EAAE,EAAE,EAAE,KAAK,EAAE;IAC5D,EAAE,IAAI,EAAE,0CAA0C,EAAE,EAAE,EAAE,GAAG,EAAE;CAC9D,CAAC;AAEF,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { CeloClientFactory } from "../clients/celo-client.js";
2
+ import { type SerializedPreparedFlow } from "../types/prepared.js";
3
+ /** Aave V3 supplied balance reads and supply/withdraw prepared flows on Celo mainnet. */
4
+ export declare class AaveService {
5
+ private readonly clientFactory;
6
+ private readonly tokenService;
7
+ constructor(clientFactory: CeloClientFactory);
8
+ private getPublicClient;
9
+ private assertUnderlyingBalance;
10
+ private readATokenBalance;
11
+ private assertATokenBalance;
12
+ /**
13
+ * Supplied Aave V3 positions (aToken balances) for an address on Celo mainnet.
14
+ * Amounts are in underlying token units including accrued interest.
15
+ */
16
+ getBalances(address: `0x${string}`, options?: {
17
+ tokens?: string[];
18
+ includeZero?: boolean;
19
+ }): Promise<{
20
+ network: "mainnet";
21
+ address: `0x${string}`;
22
+ market: "0x3E59A31363E2ad014dcbc521c4a0d5757d9f3402";
23
+ totalChecked: number;
24
+ balances: ({
25
+ symbol: string;
26
+ underlying: `0x${string}`;
27
+ aToken: `0x${string}`;
28
+ raw: string;
29
+ formatted: string;
30
+ readError: true;
31
+ } | {
32
+ symbol: string;
33
+ underlying: `0x${string}`;
34
+ aToken: `0x${string}`;
35
+ raw: string;
36
+ formatted: string;
37
+ readError?: undefined;
38
+ })[];
39
+ }>;
40
+ private needsApproval;
41
+ /**
42
+ * Build unsigned Aave V3 supply steps (approve + supply when needed).
43
+ * @param from - Supplier wallet address
44
+ * @param token - Aave asset symbol (e.g. `USDm`, `USDC`); `CELO` uses wrapped CELO (WCELO)
45
+ * @param amount - Human-readable supply amount
46
+ * @returns 1–2 step `SerializedPreparedFlow`; CELO must be wrapped ERC-20, not native
47
+ */
48
+ prepareSupply(from: `0x${string}`, token: string, amount: string): Promise<SerializedPreparedFlow>;
49
+ /**
50
+ * Build unsigned Aave V3 withdraw step on Celo.
51
+ * @param from - Withdrawer wallet address
52
+ * @param token - Aave asset symbol
53
+ * @param amount - Human-readable withdraw amount (omit when using `withdrawMax`)
54
+ * @param withdrawMax - When true, withdraws full supplied aToken balance
55
+ * @returns Single-step `SerializedPreparedFlow`
56
+ */
57
+ prepareWithdraw(from: `0x${string}`, token: string, amount: string | undefined, withdrawMax?: boolean): Promise<SerializedPreparedFlow>;
58
+ }
@@ -0,0 +1,210 @@
1
+ /** Aave V3 on Celo: prepareSupply and prepareWithdraw return multi-step flows (approve + pool call). */
2
+ import { concat, encodeFunctionData, erc20Abi, formatUnits } from "viem";
3
+ import { aavePoolAbi } from "../abis/aave-pool.js";
4
+ import { AAVE_ASSETS, AAVE_POOL, resolveAaveAsset, } from "../config/aave.js";
5
+ import { CELINA_DATA_SUFFIX } from "../config/celina-tag.js";
6
+ import { serializePreparedFlow, } from "../types/prepared.js";
7
+ import { TokenService } from "./token.service.js";
8
+ function taggedCalldata(data) {
9
+ return concat([data, CELINA_DATA_SUFFIX]);
10
+ }
11
+ /** Aave V3 supplied balance reads and supply/withdraw prepared flows on Celo mainnet. */
12
+ export class AaveService {
13
+ clientFactory;
14
+ tokenService;
15
+ constructor(clientFactory) {
16
+ this.clientFactory = clientFactory;
17
+ this.tokenService = new TokenService(clientFactory);
18
+ }
19
+ getPublicClient() {
20
+ return this.clientFactory.getClients().public;
21
+ }
22
+ async assertUnderlyingBalance(asset, publicClient, owner, amount) {
23
+ const token = this.tokenService.resolveToken(asset.symbol);
24
+ const required = this.tokenService.parseAmount(amount, token.decimals);
25
+ const balance = await publicClient.readContract({
26
+ address: asset.underlying,
27
+ abi: erc20Abi,
28
+ functionName: "balanceOf",
29
+ args: [owner],
30
+ });
31
+ if (balance < required) {
32
+ const celoHint = asset.symbol === "CELO"
33
+ ? " Aave requires wrapped CELO (ERC-20), not native CELO."
34
+ : "";
35
+ throw new Error(`Insufficient ${asset.symbol} balance. Required ${amount} ${asset.symbol}, available ${balance.toString()} raw units.${celoHint}`);
36
+ }
37
+ }
38
+ async readATokenBalance(asset, publicClient, owner) {
39
+ return publicClient.readContract({
40
+ address: asset.aToken,
41
+ abi: erc20Abi,
42
+ functionName: "balanceOf",
43
+ args: [owner],
44
+ });
45
+ }
46
+ async assertATokenBalance(asset, publicClient, owner, amount) {
47
+ const token = this.tokenService.resolveToken(asset.symbol);
48
+ const required = this.tokenService.parseAmount(amount, token.decimals);
49
+ const balance = await this.readATokenBalance(asset, publicClient, owner);
50
+ if (balance < required) {
51
+ throw new Error(`Insufficient Aave ${asset.symbol} supply balance. Required ${amount} ${asset.symbol}, available ${formatUnits(balance, token.decimals)} ${asset.symbol}.`);
52
+ }
53
+ }
54
+ /**
55
+ * Supplied Aave V3 positions (aToken balances) for an address on Celo mainnet.
56
+ * Amounts are in underlying token units including accrued interest.
57
+ */
58
+ async getBalances(address, options) {
59
+ const assets = options?.tokens
60
+ ? options.tokens.map((token) => resolveAaveAsset(token))
61
+ : Object.values(AAVE_ASSETS);
62
+ const { public: client } = this.clientFactory.getClients();
63
+ const results = await client.multicall({
64
+ contracts: assets.map((asset) => ({
65
+ address: asset.aToken,
66
+ abi: erc20Abi,
67
+ functionName: "balanceOf",
68
+ args: [address],
69
+ })),
70
+ allowFailure: true,
71
+ });
72
+ const balances = assets.map((asset, index) => {
73
+ const result = results[index];
74
+ const token = this.tokenService.resolveToken(asset.symbol);
75
+ if (result.status === "failure") {
76
+ return {
77
+ symbol: asset.symbol,
78
+ underlying: asset.underlying,
79
+ aToken: asset.aToken,
80
+ raw: "0",
81
+ formatted: "0",
82
+ readError: true,
83
+ };
84
+ }
85
+ const raw = result.result;
86
+ return {
87
+ symbol: asset.symbol,
88
+ underlying: asset.underlying,
89
+ aToken: asset.aToken,
90
+ raw: raw.toString(),
91
+ formatted: formatUnits(raw, token.decimals),
92
+ };
93
+ });
94
+ const filtered = options?.includeZero
95
+ ? balances
96
+ : balances.filter((balance) => balance.raw !== "0");
97
+ return {
98
+ network: "mainnet",
99
+ address,
100
+ market: AAVE_POOL,
101
+ totalChecked: assets.length,
102
+ balances: filtered,
103
+ };
104
+ }
105
+ async needsApproval(underlying, from, amountWei) {
106
+ const publicClient = this.getPublicClient();
107
+ const allowance = await publicClient.readContract({
108
+ address: underlying,
109
+ abi: erc20Abi,
110
+ functionName: "allowance",
111
+ args: [from, AAVE_POOL],
112
+ });
113
+ return allowance < amountWei;
114
+ }
115
+ /**
116
+ * Build unsigned Aave V3 supply steps (approve + supply when needed).
117
+ * @param from - Supplier wallet address
118
+ * @param token - Aave asset symbol (e.g. `USDm`, `USDC`); `CELO` uses wrapped CELO (WCELO)
119
+ * @param amount - Human-readable supply amount
120
+ * @returns 1–2 step `SerializedPreparedFlow`; CELO must be wrapped ERC-20, not native
121
+ */
122
+ async prepareSupply(from, token, amount) {
123
+ const asset = resolveAaveAsset(token);
124
+ const publicClient = this.getPublicClient();
125
+ await this.assertUnderlyingBalance(asset, publicClient, from, amount);
126
+ const resolved = this.tokenService.resolveToken(asset.symbol);
127
+ const amountWei = this.tokenService.parseAmount(amount, resolved.decimals);
128
+ const steps = [];
129
+ if (await this.needsApproval(asset.underlying, from, amountWei)) {
130
+ const approveData = taggedCalldata(encodeFunctionData({
131
+ abi: erc20Abi,
132
+ functionName: "approve",
133
+ args: [AAVE_POOL, amountWei],
134
+ }));
135
+ steps.push({
136
+ kind: "erc20",
137
+ to: asset.underlying,
138
+ data: approveData,
139
+ value: "0",
140
+ description: `Approve ${amount} ${asset.symbol} for Aave`,
141
+ });
142
+ }
143
+ const supplyData = taggedCalldata(encodeFunctionData({
144
+ abi: aavePoolAbi,
145
+ functionName: "supply",
146
+ args: [asset.underlying, amountWei, from, 0],
147
+ }));
148
+ steps.push({
149
+ kind: "contract",
150
+ to: AAVE_POOL,
151
+ data: supplyData,
152
+ value: "0",
153
+ description: `Supply ${amount} ${asset.symbol} to Aave V3`,
154
+ });
155
+ const flow = {
156
+ network: "mainnet",
157
+ from,
158
+ summary: `Supply ${amount} ${asset.symbol} to Aave V3 on Celo`,
159
+ steps,
160
+ };
161
+ return serializePreparedFlow(flow);
162
+ }
163
+ /**
164
+ * Build unsigned Aave V3 withdraw step on Celo.
165
+ * @param from - Withdrawer wallet address
166
+ * @param token - Aave asset symbol
167
+ * @param amount - Human-readable withdraw amount (omit when using `withdrawMax`)
168
+ * @param withdrawMax - When true, withdraws full supplied aToken balance
169
+ * @returns Single-step `SerializedPreparedFlow`
170
+ */
171
+ async prepareWithdraw(from, token, amount, withdrawMax) {
172
+ const asset = resolveAaveAsset(token);
173
+ const publicClient = this.getPublicClient();
174
+ if (!withdrawMax && !amount) {
175
+ throw new Error("Provide amount or set withdrawMax to true.");
176
+ }
177
+ if (!withdrawMax && amount) {
178
+ await this.assertATokenBalance(asset, publicClient, from, amount);
179
+ }
180
+ const resolved = this.tokenService.resolveToken(asset.symbol);
181
+ const amountWei = withdrawMax
182
+ ? await this.readATokenBalance(asset, publicClient, from)
183
+ : this.tokenService.parseAmount(amount, resolved.decimals);
184
+ if (amountWei === 0n) {
185
+ throw new Error(`No supplied ${asset.symbol} balance to withdraw.`);
186
+ }
187
+ const withdrawData = taggedCalldata(encodeFunctionData({
188
+ abi: aavePoolAbi,
189
+ functionName: "withdraw",
190
+ args: [asset.underlying, amountWei, from],
191
+ }));
192
+ const amountLabel = withdrawMax ? "max" : amount;
193
+ const flow = {
194
+ network: "mainnet",
195
+ from,
196
+ summary: `Withdraw ${amountLabel} ${asset.symbol} from Aave V3 on Celo`,
197
+ steps: [
198
+ {
199
+ kind: "contract",
200
+ to: AAVE_POOL,
201
+ data: withdrawData,
202
+ value: "0",
203
+ description: `Withdraw ${amountLabel} ${asset.symbol} from Aave`,
204
+ },
205
+ ],
206
+ };
207
+ return serializePreparedFlow(flow);
208
+ }
209
+ }
210
+ //# sourceMappingURL=aave.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aave.service.js","sourceRoot":"","sources":["../../../src/services/aave.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Account reads: native CELO balance, transaction nonce, and contract detection.
3
+ */
4
+ import type { CeloClientFactory } from "../clients/celo-client.js";
5
+ /** CELO mainnet account snapshot for a wallet or contract address. */
6
+ export declare class AccountService {
7
+ private readonly clientFactory;
8
+ constructor(clientFactory: CeloClientFactory);
9
+ /**
10
+ * Fetch CELO balance, nonce, and whether the address has contract bytecode.
11
+ * @param address - Wallet or contract address on Celo mainnet
12
+ * @returns Balance in wei and CELO, current nonce, and `isContract` flag
13
+ */
14
+ getAccount(address: `0x${string}`): Promise<{
15
+ address: `0x${string}`;
16
+ network: string;
17
+ balanceWei: string;
18
+ balanceCelo: number;
19
+ nonce: number;
20
+ isContract: boolean;
21
+ }>;
22
+ }