@andrewkimjoseph/celina-sdk 0.14.0 → 0.15.1

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 (366) hide show
  1. package/README.md +7 -5
  2. package/build/aa/create-aa-client.d.ts +10 -3
  3. package/build/aa/create-aa-client.js +6 -3
  4. package/build/aa/create-aa-client.js.map +1 -1
  5. package/build/aa/prepared-calls.d.ts +6 -2
  6. package/build/aa/prepared-calls.js +13 -3
  7. package/build/aa/prepared-calls.js.map +1 -1
  8. package/build/aa/types.d.ts +10 -2
  9. package/build/config/celina-tag.d.ts +7 -3
  10. package/build/config/celina-tag.js +7 -3
  11. package/build/config/celina-tag.js.map +1 -1
  12. package/package.json +3 -2
  13. package/build/src/a2a/agent-card.d.ts +0 -37
  14. package/build/src/a2a/agent-card.js +0 -46
  15. package/build/src/a2a/agent-card.js.map +0 -1
  16. package/build/src/a2a/index.d.ts +0 -2
  17. package/build/src/a2a/index.js +0 -3
  18. package/build/src/a2a/index.js.map +0 -1
  19. package/build/src/a2a/skills.d.ts +0 -18
  20. package/build/src/a2a/skills.js +0 -106
  21. package/build/src/a2a/skills.js.map +0 -1
  22. package/build/src/aa/create-aa-client.d.ts +0 -37
  23. package/build/src/aa/create-aa-client.js +0 -112
  24. package/build/src/aa/create-aa-client.js.map +0 -1
  25. package/build/src/aa/gas-sponsorship.d.ts +0 -27
  26. package/build/src/aa/gas-sponsorship.js +0 -65
  27. package/build/src/aa/gas-sponsorship.js.map +0 -1
  28. package/build/src/aa/index.d.ts +0 -4
  29. package/build/src/aa/index.js +0 -4
  30. package/build/src/aa/index.js.map +0 -1
  31. package/build/src/aa/prepared-calls.d.ts +0 -4
  32. package/build/src/aa/prepared-calls.js +0 -17
  33. package/build/src/aa/prepared-calls.js.map +0 -1
  34. package/build/src/aa/types.d.ts +0 -53
  35. package/build/src/aa/types.js +0 -2
  36. package/build/src/aa/types.js.map +0 -1
  37. package/build/src/abis/aave-pool.d.ts +0 -37
  38. package/build/src/abis/aave-pool.js +0 -26
  39. package/build/src/abis/aave-pool.js.map +0 -1
  40. package/build/src/abis/accounts.d.ts +0 -13
  41. package/build/src/abis/accounts.js +0 -10
  42. package/build/src/abis/accounts.js.map +0 -1
  43. package/build/src/abis/election.d.ts +0 -124
  44. package/build/src/abis/election.js +0 -88
  45. package/build/src/abis/election.js.map +0 -1
  46. package/build/src/abis/gooddollar-broker.d.ts +0 -77
  47. package/build/src/abis/gooddollar-broker.js +0 -44
  48. package/build/src/abis/gooddollar-broker.js.map +0 -1
  49. package/build/src/abis/gooddollar-identity.d.ts +0 -85
  50. package/build/src/abis/gooddollar-identity.js +0 -52
  51. package/build/src/abis/gooddollar-identity.js.map +0 -1
  52. package/build/src/abis/governance.d.ts +0 -86
  53. package/build/src/abis/governance.js +0 -68
  54. package/build/src/abis/governance.js.map +0 -1
  55. package/build/src/abis/locked-gold.d.ts +0 -10
  56. package/build/src/abis/locked-gold.js +0 -10
  57. package/build/src/abis/locked-gold.js.map +0 -1
  58. package/build/src/abis/nft.d.ts +0 -107
  59. package/build/src/abis/nft.js +0 -75
  60. package/build/src/abis/nft.js.map +0 -1
  61. package/build/src/abis/permit2.d.ts +0 -43
  62. package/build/src/abis/permit2.js +0 -30
  63. package/build/src/abis/permit2.js.map +0 -1
  64. package/build/src/abis/self-registry.d.ts +0 -194
  65. package/build/src/abis/self-registry.js +0 -120
  66. package/build/src/abis/self-registry.js.map +0 -1
  67. package/build/src/abis/ubi-scheme.d.ts +0 -91
  68. package/build/src/abis/ubi-scheme.js +0 -66
  69. package/build/src/abis/ubi-scheme.js.map +0 -1
  70. package/build/src/abis/uniswap-state-view.d.ts +0 -34
  71. package/build/src/abis/uniswap-state-view.js +0 -22
  72. package/build/src/abis/uniswap-state-view.js.map +0 -1
  73. package/build/src/abis/uniswap-v4-quoter.d.ts +0 -86
  74. package/build/src/abis/uniswap-v4-quoter.js +0 -64
  75. package/build/src/abis/uniswap-v4-quoter.js.map +0 -1
  76. package/build/src/abis/universal-router.d.ts +0 -16
  77. package/build/src/abis/universal-router.js +0 -14
  78. package/build/src/abis/universal-router.js.map +0 -1
  79. package/build/src/abis/validators-minimal.d.ts +0 -65
  80. package/build/src/abis/validators-minimal.js +0 -39
  81. package/build/src/abis/validators-minimal.js.map +0 -1
  82. package/build/src/analytics/amplitude.d.ts +0 -11
  83. package/build/src/analytics/amplitude.js +0 -76
  84. package/build/src/analytics/amplitude.js.map +0 -1
  85. package/build/src/analytics/config.d.ts +0 -7
  86. package/build/src/analytics/config.js +0 -25
  87. package/build/src/analytics/config.js.map +0 -1
  88. package/build/src/analytics/consumer-package.d.ts +0 -9
  89. package/build/src/analytics/consumer-package.js +0 -143
  90. package/build/src/analytics/consumer-package.js.map +0 -1
  91. package/build/src/analytics/mcp-tool-events.d.ts +0 -5
  92. package/build/src/analytics/mcp-tool-events.js +0 -53
  93. package/build/src/analytics/mcp-tool-events.js.map +0 -1
  94. package/build/src/analytics/wallet-context.d.ts +0 -11
  95. package/build/src/analytics/wallet-context.js +0 -81
  96. package/build/src/analytics/wallet-context.js.map +0 -1
  97. package/build/src/analytics/wallet-extract.d.ts +0 -9
  98. package/build/src/analytics/wallet-extract.js +0 -21
  99. package/build/src/analytics/wallet-extract.js.map +0 -1
  100. package/build/src/analytics/wrap-service.d.ts +0 -5
  101. package/build/src/analytics/wrap-service.js +0 -38
  102. package/build/src/analytics/wrap-service.js.map +0 -1
  103. package/build/src/clients/celo-client.d.ts +0 -19
  104. package/build/src/clients/celo-client.js +0 -32
  105. package/build/src/clients/celo-client.js.map +0 -1
  106. package/build/src/clients/ens-client.d.ts +0 -17
  107. package/build/src/clients/ens-client.js +0 -30
  108. package/build/src/clients/ens-client.js.map +0 -1
  109. package/build/src/clients/mento-sdk.d.ts +0 -2
  110. package/build/src/clients/mento-sdk.js +0 -9
  111. package/build/src/clients/mento-sdk.js.map +0 -1
  112. package/build/src/clients/self-api.d.ts +0 -82
  113. package/build/src/clients/self-api.js +0 -242
  114. package/build/src/clients/self-api.js.map +0 -1
  115. package/build/src/clients/uniswap-sdk.d.ts +0 -4
  116. package/build/src/clients/uniswap-sdk.js +0 -13
  117. package/build/src/clients/uniswap-sdk.js.map +0 -1
  118. package/build/src/config/aave.d.ts +0 -17
  119. package/build/src/config/aave.js +0 -77
  120. package/build/src/config/aave.js.map +0 -1
  121. package/build/src/config/celina-tag.d.ts +0 -46
  122. package/build/src/config/celina-tag.js +0 -166
  123. package/build/src/config/celina-tag.js.map +0 -1
  124. package/build/src/config/celo-core-contracts.d.ts +0 -8
  125. package/build/src/config/celo-core-contracts.js +0 -9
  126. package/build/src/config/celo-core-contracts.js.map +0 -1
  127. package/build/src/config/chains.d.ts +0 -937
  128. package/build/src/config/chains.js +0 -319
  129. package/build/src/config/chains.js.map +0 -1
  130. package/build/src/config/gooddollar.d.ts +0 -16
  131. package/build/src/config/gooddollar.js +0 -24
  132. package/build/src/config/gooddollar.js.map +0 -1
  133. package/build/src/config/sdk-config.d.ts +0 -44
  134. package/build/src/config/sdk-config.js +0 -28
  135. package/build/src/config/sdk-config.js.map +0 -1
  136. package/build/src/config/self.d.ts +0 -22
  137. package/build/src/config/self.js +0 -27
  138. package/build/src/config/self.js.map +0 -1
  139. package/build/src/config/uniswap.d.ts +0 -42
  140. package/build/src/config/uniswap.js +0 -76
  141. package/build/src/config/uniswap.js.map +0 -1
  142. package/build/src/index.d.ts +0 -127
  143. package/build/src/index.js +0 -72
  144. package/build/src/index.js.map +0 -1
  145. package/build/src/oasf/index.d.ts +0 -2
  146. package/build/src/oasf/index.js +0 -3
  147. package/build/src/oasf/index.js.map +0 -1
  148. package/build/src/oasf/record.d.ts +0 -39
  149. package/build/src/oasf/record.js +0 -35
  150. package/build/src/oasf/record.js.map +0 -1
  151. package/build/src/oasf/taxonomy.d.ts +0 -19
  152. package/build/src/oasf/taxonomy.js +0 -46
  153. package/build/src/oasf/taxonomy.js.map +0 -1
  154. package/build/src/services/aave.service.d.ts +0 -59
  155. package/build/src/services/aave.service.js +0 -210
  156. package/build/src/services/aave.service.js.map +0 -1
  157. package/build/src/services/account.service.d.ts +0 -22
  158. package/build/src/services/account.service.js +0 -29
  159. package/build/src/services/account.service.js.map +0 -1
  160. package/build/src/services/agentkarma.service.d.ts +0 -89
  161. package/build/src/services/agentkarma.service.js +0 -102
  162. package/build/src/services/agentkarma.service.js.map +0 -1
  163. package/build/src/services/blockchain.service.d.ts +0 -126
  164. package/build/src/services/blockchain.service.js +0 -188
  165. package/build/src/services/blockchain.service.js.map +0 -1
  166. package/build/src/services/contract.service.d.ts +0 -78
  167. package/build/src/services/contract.service.js +0 -117
  168. package/build/src/services/contract.service.js.map +0 -1
  169. package/build/src/services/ens.service.d.ts +0 -44
  170. package/build/src/services/ens.service.js +0 -92
  171. package/build/src/services/ens.service.js.map +0 -1
  172. package/build/src/services/gooddollar.service.d.ts +0 -184
  173. package/build/src/services/gooddollar.service.js +0 -675
  174. package/build/src/services/gooddollar.service.js.map +0 -1
  175. package/build/src/services/governance.service.d.ts +0 -96
  176. package/build/src/services/governance.service.js +0 -255
  177. package/build/src/services/governance.service.js.map +0 -1
  178. package/build/src/services/mento-fx.service.d.ts +0 -81
  179. package/build/src/services/mento-fx.service.js +0 -318
  180. package/build/src/services/mento-fx.service.js.map +0 -1
  181. package/build/src/services/nft.service.d.ts +0 -58
  182. package/build/src/services/nft.service.js +0 -222
  183. package/build/src/services/nft.service.js.map +0 -1
  184. package/build/src/services/self-session-store.d.ts +0 -19
  185. package/build/src/services/self-session-store.js +0 -28
  186. package/build/src/services/self-session-store.js.map +0 -1
  187. package/build/src/services/self.service.d.ts +0 -241
  188. package/build/src/services/self.service.js +0 -699
  189. package/build/src/services/self.service.js.map +0 -1
  190. package/build/src/services/staking.service.d.ts +0 -140
  191. package/build/src/services/staking.service.js +0 -444
  192. package/build/src/services/staking.service.js.map +0 -1
  193. package/build/src/services/token.service.d.ts +0 -110
  194. package/build/src/services/token.service.js +0 -189
  195. package/build/src/services/token.service.js.map +0 -1
  196. package/build/src/services/transaction.service.d.ts +0 -69
  197. package/build/src/services/transaction.service.js +0 -197
  198. package/build/src/services/transaction.service.js.map +0 -1
  199. package/build/src/services/uniswap-path-router.d.ts +0 -40
  200. package/build/src/services/uniswap-path-router.js +0 -168
  201. package/build/src/services/uniswap-path-router.js.map +0 -1
  202. package/build/src/services/uniswap-pool-discovery.d.ts +0 -55
  203. package/build/src/services/uniswap-pool-discovery.js +0 -198
  204. package/build/src/services/uniswap-pool-discovery.js.map +0 -1
  205. package/build/src/services/uniswap.service.d.ts +0 -83
  206. package/build/src/services/uniswap.service.js +0 -352
  207. package/build/src/services/uniswap.service.js.map +0 -1
  208. package/build/src/simulation/index.d.ts +0 -5
  209. package/build/src/simulation/index.js +0 -2
  210. package/build/src/simulation/index.js.map +0 -1
  211. package/build/src/simulation/simulate-prepared-step.d.ts +0 -17
  212. package/build/src/simulation/simulate-prepared-step.js +0 -42
  213. package/build/src/simulation/simulate-prepared-step.js.map +0 -1
  214. package/build/src/tools/catalog.d.ts +0 -11
  215. package/build/src/tools/catalog.js +0 -43
  216. package/build/src/tools/catalog.js.map +0 -1
  217. package/build/src/tools/domains/aave.d.ts +0 -2
  218. package/build/src/tools/domains/aave.js +0 -115
  219. package/build/src/tools/domains/aave.js.map +0 -1
  220. package/build/src/tools/domains/agentkarma.d.ts +0 -2
  221. package/build/src/tools/domains/agentkarma.js +0 -92
  222. package/build/src/tools/domains/agentkarma.js.map +0 -1
  223. package/build/src/tools/domains/blockchain.d.ts +0 -2
  224. package/build/src/tools/domains/blockchain.js +0 -122
  225. package/build/src/tools/domains/blockchain.js.map +0 -1
  226. package/build/src/tools/domains/browser.d.ts +0 -2
  227. package/build/src/tools/domains/browser.js +0 -45
  228. package/build/src/tools/domains/browser.js.map +0 -1
  229. package/build/src/tools/domains/contract.d.ts +0 -2
  230. package/build/src/tools/domains/contract.js +0 -67
  231. package/build/src/tools/domains/contract.js.map +0 -1
  232. package/build/src/tools/domains/ens.d.ts +0 -2
  233. package/build/src/tools/domains/ens.js +0 -16
  234. package/build/src/tools/domains/ens.js.map +0 -1
  235. package/build/src/tools/domains/gooddollar.d.ts +0 -2
  236. package/build/src/tools/domains/gooddollar.js +0 -171
  237. package/build/src/tools/domains/gooddollar.js.map +0 -1
  238. package/build/src/tools/domains/governance.d.ts +0 -2
  239. package/build/src/tools/domains/governance.js +0 -41
  240. package/build/src/tools/domains/governance.js.map +0 -1
  241. package/build/src/tools/domains/index.d.ts +0 -1
  242. package/build/src/tools/domains/index.js +0 -33
  243. package/build/src/tools/domains/index.js.map +0 -1
  244. package/build/src/tools/domains/mento-fx.d.ts +0 -2
  245. package/build/src/tools/domains/mento-fx.js +0 -67
  246. package/build/src/tools/domains/mento-fx.js.map +0 -1
  247. package/build/src/tools/domains/nft.d.ts +0 -2
  248. package/build/src/tools/domains/nft.js +0 -38
  249. package/build/src/tools/domains/nft.js.map +0 -1
  250. package/build/src/tools/domains/self.d.ts +0 -2
  251. package/build/src/tools/domains/self.js +0 -187
  252. package/build/src/tools/domains/self.js.map +0 -1
  253. package/build/src/tools/domains/staking.d.ts +0 -2
  254. package/build/src/tools/domains/staking.js +0 -74
  255. package/build/src/tools/domains/staking.js.map +0 -1
  256. package/build/src/tools/domains/token.d.ts +0 -2
  257. package/build/src/tools/domains/token.js +0 -74
  258. package/build/src/tools/domains/token.js.map +0 -1
  259. package/build/src/tools/domains/transaction.d.ts +0 -2
  260. package/build/src/tools/domains/transaction.js +0 -120
  261. package/build/src/tools/domains/transaction.js.map +0 -1
  262. package/build/src/tools/domains/uniswap.d.ts +0 -2
  263. package/build/src/tools/domains/uniswap.js +0 -67
  264. package/build/src/tools/domains/uniswap.js.map +0 -1
  265. package/build/src/tools/filter.d.ts +0 -2
  266. package/build/src/tools/filter.js +0 -50
  267. package/build/src/tools/filter.js.map +0 -1
  268. package/build/src/tools/index.d.ts +0 -7
  269. package/build/src/tools/index.js +0 -7
  270. package/build/src/tools/index.js.map +0 -1
  271. package/build/src/tools/schemas/common.d.ts +0 -165
  272. package/build/src/tools/schemas/common.js +0 -207
  273. package/build/src/tools/schemas/common.js.map +0 -1
  274. package/build/src/tools/schemas/wallet-params.d.ts +0 -9
  275. package/build/src/tools/schemas/wallet-params.js +0 -52
  276. package/build/src/tools/schemas/wallet-params.js.map +0 -1
  277. package/build/src/tools/swap-routing.d.ts +0 -25
  278. package/build/src/tools/swap-routing.js +0 -174
  279. package/build/src/tools/swap-routing.js.map +0 -1
  280. package/build/src/tools/types.d.ts +0 -124
  281. package/build/src/tools/types.js +0 -2
  282. package/build/src/tools/types.js.map +0 -1
  283. package/build/src/tools/utils/normalize-token.d.ts +0 -2
  284. package/build/src/tools/utils/normalize-token.js +0 -12
  285. package/build/src/tools/utils/normalize-token.js.map +0 -1
  286. package/build/src/tools/utils/wallet.d.ts +0 -4
  287. package/build/src/tools/utils/wallet.js +0 -8
  288. package/build/src/tools/utils/wallet.js.map +0 -1
  289. package/build/src/tools/website-sync.d.ts +0 -28
  290. package/build/src/tools/website-sync.js +0 -198
  291. package/build/src/tools/website-sync.js.map +0 -1
  292. package/build/src/types/prepared.d.ts +0 -43
  293. package/build/src/types/prepared.js +0 -15
  294. package/build/src/types/prepared.js.map +0 -1
  295. package/build/src/utils/celo-format.d.ts +0 -6
  296. package/build/src/utils/celo-format.js +0 -17
  297. package/build/src/utils/celo-format.js.map +0 -1
  298. package/build/src/utils/erc20-allowance-storage.d.ts +0 -20
  299. package/build/src/utils/erc20-allowance-storage.js +0 -64
  300. package/build/src/utils/erc20-allowance-storage.js.map +0 -1
  301. package/build/src/utils/format-date.d.ts +0 -2
  302. package/build/src/utils/format-date.js +0 -13
  303. package/build/src/utils/format-date.js.map +0 -1
  304. package/build/src/utils/format-duration.d.ts +0 -2
  305. package/build/src/utils/format-duration.js +0 -17
  306. package/build/src/utils/format-duration.js.map +0 -1
  307. package/build/src/utils/format-unix-datetime.d.ts +0 -4
  308. package/build/src/utils/format-unix-datetime.js +0 -18
  309. package/build/src/utils/format-unix-datetime.js.map +0 -1
  310. package/build/src/utils/gooddollar-ubi-period.d.ts +0 -23
  311. package/build/src/utils/gooddollar-ubi-period.js +0 -23
  312. package/build/src/utils/gooddollar-ubi-period.js.map +0 -1
  313. package/build/src/utils/normalize-address.d.ts +0 -7
  314. package/build/src/utils/normalize-address.js +0 -16
  315. package/build/src/utils/normalize-address.js.map +0 -1
  316. package/build/src/utils/self-format.d.ts +0 -28
  317. package/build/src/utils/self-format.js +0 -79
  318. package/build/src/utils/self-format.js.map +0 -1
  319. package/build/src/utils/self-signing.d.ts +0 -4
  320. package/build/src/utils/self-signing.js +0 -38
  321. package/build/src/utils/self-signing.js.map +0 -1
  322. package/build/src/utils/transaction-errors.d.ts +0 -3
  323. package/build/src/utils/transaction-errors.js +0 -17
  324. package/build/src/utils/transaction-errors.js.map +0 -1
  325. package/build/tests/catalog/domains/blockchain.d.ts +0 -2
  326. package/build/tests/catalog/domains/blockchain.js +0 -127
  327. package/build/tests/catalog/domains/blockchain.js.map +0 -1
  328. package/build/tests/catalog/domains/chain-ext.d.ts +0 -5
  329. package/build/tests/catalog/domains/chain-ext.js +0 -207
  330. package/build/tests/catalog/domains/chain-ext.js.map +0 -1
  331. package/build/tests/catalog/domains/defi.d.ts +0 -6
  332. package/build/tests/catalog/domains/defi.js +0 -581
  333. package/build/tests/catalog/domains/defi.js.map +0 -1
  334. package/build/tests/catalog/domains/self.d.ts +0 -2
  335. package/build/tests/catalog/domains/self.js +0 -208
  336. package/build/tests/catalog/domains/self.js.map +0 -1
  337. package/build/tests/catalog/domains/token.d.ts +0 -2
  338. package/build/tests/catalog/domains/token.js +0 -70
  339. package/build/tests/catalog/domains/token.js.map +0 -1
  340. package/build/tests/catalog/domains/transaction.d.ts +0 -2
  341. package/build/tests/catalog/domains/transaction.js +0 -96
  342. package/build/tests/catalog/domains/transaction.js.map +0 -1
  343. package/build/tests/catalog/index.d.ts +0 -2
  344. package/build/tests/catalog/index.js +0 -2
  345. package/build/tests/catalog/index.js.map +0 -1
  346. package/build/tests/catalog/operations.d.ts +0 -12
  347. package/build/tests/catalog/operations.js +0 -29
  348. package/build/tests/catalog/operations.js.map +0 -1
  349. package/build/tests/catalog/types.d.ts +0 -24
  350. package/build/tests/catalog/types.js +0 -2
  351. package/build/tests/catalog/types.js.map +0 -1
  352. package/build/tests/fixtures/mainnet.d.ts +0 -54
  353. package/build/tests/fixtures/mainnet.js +0 -53
  354. package/build/tests/fixtures/mainnet.js.map +0 -1
  355. package/build/tests/helpers/assert.d.ts +0 -4
  356. package/build/tests/helpers/assert.js +0 -24
  357. package/build/tests/helpers/assert.js.map +0 -1
  358. package/build/tests/helpers/env.d.ts +0 -12
  359. package/build/tests/helpers/env.js +0 -29
  360. package/build/tests/helpers/env.js.map +0 -1
  361. package/build/tests/helpers/gating.d.ts +0 -3
  362. package/build/tests/helpers/gating.js +0 -23
  363. package/build/tests/helpers/gating.js.map +0 -1
  364. package/build/tests/testing-entry.d.ts +0 -6
  365. package/build/tests/testing-entry.js +0 -6
  366. package/build/tests/testing-entry.js.map +0 -1
