@andrewkimjoseph/celina-sdk 0.15.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 (359) hide show
  1. package/README.md +7 -5
  2. package/build/config/celina-tag.d.ts +7 -3
  3. package/build/config/celina-tag.js +7 -3
  4. package/build/config/celina-tag.js.map +1 -1
  5. package/package.json +3 -2
  6. package/build/src/a2a/agent-card.d.ts +0 -37
  7. package/build/src/a2a/agent-card.js +0 -46
  8. package/build/src/a2a/agent-card.js.map +0 -1
  9. package/build/src/a2a/index.d.ts +0 -2
  10. package/build/src/a2a/index.js +0 -3
  11. package/build/src/a2a/index.js.map +0 -1
  12. package/build/src/a2a/skills.d.ts +0 -18
  13. package/build/src/a2a/skills.js +0 -106
  14. package/build/src/a2a/skills.js.map +0 -1
  15. package/build/src/aa/create-aa-client.d.ts +0 -44
  16. package/build/src/aa/create-aa-client.js +0 -115
  17. package/build/src/aa/create-aa-client.js.map +0 -1
  18. package/build/src/aa/gas-sponsorship.d.ts +0 -27
  19. package/build/src/aa/gas-sponsorship.js +0 -65
  20. package/build/src/aa/gas-sponsorship.js.map +0 -1
  21. package/build/src/aa/index.d.ts +0 -4
  22. package/build/src/aa/index.js +0 -4
  23. package/build/src/aa/index.js.map +0 -1
  24. package/build/src/aa/prepared-calls.d.ts +0 -8
  25. package/build/src/aa/prepared-calls.js +0 -27
  26. package/build/src/aa/prepared-calls.js.map +0 -1
  27. package/build/src/aa/types.d.ts +0 -61
  28. package/build/src/aa/types.js +0 -2
  29. package/build/src/aa/types.js.map +0 -1
  30. package/build/src/abis/aave-pool.d.ts +0 -37
  31. package/build/src/abis/aave-pool.js +0 -26
  32. package/build/src/abis/aave-pool.js.map +0 -1
  33. package/build/src/abis/accounts.d.ts +0 -13
  34. package/build/src/abis/accounts.js +0 -10
  35. package/build/src/abis/accounts.js.map +0 -1
  36. package/build/src/abis/election.d.ts +0 -124
  37. package/build/src/abis/election.js +0 -88
  38. package/build/src/abis/election.js.map +0 -1
  39. package/build/src/abis/gooddollar-broker.d.ts +0 -77
  40. package/build/src/abis/gooddollar-broker.js +0 -44
  41. package/build/src/abis/gooddollar-broker.js.map +0 -1
  42. package/build/src/abis/gooddollar-identity.d.ts +0 -85
  43. package/build/src/abis/gooddollar-identity.js +0 -52
  44. package/build/src/abis/gooddollar-identity.js.map +0 -1
  45. package/build/src/abis/governance.d.ts +0 -86
  46. package/build/src/abis/governance.js +0 -68
  47. package/build/src/abis/governance.js.map +0 -1
  48. package/build/src/abis/locked-gold.d.ts +0 -10
  49. package/build/src/abis/locked-gold.js +0 -10
  50. package/build/src/abis/locked-gold.js.map +0 -1
  51. package/build/src/abis/nft.d.ts +0 -107
  52. package/build/src/abis/nft.js +0 -75
  53. package/build/src/abis/nft.js.map +0 -1
  54. package/build/src/abis/permit2.d.ts +0 -43
  55. package/build/src/abis/permit2.js +0 -30
  56. package/build/src/abis/permit2.js.map +0 -1
  57. package/build/src/abis/self-registry.d.ts +0 -194
  58. package/build/src/abis/self-registry.js +0 -120
  59. package/build/src/abis/self-registry.js.map +0 -1
  60. package/build/src/abis/ubi-scheme.d.ts +0 -91
  61. package/build/src/abis/ubi-scheme.js +0 -66
  62. package/build/src/abis/ubi-scheme.js.map +0 -1
  63. package/build/src/abis/uniswap-state-view.d.ts +0 -34
  64. package/build/src/abis/uniswap-state-view.js +0 -22
  65. package/build/src/abis/uniswap-state-view.js.map +0 -1
  66. package/build/src/abis/uniswap-v4-quoter.d.ts +0 -86
  67. package/build/src/abis/uniswap-v4-quoter.js +0 -64
  68. package/build/src/abis/uniswap-v4-quoter.js.map +0 -1
  69. package/build/src/abis/universal-router.d.ts +0 -16
  70. package/build/src/abis/universal-router.js +0 -14
  71. package/build/src/abis/universal-router.js.map +0 -1
  72. package/build/src/abis/validators-minimal.d.ts +0 -65
  73. package/build/src/abis/validators-minimal.js +0 -39
  74. package/build/src/abis/validators-minimal.js.map +0 -1
  75. package/build/src/analytics/amplitude.d.ts +0 -11
  76. package/build/src/analytics/amplitude.js +0 -76
  77. package/build/src/analytics/amplitude.js.map +0 -1
  78. package/build/src/analytics/config.d.ts +0 -7
  79. package/build/src/analytics/config.js +0 -25
  80. package/build/src/analytics/config.js.map +0 -1
  81. package/build/src/analytics/consumer-package.d.ts +0 -9
  82. package/build/src/analytics/consumer-package.js +0 -143
  83. package/build/src/analytics/consumer-package.js.map +0 -1
  84. package/build/src/analytics/mcp-tool-events.d.ts +0 -5
  85. package/build/src/analytics/mcp-tool-events.js +0 -53
  86. package/build/src/analytics/mcp-tool-events.js.map +0 -1
  87. package/build/src/analytics/wallet-context.d.ts +0 -11
  88. package/build/src/analytics/wallet-context.js +0 -81
  89. package/build/src/analytics/wallet-context.js.map +0 -1
  90. package/build/src/analytics/wallet-extract.d.ts +0 -9
  91. package/build/src/analytics/wallet-extract.js +0 -21
  92. package/build/src/analytics/wallet-extract.js.map +0 -1
  93. package/build/src/analytics/wrap-service.d.ts +0 -5
  94. package/build/src/analytics/wrap-service.js +0 -38
  95. package/build/src/analytics/wrap-service.js.map +0 -1
  96. package/build/src/clients/celo-client.d.ts +0 -19
  97. package/build/src/clients/celo-client.js +0 -32
  98. package/build/src/clients/celo-client.js.map +0 -1
  99. package/build/src/clients/ens-client.d.ts +0 -17
  100. package/build/src/clients/ens-client.js +0 -30
  101. package/build/src/clients/ens-client.js.map +0 -1
  102. package/build/src/clients/mento-sdk.d.ts +0 -2
  103. package/build/src/clients/mento-sdk.js +0 -9
  104. package/build/src/clients/mento-sdk.js.map +0 -1
  105. package/build/src/clients/self-api.d.ts +0 -82
  106. package/build/src/clients/self-api.js +0 -242
  107. package/build/src/clients/self-api.js.map +0 -1
  108. package/build/src/clients/uniswap-sdk.d.ts +0 -4
  109. package/build/src/clients/uniswap-sdk.js +0 -13
  110. package/build/src/clients/uniswap-sdk.js.map +0 -1
  111. package/build/src/config/aave.d.ts +0 -17
  112. package/build/src/config/aave.js +0 -77
  113. package/build/src/config/aave.js.map +0 -1
  114. package/build/src/config/celina-tag.d.ts +0 -46
  115. package/build/src/config/celina-tag.js +0 -166
  116. package/build/src/config/celina-tag.js.map +0 -1
  117. package/build/src/config/celo-core-contracts.d.ts +0 -8
  118. package/build/src/config/celo-core-contracts.js +0 -9
  119. package/build/src/config/celo-core-contracts.js.map +0 -1
  120. package/build/src/config/chains.d.ts +0 -937
  121. package/build/src/config/chains.js +0 -319
  122. package/build/src/config/chains.js.map +0 -1
  123. package/build/src/config/gooddollar.d.ts +0 -16
  124. package/build/src/config/gooddollar.js +0 -24
  125. package/build/src/config/gooddollar.js.map +0 -1
  126. package/build/src/config/sdk-config.d.ts +0 -44
  127. package/build/src/config/sdk-config.js +0 -28
  128. package/build/src/config/sdk-config.js.map +0 -1
  129. package/build/src/config/self.d.ts +0 -22
  130. package/build/src/config/self.js +0 -27
  131. package/build/src/config/self.js.map +0 -1
  132. package/build/src/config/uniswap.d.ts +0 -42
  133. package/build/src/config/uniswap.js +0 -76
  134. package/build/src/config/uniswap.js.map +0 -1
  135. package/build/src/index.d.ts +0 -127
  136. package/build/src/index.js +0 -72
  137. package/build/src/index.js.map +0 -1
  138. package/build/src/oasf/index.d.ts +0 -2
  139. package/build/src/oasf/index.js +0 -3
  140. package/build/src/oasf/index.js.map +0 -1
  141. package/build/src/oasf/record.d.ts +0 -39
  142. package/build/src/oasf/record.js +0 -35
  143. package/build/src/oasf/record.js.map +0 -1
  144. package/build/src/oasf/taxonomy.d.ts +0 -19
  145. package/build/src/oasf/taxonomy.js +0 -46
  146. package/build/src/oasf/taxonomy.js.map +0 -1
  147. package/build/src/services/aave.service.d.ts +0 -59
  148. package/build/src/services/aave.service.js +0 -210
  149. package/build/src/services/aave.service.js.map +0 -1
  150. package/build/src/services/account.service.d.ts +0 -22
  151. package/build/src/services/account.service.js +0 -29
  152. package/build/src/services/account.service.js.map +0 -1
  153. package/build/src/services/agentkarma.service.d.ts +0 -89
  154. package/build/src/services/agentkarma.service.js +0 -102
  155. package/build/src/services/agentkarma.service.js.map +0 -1
  156. package/build/src/services/blockchain.service.d.ts +0 -126
  157. package/build/src/services/blockchain.service.js +0 -188
  158. package/build/src/services/blockchain.service.js.map +0 -1
  159. package/build/src/services/contract.service.d.ts +0 -78
  160. package/build/src/services/contract.service.js +0 -117
  161. package/build/src/services/contract.service.js.map +0 -1
  162. package/build/src/services/ens.service.d.ts +0 -44
  163. package/build/src/services/ens.service.js +0 -92
  164. package/build/src/services/ens.service.js.map +0 -1
  165. package/build/src/services/gooddollar.service.d.ts +0 -184
  166. package/build/src/services/gooddollar.service.js +0 -675
  167. package/build/src/services/gooddollar.service.js.map +0 -1
  168. package/build/src/services/governance.service.d.ts +0 -96
  169. package/build/src/services/governance.service.js +0 -255
  170. package/build/src/services/governance.service.js.map +0 -1
  171. package/build/src/services/mento-fx.service.d.ts +0 -81
  172. package/build/src/services/mento-fx.service.js +0 -318
  173. package/build/src/services/mento-fx.service.js.map +0 -1
  174. package/build/src/services/nft.service.d.ts +0 -58
  175. package/build/src/services/nft.service.js +0 -222
  176. package/build/src/services/nft.service.js.map +0 -1
  177. package/build/src/services/self-session-store.d.ts +0 -19
  178. package/build/src/services/self-session-store.js +0 -28
  179. package/build/src/services/self-session-store.js.map +0 -1
  180. package/build/src/services/self.service.d.ts +0 -241
  181. package/build/src/services/self.service.js +0 -699
  182. package/build/src/services/self.service.js.map +0 -1
  183. package/build/src/services/staking.service.d.ts +0 -140
  184. package/build/src/services/staking.service.js +0 -444
  185. package/build/src/services/staking.service.js.map +0 -1
  186. package/build/src/services/token.service.d.ts +0 -110
  187. package/build/src/services/token.service.js +0 -189
  188. package/build/src/services/token.service.js.map +0 -1
  189. package/build/src/services/transaction.service.d.ts +0 -69
  190. package/build/src/services/transaction.service.js +0 -197
  191. package/build/src/services/transaction.service.js.map +0 -1
  192. package/build/src/services/uniswap-path-router.d.ts +0 -40
  193. package/build/src/services/uniswap-path-router.js +0 -168
  194. package/build/src/services/uniswap-path-router.js.map +0 -1
  195. package/build/src/services/uniswap-pool-discovery.d.ts +0 -55
  196. package/build/src/services/uniswap-pool-discovery.js +0 -198
  197. package/build/src/services/uniswap-pool-discovery.js.map +0 -1
  198. package/build/src/services/uniswap.service.d.ts +0 -83
  199. package/build/src/services/uniswap.service.js +0 -352
  200. package/build/src/services/uniswap.service.js.map +0 -1
  201. package/build/src/simulation/index.d.ts +0 -5
  202. package/build/src/simulation/index.js +0 -2
  203. package/build/src/simulation/index.js.map +0 -1
  204. package/build/src/simulation/simulate-prepared-step.d.ts +0 -17
  205. package/build/src/simulation/simulate-prepared-step.js +0 -42
  206. package/build/src/simulation/simulate-prepared-step.js.map +0 -1
  207. package/build/src/tools/catalog.d.ts +0 -11
  208. package/build/src/tools/catalog.js +0 -43
  209. package/build/src/tools/catalog.js.map +0 -1
  210. package/build/src/tools/domains/aave.d.ts +0 -2
  211. package/build/src/tools/domains/aave.js +0 -115
  212. package/build/src/tools/domains/aave.js.map +0 -1
  213. package/build/src/tools/domains/agentkarma.d.ts +0 -2
  214. package/build/src/tools/domains/agentkarma.js +0 -92
  215. package/build/src/tools/domains/agentkarma.js.map +0 -1
  216. package/build/src/tools/domains/blockchain.d.ts +0 -2
  217. package/build/src/tools/domains/blockchain.js +0 -122
  218. package/build/src/tools/domains/blockchain.js.map +0 -1
  219. package/build/src/tools/domains/browser.d.ts +0 -2
  220. package/build/src/tools/domains/browser.js +0 -45
  221. package/build/src/tools/domains/browser.js.map +0 -1
  222. package/build/src/tools/domains/contract.d.ts +0 -2
  223. package/build/src/tools/domains/contract.js +0 -67
  224. package/build/src/tools/domains/contract.js.map +0 -1
  225. package/build/src/tools/domains/ens.d.ts +0 -2
  226. package/build/src/tools/domains/ens.js +0 -16
  227. package/build/src/tools/domains/ens.js.map +0 -1
  228. package/build/src/tools/domains/gooddollar.d.ts +0 -2
  229. package/build/src/tools/domains/gooddollar.js +0 -171
  230. package/build/src/tools/domains/gooddollar.js.map +0 -1
  231. package/build/src/tools/domains/governance.d.ts +0 -2
  232. package/build/src/tools/domains/governance.js +0 -41
  233. package/build/src/tools/domains/governance.js.map +0 -1
  234. package/build/src/tools/domains/index.d.ts +0 -1
  235. package/build/src/tools/domains/index.js +0 -33
  236. package/build/src/tools/domains/index.js.map +0 -1
  237. package/build/src/tools/domains/mento-fx.d.ts +0 -2
  238. package/build/src/tools/domains/mento-fx.js +0 -67
  239. package/build/src/tools/domains/mento-fx.js.map +0 -1
  240. package/build/src/tools/domains/nft.d.ts +0 -2
  241. package/build/src/tools/domains/nft.js +0 -38
  242. package/build/src/tools/domains/nft.js.map +0 -1
  243. package/build/src/tools/domains/self.d.ts +0 -2
  244. package/build/src/tools/domains/self.js +0 -187
  245. package/build/src/tools/domains/self.js.map +0 -1
  246. package/build/src/tools/domains/staking.d.ts +0 -2
  247. package/build/src/tools/domains/staking.js +0 -74
  248. package/build/src/tools/domains/staking.js.map +0 -1
  249. package/build/src/tools/domains/token.d.ts +0 -2
  250. package/build/src/tools/domains/token.js +0 -74
  251. package/build/src/tools/domains/token.js.map +0 -1
  252. package/build/src/tools/domains/transaction.d.ts +0 -2
  253. package/build/src/tools/domains/transaction.js +0 -120
  254. package/build/src/tools/domains/transaction.js.map +0 -1
  255. package/build/src/tools/domains/uniswap.d.ts +0 -2
  256. package/build/src/tools/domains/uniswap.js +0 -67
  257. package/build/src/tools/domains/uniswap.js.map +0 -1
  258. package/build/src/tools/filter.d.ts +0 -2
  259. package/build/src/tools/filter.js +0 -50
  260. package/build/src/tools/filter.js.map +0 -1
  261. package/build/src/tools/index.d.ts +0 -7
  262. package/build/src/tools/index.js +0 -7
  263. package/build/src/tools/index.js.map +0 -1
  264. package/build/src/tools/schemas/common.d.ts +0 -165
  265. package/build/src/tools/schemas/common.js +0 -207
  266. package/build/src/tools/schemas/common.js.map +0 -1
  267. package/build/src/tools/schemas/wallet-params.d.ts +0 -9
  268. package/build/src/tools/schemas/wallet-params.js +0 -52
  269. package/build/src/tools/schemas/wallet-params.js.map +0 -1
  270. package/build/src/tools/swap-routing.d.ts +0 -25
  271. package/build/src/tools/swap-routing.js +0 -174
  272. package/build/src/tools/swap-routing.js.map +0 -1
  273. package/build/src/tools/types.d.ts +0 -124
  274. package/build/src/tools/types.js +0 -2
  275. package/build/src/tools/types.js.map +0 -1
  276. package/build/src/tools/utils/normalize-token.d.ts +0 -2
  277. package/build/src/tools/utils/normalize-token.js +0 -12
  278. package/build/src/tools/utils/normalize-token.js.map +0 -1
  279. package/build/src/tools/utils/wallet.d.ts +0 -4
  280. package/build/src/tools/utils/wallet.js +0 -8
  281. package/build/src/tools/utils/wallet.js.map +0 -1
  282. package/build/src/tools/website-sync.d.ts +0 -28
  283. package/build/src/tools/website-sync.js +0 -198
  284. package/build/src/tools/website-sync.js.map +0 -1
  285. package/build/src/types/prepared.d.ts +0 -43
  286. package/build/src/types/prepared.js +0 -15
  287. package/build/src/types/prepared.js.map +0 -1
  288. package/build/src/utils/celo-format.d.ts +0 -6
  289. package/build/src/utils/celo-format.js +0 -17
  290. package/build/src/utils/celo-format.js.map +0 -1
  291. package/build/src/utils/erc20-allowance-storage.d.ts +0 -20
  292. package/build/src/utils/erc20-allowance-storage.js +0 -64
  293. package/build/src/utils/erc20-allowance-storage.js.map +0 -1
  294. package/build/src/utils/format-date.d.ts +0 -2
  295. package/build/src/utils/format-date.js +0 -13
  296. package/build/src/utils/format-date.js.map +0 -1
  297. package/build/src/utils/format-duration.d.ts +0 -2
  298. package/build/src/utils/format-duration.js +0 -17
  299. package/build/src/utils/format-duration.js.map +0 -1
  300. package/build/src/utils/format-unix-datetime.d.ts +0 -4
  301. package/build/src/utils/format-unix-datetime.js +0 -18
  302. package/build/src/utils/format-unix-datetime.js.map +0 -1
  303. package/build/src/utils/gooddollar-ubi-period.d.ts +0 -23
  304. package/build/src/utils/gooddollar-ubi-period.js +0 -23
  305. package/build/src/utils/gooddollar-ubi-period.js.map +0 -1
  306. package/build/src/utils/normalize-address.d.ts +0 -7
  307. package/build/src/utils/normalize-address.js +0 -16
  308. package/build/src/utils/normalize-address.js.map +0 -1
  309. package/build/src/utils/self-format.d.ts +0 -28
  310. package/build/src/utils/self-format.js +0 -79
  311. package/build/src/utils/self-format.js.map +0 -1
  312. package/build/src/utils/self-signing.d.ts +0 -4
  313. package/build/src/utils/self-signing.js +0 -38
  314. package/build/src/utils/self-signing.js.map +0 -1
  315. package/build/src/utils/transaction-errors.d.ts +0 -3
  316. package/build/src/utils/transaction-errors.js +0 -17
  317. package/build/src/utils/transaction-errors.js.map +0 -1
  318. package/build/tests/catalog/domains/blockchain.d.ts +0 -2
  319. package/build/tests/catalog/domains/blockchain.js +0 -127
  320. package/build/tests/catalog/domains/blockchain.js.map +0 -1
  321. package/build/tests/catalog/domains/chain-ext.d.ts +0 -5
  322. package/build/tests/catalog/domains/chain-ext.js +0 -207
  323. package/build/tests/catalog/domains/chain-ext.js.map +0 -1
  324. package/build/tests/catalog/domains/defi.d.ts +0 -6
  325. package/build/tests/catalog/domains/defi.js +0 -581
  326. package/build/tests/catalog/domains/defi.js.map +0 -1
  327. package/build/tests/catalog/domains/self.d.ts +0 -2
  328. package/build/tests/catalog/domains/self.js +0 -208
  329. package/build/tests/catalog/domains/self.js.map +0 -1
  330. package/build/tests/catalog/domains/token.d.ts +0 -2
  331. package/build/tests/catalog/domains/token.js +0 -70
  332. package/build/tests/catalog/domains/token.js.map +0 -1
  333. package/build/tests/catalog/domains/transaction.d.ts +0 -2
  334. package/build/tests/catalog/domains/transaction.js +0 -96
  335. package/build/tests/catalog/domains/transaction.js.map +0 -1
  336. package/build/tests/catalog/index.d.ts +0 -2
  337. package/build/tests/catalog/index.js +0 -2
  338. package/build/tests/catalog/index.js.map +0 -1
  339. package/build/tests/catalog/operations.d.ts +0 -12
  340. package/build/tests/catalog/operations.js +0 -29
  341. package/build/tests/catalog/operations.js.map +0 -1
  342. package/build/tests/catalog/types.d.ts +0 -24
  343. package/build/tests/catalog/types.js +0 -2
  344. package/build/tests/catalog/types.js.map +0 -1
  345. package/build/tests/fixtures/mainnet.d.ts +0 -54
  346. package/build/tests/fixtures/mainnet.js +0 -53
  347. package/build/tests/fixtures/mainnet.js.map +0 -1
  348. package/build/tests/helpers/assert.d.ts +0 -4
  349. package/build/tests/helpers/assert.js +0 -24
  350. package/build/tests/helpers/assert.js.map +0 -1
  351. package/build/tests/helpers/env.d.ts +0 -12
  352. package/build/tests/helpers/env.js +0 -29
  353. package/build/tests/helpers/env.js.map +0 -1
  354. package/build/tests/helpers/gating.d.ts +0 -3
  355. package/build/tests/helpers/gating.js +0 -23
  356. package/build/tests/helpers/gating.js.map +0 -1
  357. package/build/tests/testing-entry.d.ts +0 -6
  358. package/build/tests/testing-entry.js +0 -6
  359. 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
 
@@ -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.15.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,44 +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
- * Tags applied in `sendPreparedFlow` via `appendCelinaCalldataTag`.
24
- * `undefined` means step `data` is passed through unchanged.
25
- */
26
- attributionTags: string[] | undefined;
27
- /**
28
- * Submit `prepare*` output (ordered `steps` / prepared transactions) as sponsored UserOp(s).
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*`).
31
- */
32
- sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
33
- };
34
- /**
35
- * Create an ERC-4337 AA client on Celo mainnet (Simple Smart Account, EntryPoint 0.7).
36
- *
37
- * Pass an explicit `gasSponsorship` provider object — credentials are app-owned
38
- * and never stored by Celina. v1 supports `provider: "pimlico"`.
39
- *
40
- * Optional `attributionTags` are applied in `sendPreparedFlow` via
41
- * `appendCelinaCalldataTag` (same dual format as `prepare*`). Omit them to
42
- * pass step calldata through unchanged.
43
- */
44
- export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;
@@ -1,115 +0,0 @@
1
- import { createPublicClient, http, } from "viem";
2
- import { entryPoint07Address } from "viem/account-abstraction";
3
- import { privateKeyToAccount } from "viem/accounts";
4
- import { createSmartAccountClient } from "permissionless";
5
- import { toSimpleSmartAccount } from "permissionless/accounts";
6
- import { CHAIN, DEFAULT_RPC_URL } from "../config/chains.js";
7
- import { GasSponsorshipService } from "./gas-sponsorship.js";
8
- import { preparedStepsToUserOpCalls } from "./prepared-calls.js";
9
- function resolveOwner(owner) {
10
- if (typeof owner === "string") {
11
- return privateKeyToAccount(owner);
12
- }
13
- return owner;
14
- }
15
- function defaultPublicClient() {
16
- return createPublicClient({
17
- chain: CHAIN,
18
- transport: http(DEFAULT_RPC_URL),
19
- });
20
- }
21
- /**
22
- * Derive the counterfactual Simple Smart Account address for an EOA owner
23
- * (EntryPoint 0.7) without submitting a UserOp.
24
- */
25
- export async function deriveSmartAccountAddress(owner, publicClient) {
26
- const eoaAccount = resolveOwner(owner);
27
- const client = publicClient ?? defaultPublicClient();
28
- const smartAccount = await toSimpleSmartAccount({
29
- client,
30
- owner: eoaAccount,
31
- entryPoint: {
32
- address: entryPoint07Address,
33
- version: "0.7",
34
- },
35
- });
36
- return {
37
- eoaAddress: eoaAccount.address,
38
- smartAccountAddress: smartAccount.address,
39
- };
40
- }
41
- /**
42
- * Create an ERC-4337 AA client on Celo mainnet (Simple Smart Account, EntryPoint 0.7).
43
- *
44
- * Pass an explicit `gasSponsorship` provider object — credentials are app-owned
45
- * and never stored by Celina. v1 supports `provider: "pimlico"`.
46
- *
47
- * Optional `attributionTags` are applied in `sendPreparedFlow` via
48
- * `appendCelinaCalldataTag` (same dual format as `prepare*`). Omit them to
49
- * pass step calldata through unchanged.
50
- */
51
- export async function createAAClient(options) {
52
- const eoaAccount = resolveOwner(options.owner);
53
- const publicClient = options.publicClient ?? defaultPublicClient();
54
- const attributionTags = options.attributionTags;
55
- const gasSponsorship = new GasSponsorshipService(options.gasSponsorship, CHAIN.id);
56
- const smartAccount = await toSimpleSmartAccount({
57
- client: publicClient,
58
- owner: eoaAccount,
59
- entryPoint: {
60
- address: entryPoint07Address,
61
- version: "0.7",
62
- },
63
- });
64
- const paymaster = gasSponsorship.getPaymasterClient();
65
- const smartAccountClient = createSmartAccountClient({
66
- account: smartAccount,
67
- chain: CHAIN,
68
- bundlerTransport: gasSponsorship.createBundlerTransport(),
69
- paymaster,
70
- userOperation: {
71
- estimateFeesPerGas: async () => gasSponsorship.estimateFeesPerGas(),
72
- },
73
- });
74
- async function sendPreparedFlow(flow, sendOptions) {
75
- const mode = sendOptions?.mode ?? "batch";
76
- const calls = preparedStepsToUserOpCalls(flow.steps, attributionTags);
77
- const userOpHashes = [];
78
- const transactionHashes = [];
79
- if (mode === "batch") {
80
- const userOpHash = await smartAccountClient.sendUserOperation({ calls });
81
- userOpHashes.push(userOpHash);
82
- const receipt = await smartAccountClient.waitForUserOperationReceipt({
83
- hash: userOpHash,
84
- });
85
- if (!receipt.success) {
86
- return { mode, userOpHashes, transactionHashes, success: false };
87
- }
88
- transactionHashes.push(receipt.receipt.transactionHash);
89
- return { mode, userOpHashes, transactionHashes, success: true };
90
- }
91
- for (const call of calls) {
92
- const userOpHash = await smartAccountClient.sendUserOperation({
93
- calls: [call],
94
- });
95
- userOpHashes.push(userOpHash);
96
- const receipt = await smartAccountClient.waitForUserOperationReceipt({
97
- hash: userOpHash,
98
- });
99
- if (!receipt.success) {
100
- return { mode, userOpHashes, transactionHashes, success: false };
101
- }
102
- transactionHashes.push(receipt.receipt.transactionHash);
103
- }
104
- return { mode, userOpHashes, transactionHashes, success: true };
105
- }
106
- return {
107
- provider: gasSponsorship.provider,
108
- eoaAddress: eoaAccount.address,
109
- smartAccountAddress: smartAccount.address,
110
- gasSponsorship,
111
- attributionTags,
112
- sendPreparedFlow,
113
- };
114
- }
115
- //# sourceMappingURL=create-aa-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-aa-client.js","sourceRoot":"","sources":["../../../src/aa/create-aa-client.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { type Transport } from "viem";
2
- import { createPimlicoClient } from "permissionless/clients/pimlico";
3
- import type { GasSponsorshipConfig, GasSponsorshipProviderId } from "./types.js";
4
- type PimlicoClient = ReturnType<typeof createPimlicoClient>;
5
- /**
6
- * Provider-agnostic gas sponsorship wiring (bundler URL, paymaster, fees).
7
- * v1 supports `provider: "pimlico"`; add branches for future providers without renaming this type.
8
- */
9
- export declare class GasSponsorshipService {
10
- readonly provider: GasSponsorshipProviderId;
11
- private readonly config;
12
- private readonly chainId;
13
- private pimlicoClient;
14
- constructor(config: GasSponsorshipConfig, chainId?: number);
15
- /** Bundler / paymaster JSON-RPC URL for the configured provider and chain. */
16
- getRpcUrl(chainId?: number): string;
17
- /** viem transport pointed at the sponsorship backend RPC. */
18
- createBundlerTransport(): Transport;
19
- /** Provider client used as paymaster (and fee oracle in v1). */
20
- getPaymasterClient(): PimlicoClient;
21
- /** Fee fields for UserOp construction. */
22
- estimateFeesPerGas(): Promise<{
23
- maxFeePerGas: bigint;
24
- maxPriorityFeePerGas: bigint;
25
- }>;
26
- }
27
- export {};
@@ -1,65 +0,0 @@
1
- import { http } from "viem";
2
- import { entryPoint07Address } from "viem/account-abstraction";
3
- import { createPimlicoClient } from "permissionless/clients/pimlico";
4
- import { CHAIN } from "../config/chains.js";
5
- /**
6
- * Provider-agnostic gas sponsorship wiring (bundler URL, paymaster, fees).
7
- * v1 supports `provider: "pimlico"`; add branches for future providers without renaming this type.
8
- */
9
- export class GasSponsorshipService {
10
- provider;
11
- config;
12
- chainId;
13
- pimlicoClient = null;
14
- constructor(config, chainId = CHAIN.id) {
15
- this.config = config;
16
- this.provider = config.provider;
17
- this.chainId = chainId;
18
- if (config.provider === "pimlico") {
19
- const key = config.pimlico.apiKey?.trim();
20
- if (!key) {
21
- throw new Error("gasSponsorship.pimlico.apiKey is required when provider is \"pimlico\"");
22
- }
23
- }
24
- }
25
- /** Bundler / paymaster JSON-RPC URL for the configured provider and chain. */
26
- getRpcUrl(chainId = this.chainId) {
27
- if (this.config.provider === "pimlico") {
28
- const apiKey = this.config.pimlico.apiKey.trim();
29
- return `https://api.pimlico.io/v2/${chainId}/rpc?apikey=${apiKey}`;
30
- }
31
- const _exhaustive = this.config.provider;
32
- throw new Error(`Unsupported gas sponsorship provider: ${String(_exhaustive)}`);
33
- }
34
- /** viem transport pointed at the sponsorship backend RPC. */
35
- createBundlerTransport() {
36
- return http(this.getRpcUrl());
37
- }
38
- /** Provider client used as paymaster (and fee oracle in v1). */
39
- getPaymasterClient() {
40
- if (this.config.provider !== "pimlico") {
41
- const _exhaustive = this.config.provider;
42
- throw new Error(`Unsupported gas sponsorship provider: ${String(_exhaustive)}`);
43
- }
44
- if (!this.pimlicoClient) {
45
- this.pimlicoClient = createPimlicoClient({
46
- transport: this.createBundlerTransport(),
47
- entryPoint: {
48
- address: entryPoint07Address,
49
- version: "0.7",
50
- },
51
- });
52
- }
53
- return this.pimlicoClient;
54
- }
55
- /** Fee fields for UserOp construction. */
56
- async estimateFeesPerGas() {
57
- if (this.config.provider === "pimlico") {
58
- const prices = await this.getPaymasterClient().getUserOperationGasPrice();
59
- return prices.fast;
60
- }
61
- const _exhaustive = this.config.provider;
62
- throw new Error(`Unsupported gas sponsorship provider: ${String(_exhaustive)}`);
63
- }
64
- }
65
- //# sourceMappingURL=gas-sponsorship.js.map