package/README.md CHANGED
@@ -14,9 +14,9 @@ Celina is layered from chain logic through agent tooling:
14
14
 
15
15
  | Layer | Package | Role |
16
16
  |-------|---------|------|
17
- | **SDK** | `@andrewkimjoseph/celina-sdk` | Reads, gas estimates, and `prepare*` flows |
17
+ | **SDK** | `@andrewkimjoseph/celina-sdk` | Reads, gas estimates, `prepare*` flows (`chainId: 42220`), dual attribution, `createAAClient` |
18
18
  | **MCP** | `@andrewkimjoseph/celina-mcp` | MCP tools for Cursor / Claude / LM Studio — stdio writes or hosted reads |
19
- | **MCP host** | `celina-mcp-host` | Vercel Streamable HTTP — hosted reads (34 tools); no server-key writes |
19
+ | **MCP host** | `celina-mcp-host` | Vercel Streamable HTTP — hosted reads (36 tools); no server-key writes; no sponsorship keys |
20
20
 
21
21
  This repo is the **SDK**. Downstream packages depend on published npm semver (no local `file:` links in production).
22
22
 
@@ -43,7 +43,9 @@ Before broadcasting prepared steps, call `simulatePreparedStep` from `@andrewkim
43
43
  - [Quick start](https://andrewkimjoseph.gitbook.io/celina-sdk/getting-started/quick-start)
44
44
  - [LLM tool catalog](docs/guides/tool-catalog.md) — `@andrewkimjoseph/celina-sdk/tools` for MCP and AI SDK hosts
45
45
  - [Architecture](docs/concepts/architecture.md) — client composition and stack
46
- - [Prepared flows](docs/concepts/prepared-flows.md) — `SerializedPreparedFlow`, CELINA calldata tag
46
+ - [Prepared flows](docs/concepts/prepared-flows.md) — `SerializedPreparedFlow` (`chainId: 42220`), dual CELINA attribution
47
+ - [On-chain attribution](docs/guides/on-chain-attribution.md) — wire format, check vs verify, Celina vs AA tags
48
+ - [Account Abstraction](docs/guides/account-abstraction.md) — `createAAClient`, app-owned sponsorship, AA `attributionTags`
47
49
  - [Prepared-step simulation](docs/guides/prepared-step-simulation.md) — `simulatePreparedStep` before wallet send
48
50
  - [wagmi integration](https://andrewkimjoseph.gitbook.io/celina-sdk/guides/wagmi-integration)
49
51
  - [GoodDollar](docs/guides/gooddollar.md) — UBI whitelist/claim and G$ ↔ USDm reserve swaps
@@ -93,13 +95,13 @@ Every step with calldata gets **dual attribution suffixes** via `appendCelinaCal
93
95
  1. **Legacy UTF-8** — `CELINA|TAG1|TAG2` (app tags uppercase; `celo_<12 hex>` lowercase)
94
96
  2. **ERC-8021 Schema 0** — `toDataSuffix(["celina", ...])` via `@celo/attribution-tags` for Celo leaderboards and `verifyTx`
95
97
 
96
- Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` apply to both layers (deduped, stable order). List or check on-chain tags with `check_attribution_tag` (preferred) or `checkAttributionInCalldata`; use `verify_attribution_tag` / `verifyAttributionInCalldata` for raw legacy + ERC-8021 layers.
98
+ Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` apply to both layers (deduped, stable order). The same option on **`createAAClient`** tags at `sendPreparedFlow` time (omit for pass-through). Prepared flows expose **`chainId: 42220`**. List or check on-chain tags with `check_attribution_tag` (preferred) or `checkAttributionInCalldata`; use `verify_attribution_tag` / `verifyAttributionInCalldata` for raw legacy + ERC-8021 layers.
97
99
 
98
100
  Before opening the wallet, simulate each step against current chain state with `@andrewkimjoseph/celina-sdk/simulation` (`simulatePreparedStep`). Local **celina-mcp** stdio writes use the same helper in `executePreparedFlow` before broadcast.
99
101
 
100
102
  For **sponsored / batched UserOps**, use [`createAAClient`](docs/guides/account-abstraction.md) with an app-owned gas sponsorship provider (v1: Pimlico). MCP does not host sponsorship API keys.
101
103
 
102
- See [Prepared flows](docs/concepts/prepared-flows.md), [Prepared-step simulation](docs/guides/prepared-step-simulation.md), and [Account Abstraction](docs/guides/account-abstraction.md).
104
+ See [Prepared flows](docs/concepts/prepared-flows.md), [On-chain attribution](docs/guides/on-chain-attribution.md), [Prepared-step simulation](docs/guides/prepared-step-simulation.md), and [Account Abstraction](docs/guides/account-abstraction.md).
103
105
 
104
106
  ### MCP session wallet (not in the SDK)
105
107
 
@@ -19,9 +19,15 @@ export type AAClient = {
19
19
  smartAccountAddress: `0x${string}`;
20
20
  /** Underlying sponsorship service (URLs, paymaster, fees). */
21
21
  gasSponsorship: GasSponsorshipService;
22
+ /**
23
+ * Tags applied in `sendPreparedFlow` via `appendCelinaCalldataTag`.
24
+ * `undefined` means step `data` is passed through unchanged.
25
+ */
26
+ attributionTags: string[] | undefined;
22
27
  /**
23
28
  * Submit `prepare*` output (ordered `steps` / prepared transactions) as sponsored UserOp(s).
24
- * Does not append attribution; uses each step’s `data` as-is (including Celina dual tags from `prepare*`).
29
+ * When `attributionTags` were set on this client, each step’s `data` is dual-tagged
30
+ * before submit; otherwise `data` is used as-is (including tags from `prepare*`).
25
31
  */
26
32
  sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
27
33
  };
@@ -31,7 +37,8 @@ export type AAClient = {
31
37
  * Pass an explicit `gasSponsorship` provider object — credentials are app-owned
32
38
  * and never stored by Celina. v1 supports `provider: "pimlico"`.
33
39
  *
34
- * Does not accept `attributionTags`. Set them on `createCelinaClient({ attributionTags })`
35
- * before `prepare*`; `sendPreparedFlow` preserves already-tagged step calldata.
40
+ * Optional `attributionTags` are applied in `sendPreparedFlow` via
41
+ * `appendCelinaCalldataTag` (same dual format as `prepare*`). Omit them to
42
+ * pass step calldata through unchanged.
36
43
  */
37
44
  export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;
@@ -44,12 +44,14 @@ export async function deriveSmartAccountAddress(owner, publicClient) {
44
44
  * Pass an explicit `gasSponsorship` provider object — credentials are app-owned
45
45
  * and never stored by Celina. v1 supports `provider: "pimlico"`.
46
46
  *
47
- * Does not accept `attributionTags`. Set them on `createCelinaClient({ attributionTags })`
48
- * before `prepare*`; `sendPreparedFlow` preserves already-tagged step calldata.
47
+ * Optional `attributionTags` are applied in `sendPreparedFlow` via
48
+ * `appendCelinaCalldataTag` (same dual format as `prepare*`). Omit them to
49
+ * pass step calldata through unchanged.
49
50
  */
50
51
  export async function createAAClient(options) {
51
52
  const eoaAccount = resolveOwner(options.owner);
52
53
  const publicClient = options.publicClient ?? defaultPublicClient();
54
+ const attributionTags = options.attributionTags;
53
55
  const gasSponsorship = new GasSponsorshipService(options.gasSponsorship, CHAIN.id);
54
56
  const smartAccount = await toSimpleSmartAccount({
55
57
  client: publicClient,
@@ -71,7 +73,7 @@ export async function createAAClient(options) {
71
73
  });
72
74
  async function sendPreparedFlow(flow, sendOptions) {
73
75
  const mode = sendOptions?.mode ?? "batch";
74
- const calls = preparedStepsToUserOpCalls(flow.steps);
76
+ const calls = preparedStepsToUserOpCalls(flow.steps, attributionTags);
75
77
  const userOpHashes = [];
76
78
  const transactionHashes = [];
77
79
  if (mode === "batch") {
@@ -106,6 +108,7 @@ export async function createAAClient(options) {
106
108
  eoaAddress: eoaAccount.address,
107
109
  smartAccountAddress: smartAccount.address,
108
110
  gasSponsorship,
111
+ attributionTags,
109
112
  sendPreparedFlow,
110
113
  };
111
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-aa-client.js","sourceRoot":"","sources":["../../src/aa/create-aa-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-aa-client.js","sourceRoot":"","sources":["../../src/aa/create-aa-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import type { PreparedTx } from "../types/prepared.js";
2
2
  import type { UserOpCall } from "./types.js";
3
- /** Map Celina prepared steps to smart-account `calls` (preserves tagged `data`). */
4
- export declare function preparedStepsToUserOpCalls(steps: PreparedTx[]): UserOpCall[];
3
+ /**
4
+ * Map Celina prepared steps to smart-account `calls`.
5
+ * When `attributionTags` is provided, each step's `data` is dual-tagged
6
+ * via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
7
+ */
8
+ export declare function preparedStepsToUserOpCalls(steps: PreparedTx[], attributionTags?: string[]): UserOpCall[];
@@ -1,15 +1,25 @@
1
- /** Map Celina prepared steps to smart-account `calls` (preserves tagged `data`). */
2
- export function preparedStepsToUserOpCalls(steps) {
1
+ import { appendCelinaCalldataTag } from "../config/celina-tag.js";
2
+ /**
3
+ * Map Celina prepared steps to smart-account `calls`.
4
+ * When `attributionTags` is provided, each step's `data` is dual-tagged
5
+ * via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
6
+ */
7
+ export function preparedStepsToUserOpCalls(steps, attributionTags) {
3
8
  if (!steps.length) {
4
9
  throw new Error("prepared flow has no steps");
5
10
  }
11
+ const shouldTag = attributionTags !== undefined;
6
12
  return steps.map((step) => {
7
13
  const value = step.value !== undefined && step.value !== ""
8
14
  ? BigInt(step.value)
9
15
  : undefined;
16
+ let data = step.data;
17
+ if (shouldTag && data !== undefined) {
18
+ data = appendCelinaCalldataTag(data, attributionTags);
19
+ }
10
20
  return {
11
21
  to: step.to,
12
- ...(step.data !== undefined ? { data: step.data } : {}),
22
+ ...(data !== undefined ? { data } : {}),
13
23
  ...(value !== undefined && value > 0n ? { value } : {}),
14
24
  };
15
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-calls.js","sourceRoot":"","sources":["../../src/aa/prepared-calls.ts"],"names":[],"mappings":"AAGA,oFAAoF;AACpF,MAAM,UAAU,0BAA0B,CAAC,KAAmB;IAC5D,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAC3C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"prepared-calls.js","sourceRoot":"","sources":["../../src/aa/prepared-calls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmB,EACnB,eAA0B;IAE1B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,KAAK,SAAS,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAC3C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -16,8 +16,10 @@ export type GasSponsorshipConfig = {
16
16
  };
17
17
  /**
18
18
  * Options for {@link createAAClient}.
19
- * Does not accept `attributionTags` — set those on `createCelinaClient({ attributionTags })`
20
- * before calling `prepare*`.
19
+ *
20
+ * Set `attributionTags` here for hand-built prepared steps (tagged at `sendPreparedFlow`).
21
+ * For `prepare*` flows, you can set the same tags on `createCelinaClient` instead —
22
+ * use one consistent list per send path so suffixes do not stack with mismatched tags.
21
23
  */
22
24
  export type CreateAAClientOptions = {
23
25
  /** EOA owner of the Simple Smart Account (account or private key hex). */
@@ -26,6 +28,12 @@ export type CreateAAClientOptions = {
26
28
  gasSponsorship: GasSponsorshipConfig;
27
29
  /** Optional Celo public client; defaults to Forno mainnet. */
28
30
  publicClient?: PublicClient;
31
+ /**
32
+ * Optional custom tags applied via `appendCelinaCalldataTag` on each step's `data`
33
+ * in `sendPreparedFlow` (legacy `CELINA|…` + ERC-8021). When omitted, step data
34
+ * is passed through unchanged.
35
+ */
36
+ attributionTags?: string[];
29
37
  };
30
38
  /** How to map prepared transactions (`prepare*` output / ordered `steps`) into UserOperations. */
31
39
  export type SendPreparedFlowMode = "batch" | "sequential";
@@ -1,5 +1,5 @@
1
1
  import { ERC_8021_MARKER } from "@celo/attribution-tags";
2
- /** Calldata suffix appended to prepared transactions for on-chain Celina attribution. */
2
+ /** Legacy UTF-8 marker hex(`"CELINA"`) used inside the dual attribution suffix not the full on-chain tag by itself. Full wire format is legacy `CELINA|…` plus an ERC-8021 Schema 0 suffix; see {@link appendCelinaCalldataTag}. */
3
3
  export declare const CELINA_DATA_SUFFIX: `0x${string}`;
4
4
  export { ERC_8021_MARKER };
5
5
  /** Normalize custom attribution tags while preserving first-seen order. */
@@ -36,11 +36,15 @@ export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: s
36
36
  */
37
37
  export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
38
38
  /**
39
- * Append legacy UTF-8 and ERC-8021 attribution suffixes to calldata.
39
+ * Append dual Celina attribution suffixes to calldata (legacy UTF-8 + ERC-8021).
40
+ *
41
+ * Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
42
+ * `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
40
43
  *
41
44
  * @param data - Original transaction calldata.
42
- * @param attributionTags - Optional tags from `createCelinaClient({ attributionTags })`.
45
+ * @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
43
46
  * Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
44
47
  * ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
48
+ * Example: `["goclaim"]` → legacy `CELINA|GOCLAIM` + codes `celina`, `goclaim` (not bare UTF-8 `GOCLAIM`).
45
49
  */
46
50
  export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
@@ -1,6 +1,6 @@
1
1
  import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
2
2
  import { concat, hexToString, stringToHex } from "viem";
3
- /** Calldata suffix appended to prepared transactions for on-chain Celina attribution. */
3
+ /** Legacy UTF-8 marker hex(`"CELINA"`) used inside the dual attribution suffix not the full on-chain tag by itself. Full wire format is legacy `CELINA|…` plus an ERC-8021 Schema 0 suffix; see {@link appendCelinaCalldataTag}. */
4
4
  export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
5
5
  export { ERC_8021_MARKER };
6
6
  /** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
@@ -136,12 +136,16 @@ export function checkAttributionInCalldata(data, tag) {
136
136
  };
137
137
  }
138
138
  /**
139
- * Append legacy UTF-8 and ERC-8021 attribution suffixes to calldata.
139
+ * Append dual Celina attribution suffixes to calldata (legacy UTF-8 + ERC-8021).
140
+ *
141
+ * Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
142
+ * `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
140
143
  *
141
144
  * @param data - Original transaction calldata.
142
- * @param attributionTags - Optional tags from `createCelinaClient({ attributionTags })`.
145
+ * @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
143
146
  * Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
144
147
  * ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
148
+ * Example: `["goclaim"]` → legacy `CELINA|GOCLAIM` + codes `celina`, `goclaim` (not bare UTF-8 `GOCLAIM`).
145
149
  */
146
150
  export function appendCelinaCalldataTag(data, attributionTags) {
147
151
  if (!data || data === "0x")
@@ -1 +1 @@
1
- {"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@andrewkimjoseph/celina-sdk",
3
- "version": "0.14.0",
4
- "description": "Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.",
3
+ "version": "0.15.1",
4
+ "description": "Celina SDK — Celo mainnet reads, unsigned transaction preparation, and ERC-4337 createAAClient for sponsored UserOps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "build/index.js",
@@ -99,6 +99,7 @@
99
99
  "@uniswap/universal-router-sdk": "^5.5.1",
100
100
  "@uniswap/v4-sdk": "^2.2.1",
101
101
  "ethers": "^6.15.0",
102
+ "ox": "^0.10.0",
102
103
  "permissionless": "^0.2.57",
103
104
  "viem": "^2.39.3",
104
105
  "zod": "^3.24.3"
@@ -1,37 +0,0 @@
1
- import { type CelinaA2ASkill } from "./skills.js";
2
- export interface CelinaAgentCardOptions {
3
- /** Public MCP host base URL for JSON-RPC execution, e.g. https://mcp.usecelina.xyz */
4
- mcpBaseUrl?: string;
5
- /** @deprecated Use mcpBaseUrl. Kept for backward compatibility. */
6
- baseUrl?: string;
7
- /** Celina package version shown on the card */
8
- version: string;
9
- }
10
- export interface CelinaA2AAgentCard {
11
- name: string;
12
- description: string;
13
- protocolVersion: string;
14
- version: string;
15
- url: string;
16
- skills: Array<{
17
- id: string;
18
- name: string;
19
- description: string;
20
- tags: string[];
21
- examples: string[];
22
- }>;
23
- capabilities: {
24
- streaming: boolean;
25
- pushNotifications: boolean;
26
- };
27
- defaultInputModes: string[];
28
- defaultOutputModes: string[];
29
- additionalInterfaces: Array<{
30
- url: string;
31
- transport: string;
32
- }>;
33
- /** Celina-specific task payload mime type */
34
- extensions?: Record<string, unknown>;
35
- }
36
- export declare function buildCelinaA2ASkills(): CelinaA2ASkill[];
37
- export declare function buildCelinaAgentCard(options: CelinaAgentCardOptions): CelinaA2AAgentCard;
@@ -1,46 +0,0 @@
1
- import { buildSkillsFromToolNames, CELINA_TOOL_MIME, } from "./skills.js";
2
- import { getHostedMcpToolNames, TOOL_CATEGORY_BY_NAME, } from "../tools/website-sync.js";
3
- 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.";
4
- export function buildCelinaA2ASkills() {
5
- return buildSkillsFromToolNames(getHostedMcpToolNames(), TOOL_CATEGORY_BY_NAME);
6
- }
7
- export function buildCelinaAgentCard(options) {
8
- const mcpBase = (options.mcpBaseUrl ??
9
- options.baseUrl ??
10
- "https://mcp.usecelina.xyz").replace(/\/$/, "");
11
- const jsonRpcUrl = `${mcpBase}/api/a2a`;
12
- const skills = buildCelinaA2ASkills();
13
- return {
14
- name: "Celina",
15
- description: DEFAULT_DESCRIPTION,
16
- protocolVersion: "0.3.0",
17
- version: options.version,
18
- url: jsonRpcUrl,
19
- skills: skills.map((skill) => ({
20
- id: skill.id,
21
- name: skill.name,
22
- description: skill.description,
23
- tags: skill.tags,
24
- examples: skill.examples,
25
- })),
26
- capabilities: {
27
- streaming: false,
28
- pushNotifications: false,
29
- },
30
- defaultInputModes: ["text", "data"],
31
- defaultOutputModes: ["text", "data"],
32
- additionalInterfaces: [
33
- { url: jsonRpcUrl, transport: "JSONRPC" },
34
- ],
35
- extensions: {
36
- celina: {
37
- toolPayloadMime: CELINA_TOOL_MIME,
38
- toolPayloadSchema: {
39
- tool: "string — hosted MCP tool name",
40
- arguments: "object — snake_case tool arguments",
41
- },
42
- },
43
- },
44
- };
45
- }
46
- //# sourceMappingURL=agent-card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-card.js","sourceRoot":"","sources":["../../../src/a2a/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAsClC,MAAM,mBAAmB,GACvB,wKAAwK,CAAC;AAE3K,MAAM,UAAU,oBAAoB;IAClC,OAAO,wBAAwB,CAAC,qBAAqB,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA+B;IAClE,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,OAAO;QACf,2BAA2B,CAC5B,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrB,MAAM,UAAU,GAAG,GAAG,OAAO,UAAU,CAAC;IACxC,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mBAAmB;QAChC,eAAe,EAAE,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,YAAY,EAAE;YACZ,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,KAAK;SACzB;QACD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACnC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACpC,oBAAoB,EAAE;YACpB,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE;SAC1C;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,eAAe,EAAE,gBAAgB;gBACjC,iBAAiB,EAAE;oBACjB,IAAI,EAAE,+BAA+B;oBACrC,SAAS,EAAE,oCAAoC;iBAChD;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export { buildCelinaAgentCard, buildCelinaA2ASkills, type CelinaAgentCardOptions, type CelinaA2AAgentCard, } from "./agent-card.js";
2
- export { buildSkillsFromToolNames, CATEGORY_TO_A2A_SKILL, CELINA_TOOL_MIME, type CelinaA2ASkill, type CelinaA2ASkillMeta, } from "./skills.js";
@@ -1,3 +0,0 @@
1
- export { buildCelinaAgentCard, buildCelinaA2ASkills, } from "./agent-card.js";
2
- export { buildSkillsFromToolNames, CATEGORY_TO_A2A_SKILL, CELINA_TOOL_MIME, } from "./skills.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a2a/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAGrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,GAGjB,MAAM,aAAa,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { WebsiteToolCategory } from "../tools/website-sync.js";
2
- export declare const CELINA_TOOL_MIME = "application/vnd.celina.tool+json";
3
- export interface CelinaA2ASkillMeta {
4
- id: string;
5
- name: string;
6
- tags: string[];
7
- }
8
- /** Maps website tool categories to A2A skill metadata (hosted read profile). */
9
- export declare const CATEGORY_TO_A2A_SKILL: Record<WebsiteToolCategory, CelinaA2ASkillMeta>;
10
- export interface CelinaA2ASkill {
11
- id: string;
12
- name: string;
13
- description: string;
14
- tags: string[];
15
- tools: string[];
16
- examples: string[];
17
- }
18
- export declare function buildSkillsFromToolNames(toolNames: string[], categoryByName: Record<string, WebsiteToolCategory>): CelinaA2ASkill[];
@@ -1,106 +0,0 @@
1
- export const CELINA_TOOL_MIME = "application/vnd.celina.tool+json";
2
- /** Maps website tool categories to A2A skill metadata (hosted read profile). */
3
- export const CATEGORY_TO_A2A_SKILL = {
4
- Blockchain: {
5
- id: "celo-blockchain",
6
- name: "Celo blockchain reads",
7
- tags: ["celo", "blockchain", "mainnet"],
8
- },
9
- Account: {
10
- id: "celo-balances",
11
- name: "Celo balances",
12
- tags: ["celo", "balances", "account"],
13
- },
14
- Token: {
15
- id: "celo-balances",
16
- name: "Celo balances",
17
- tags: ["celo", "balances", "token"],
18
- },
19
- Transaction: {
20
- id: "celo-transaction",
21
- name: "Celo transaction reads",
22
- tags: ["celo", "transaction"],
23
- },
24
- "Mento FX": {
25
- id: "mento-fx",
26
- name: "Mento FX quotes",
27
- tags: ["celo", "mento", "fx", "swap"],
28
- },
29
- Uniswap: {
30
- id: "uniswap",
31
- name: "Uniswap v4 quotes",
32
- tags: ["celo", "uniswap", "swap", "amm"],
33
- },
34
- Wallet: {
35
- id: "ens",
36
- name: "ENS resolution",
37
- tags: ["celo", "ens", "wallet"],
38
- },
39
- GoodDollar: {
40
- id: "gooddollar",
41
- name: "GoodDollar reads",
42
- tags: ["celo", "gooddollar", "ubi", "reserve"],
43
- },
44
- Aave: {
45
- id: "aave",
46
- name: "Aave V3 reads",
47
- tags: ["celo", "aave", "defi"],
48
- },
49
- Self: {
50
- id: "self-verify",
51
- name: "Self Agent ID verification",
52
- tags: ["celo", "self", "identity", "agent"],
53
- },
54
- Governance: {
55
- id: "governance",
56
- name: "Celo governance",
57
- tags: ["celo", "governance", "cgp"],
58
- },
59
- Staking: {
60
- id: "staking",
61
- name: "Celo staking",
62
- tags: ["celo", "staking", "validators"],
63
- },
64
- NFT: {
65
- id: "nft",
66
- name: "NFT reads",
67
- tags: ["celo", "nft", "erc721", "erc1155"],
68
- },
69
- Contract: {
70
- id: "contract-read",
71
- name: "Contract reads",
72
- tags: ["celo", "contract", "abi"],
73
- },
74
- AgentKarma: {
75
- id: "agentkarma-reputation",
76
- name: "AgentKarma reputation reads",
77
- tags: ["celo", "agentkarma", "reputation", "trust", "erc-8004"],
78
- },
79
- };
80
- export function buildSkillsFromToolNames(toolNames, categoryByName) {
81
- const bySkillId = new Map();
82
- for (const toolName of toolNames) {
83
- const category = categoryByName[toolName] ?? "Blockchain";
84
- const meta = CATEGORY_TO_A2A_SKILL[category];
85
- const existing = bySkillId.get(meta.id);
86
- if (existing) {
87
- existing.tools.push(toolName);
88
- continue;
89
- }
90
- bySkillId.set(meta.id, {
91
- id: meta.id,
92
- name: meta.name,
93
- description: `${meta.name} on Celo mainnet. Tools: ${toolName}.`,
94
- tags: [...meta.tags],
95
- tools: [toolName],
96
- examples: [
97
- `Send a DataPart (${CELINA_TOOL_MIME}) with {"tool":"${toolName}","arguments":{...}}.`,
98
- ],
99
- });
100
- }
101
- for (const skill of bySkillId.values()) {
102
- skill.description = `${skill.name} on Celo mainnet. Allowed tools: ${skill.tools.join(", ")}.`;
103
- }
104
- return [...bySkillId.values()].sort((a, b) => a.id.localeCompare(b.id));
105
- }
106
- //# sourceMappingURL=skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/a2a/skills.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import { type Hex, type PrivateKeyAccount, type PublicClient } from "viem";
2
- import type { PreparedFlow, SerializedPreparedFlow } from "../types/prepared.js";
3
- import { GasSponsorshipService } from "./gas-sponsorship.js";
4
- import type { CreateAAClientOptions, GasSponsorshipProviderId, SendPreparedFlowOptions, SendPreparedFlowResult } from "./types.js";
5
- /**
6
- * Derive the counterfactual Simple Smart Account address for an EOA owner
7
- * (EntryPoint 0.7) without submitting a UserOp.
8
- */
9
- export declare function deriveSmartAccountAddress(owner: PrivateKeyAccount | Hex, publicClient?: PublicClient): Promise<{
10
- eoaAddress: `0x${string}`;
11
- smartAccountAddress: `0x${string}`;
12
- }>;
13
- export type AAClient = {
14
- /** Gas sponsorship backend id (e.g. `"pimlico"`). */
15
- provider: GasSponsorshipProviderId;
16
- /** EOA that owns the smart account. */
17
- eoaAddress: `0x${string}`;
18
- /** Counterfactual / deployed Simple Smart Account address. */
19
- smartAccountAddress: `0x${string}`;
20
- /** Underlying sponsorship service (URLs, paymaster, fees). */
21
- gasSponsorship: GasSponsorshipService;
22
- /**
23
- * Submit `prepare*` output (ordered `steps` / prepared transactions) as sponsored UserOp(s).
24
- * Does not append attribution; uses each step’s `data` as-is (including Celina dual tags from `prepare*`).
25
- */
26
- sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
27
- };
28
- /**
29
- * Create an ERC-4337 AA client on Celo mainnet (Simple Smart Account, EntryPoint 0.7).
30
- *
31
- * Pass an explicit `gasSponsorship` provider object — credentials are app-owned
32
- * and never stored by Celina. v1 supports `provider: "pimlico"`.
33
- *
34
- * Does not accept `attributionTags`. Set them on `createCelinaClient({ attributionTags })`
35
- * before `prepare*`; `sendPreparedFlow` preserves already-tagged step calldata.
36
- */
37
- export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;