@andrewkimjoseph/celina-sdk 0.15.3 → 0.15.4
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.
- package/README.md +5 -8
- package/build/aa/create-aa-client.d.ts +2 -2
- package/build/aa/create-aa-client.js +1 -1
- package/build/aa/prepared-calls.d.ts +1 -1
- package/build/aa/prepared-calls.js +1 -1
- package/build/aa/types.d.ts +1 -1
- package/build/config/celina-tag.d.ts +12 -6
- package/build/config/celina-tag.js +16 -21
- package/build/config/celina-tag.js.map +1 -1
- package/build/config/sdk-config.d.ts +3 -5
- package/build/config/sdk-config.js.map +1 -1
- package/build/src/aa/create-aa-client.d.ts +2 -2
- package/build/src/aa/create-aa-client.js +1 -1
- package/build/src/aa/prepared-calls.d.ts +1 -1
- package/build/src/aa/prepared-calls.js +1 -1
- package/build/src/aa/types.d.ts +1 -1
- package/build/src/config/celina-tag.d.ts +12 -6
- package/build/src/config/celina-tag.js +16 -21
- package/build/src/config/celina-tag.js.map +1 -1
- package/build/src/config/sdk-config.d.ts +3 -5
- package/build/src/config/sdk-config.js.map +1 -1
- package/build/src/tools/domains/blockchain.js +2 -2
- package/build/src/tools/domains/blockchain.js.map +1 -1
- package/build/src/types/prepared.d.ts +1 -1
- package/build/tools/domains/blockchain.js +2 -2
- package/build/tools/domains/blockchain.js.map +1 -1
- package/build/types/prepared.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ 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, `prepare*` flows (`chainId: 42220`),
|
|
17
|
+
| **SDK** | `@andrewkimjoseph/celina-sdk` | Reads, gas estimates, `prepare*` flows (`chainId: 42220`), ERC-8021 attribution, `createAAClient` |
|
|
18
18
|
| **MCP** | `@andrewkimjoseph/celina-mcp` | MCP tools for Cursor / Claude / LM Studio — stdio writes or hosted reads |
|
|
19
19
|
| **MCP host** | `celina-mcp-host` | Vercel Streamable HTTP — hosted reads (36 tools); no server-key writes; no sponsorship keys |
|
|
20
20
|
|
|
@@ -43,7 +43,7 @@ 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` (`chainId: 42220`),
|
|
46
|
+
- [Prepared flows](docs/concepts/prepared-flows.md) — `SerializedPreparedFlow` (`chainId: 42220`), ERC-8021 Celina attribution
|
|
47
47
|
- [On-chain attribution](docs/guides/on-chain-attribution.md) — wire format, check vs verify, Celina vs AA tags
|
|
48
48
|
- [Account Abstraction](docs/guides/account-abstraction.md) — `createAAClient`, app-owned sponsorship, AA `attributionTags`
|
|
49
49
|
- [Prepared-step simulation](docs/guides/prepared-step-simulation.md) — `simulatePreparedStep` before wallet send
|
|
@@ -63,7 +63,7 @@ import { createCelinaClient } from "@andrewkimjoseph/celina-sdk";
|
|
|
63
63
|
|
|
64
64
|
const celina = createCelinaClient({
|
|
65
65
|
attributionTags: ["celo_862c21dd97a7", "my_app"],
|
|
66
|
-
//
|
|
66
|
+
// ERC-8021 → codes celina, celo_862c21dd97a7, my_app
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
await celina.token.getStablecoinBalances("0xYourAddress");
|
|
@@ -90,12 +90,9 @@ const reserveFlow = await celina.gooddollar.prepareReserveSwap(
|
|
|
90
90
|
|
|
91
91
|
All `prepare*` methods return a **`SerializedPreparedFlow`**: ordered unsigned steps for the user's wallet.
|
|
92
92
|
|
|
93
|
-
Every step with calldata gets **
|
|
93
|
+
Every step with calldata gets an **ERC-8021 Schema 0** attribution suffix via `appendCelinaCalldataTag` — sends, Mento FX, Uniswap, Aave, and GoodDollar. Pass `step.data` to wagmi unchanged.
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
2. **ERC-8021 Schema 0** — `toDataSuffix(["celina", ...])` via `@celo/attribution-tags` for Celo leaderboards and `verifyTx`
|
|
97
|
-
|
|
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.
|
|
95
|
+
Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` set custom codes after platform `celina` (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 layers (including historical legacy `CELINA|…` when present).
|
|
99
96
|
|
|
100
97
|
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.
|
|
101
98
|
|
|
@@ -26,7 +26,7 @@ export type AAClient = {
|
|
|
26
26
|
attributionTags: string[] | undefined;
|
|
27
27
|
/**
|
|
28
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
|
|
29
|
+
* When `attributionTags` were set on this client, each step’s `data` is ERC-8021-tagged
|
|
30
30
|
* before submit; otherwise `data` is used as-is (including tags from `prepare*`).
|
|
31
31
|
*/
|
|
32
32
|
sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
|
|
@@ -38,7 +38,7 @@ export type AAClient = {
|
|
|
38
38
|
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
39
39
|
*
|
|
40
40
|
* Optional `attributionTags` are applied in `sendPreparedFlow` via
|
|
41
|
-
* `appendCelinaCalldataTag` (same
|
|
41
|
+
* `appendCelinaCalldataTag` (same ERC-8021 format as `prepare*`). Omit them to
|
|
42
42
|
* pass step calldata through unchanged.
|
|
43
43
|
*/
|
|
44
44
|
export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;
|
|
@@ -45,7 +45,7 @@ export async function deriveSmartAccountAddress(owner, publicClient) {
|
|
|
45
45
|
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
46
46
|
*
|
|
47
47
|
* Optional `attributionTags` are applied in `sendPreparedFlow` via
|
|
48
|
-
* `appendCelinaCalldataTag` (same
|
|
48
|
+
* `appendCelinaCalldataTag` (same ERC-8021 format as `prepare*`). Omit them to
|
|
49
49
|
* pass step calldata through unchanged.
|
|
50
50
|
*/
|
|
51
51
|
export async function createAAClient(options) {
|
|
@@ -2,7 +2,7 @@ import type { PreparedTx } from "../types/prepared.js";
|
|
|
2
2
|
import type { UserOpCall } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Map Celina prepared steps to smart-account `calls`.
|
|
5
|
-
* When `attributionTags` is provided, each step's `data` is
|
|
5
|
+
* When `attributionTags` is provided, each step's `data` is ERC-8021-tagged
|
|
6
6
|
* via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
|
|
7
7
|
*/
|
|
8
8
|
export declare function preparedStepsToUserOpCalls(steps: PreparedTx[], attributionTags?: string[]): UserOpCall[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { appendCelinaCalldataTag } from "../config/celina-tag.js";
|
|
2
2
|
/**
|
|
3
3
|
* Map Celina prepared steps to smart-account `calls`.
|
|
4
|
-
* When `attributionTags` is provided, each step's `data` is
|
|
4
|
+
* When `attributionTags` is provided, each step's `data` is ERC-8021-tagged
|
|
5
5
|
* via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
|
|
6
6
|
*/
|
|
7
7
|
export function preparedStepsToUserOpCalls(steps, attributionTags) {
|
package/build/aa/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type CreateAAClientOptions = {
|
|
|
30
30
|
publicClient?: PublicClient;
|
|
31
31
|
/**
|
|
32
32
|
* Optional custom tags applied via `appendCelinaCalldataTag` on each step's `data`
|
|
33
|
-
* in `sendPreparedFlow` (
|
|
33
|
+
* in `sendPreparedFlow` (ERC-8021 Schema 0). When omitted, step data
|
|
34
34
|
* is passed through unchanged.
|
|
35
35
|
*/
|
|
36
36
|
attributionTags?: string[];
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { ERC_8021_MARKER } from "@celo/attribution-tags";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Legacy UTF-8 marker hex(`"CELINA"`) for reading historical dual / legacy-only txs.
|
|
4
|
+
* New writes use ERC-8021 only — see {@link appendCelinaCalldataTag}.
|
|
5
|
+
*/
|
|
3
6
|
export declare const CELINA_DATA_SUFFIX: `0x${string}`;
|
|
4
7
|
export { ERC_8021_MARKER };
|
|
5
8
|
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
6
9
|
export declare function normalizeAttributionTags(tags?: string[]): string[];
|
|
7
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Build deterministic legacy UTF-8 tag string (`CELINA` / `CELINA|TAG…`).
|
|
12
|
+
* @deprecated Prefer ERC-8021 via {@link appendCelinaCalldataTag} / {@link toErc8021AttributionCodes}. Kept for historical decode helpers and tests.
|
|
13
|
+
*/
|
|
8
14
|
export declare function buildCelinaAttributionTag(tags?: string[]): string;
|
|
9
15
|
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
10
16
|
export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
|
|
@@ -41,15 +47,15 @@ export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: s
|
|
|
41
47
|
*/
|
|
42
48
|
export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
|
|
43
49
|
/**
|
|
44
|
-
* Append
|
|
50
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|…`).
|
|
45
51
|
*
|
|
46
52
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
47
53
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
48
54
|
*
|
|
49
55
|
* @param data - Original transaction calldata.
|
|
50
56
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
57
|
+
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
58
|
+
* Example: `["goclaim"]` → codes `celina`, `goclaim`.
|
|
59
|
+
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
54
60
|
*/
|
|
55
61
|
export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
|
|
2
2
|
import { concat, hexToString, stringToHex } from "viem";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Legacy UTF-8 marker hex(`"CELINA"`) for reading historical dual / legacy-only txs.
|
|
5
|
+
* New writes use ERC-8021 only — see {@link appendCelinaCalldataTag}.
|
|
6
|
+
*/
|
|
4
7
|
export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
|
|
5
8
|
export { ERC_8021_MARKER };
|
|
6
9
|
/** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
|
|
@@ -26,7 +29,10 @@ export function normalizeAttributionTags(tags) {
|
|
|
26
29
|
}
|
|
27
30
|
return [...deduped];
|
|
28
31
|
}
|
|
29
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Build deterministic legacy UTF-8 tag string (`CELINA` / `CELINA|TAG…`).
|
|
34
|
+
* @deprecated Prefer ERC-8021 via {@link appendCelinaCalldataTag} / {@link toErc8021AttributionCodes}. Kept for historical decode helpers and tests.
|
|
35
|
+
*/
|
|
30
36
|
export function buildCelinaAttributionTag(tags) {
|
|
31
37
|
const normalized = normalizeAttributionTags(tags);
|
|
32
38
|
return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
|
|
@@ -46,9 +52,6 @@ export function buildErc8021AttributionSuffix(attributionTags) {
|
|
|
46
52
|
? toDataSuffix(codes[0])
|
|
47
53
|
: toDataSuffix(codes);
|
|
48
54
|
}
|
|
49
|
-
function buildLegacyAttributionSuffixHex(attributionTags) {
|
|
50
|
-
return stringToHex(buildCelinaAttributionTag(attributionTags));
|
|
51
|
-
}
|
|
52
55
|
function sameCodeSets(a, b) {
|
|
53
56
|
if (a.length !== b.length)
|
|
54
57
|
return false;
|
|
@@ -200,35 +203,27 @@ export function checkAttributionInCalldata(data, tag) {
|
|
|
200
203
|
};
|
|
201
204
|
}
|
|
202
205
|
/**
|
|
203
|
-
* Append
|
|
206
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|…`).
|
|
204
207
|
*
|
|
205
208
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
206
209
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
207
210
|
*
|
|
208
211
|
* @param data - Original transaction calldata.
|
|
209
212
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
+
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
214
|
+
* Example: `["goclaim"]` → codes `celina`, `goclaim`.
|
|
215
|
+
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
213
216
|
*/
|
|
214
217
|
export function appendCelinaCalldataTag(data, attributionTags) {
|
|
215
218
|
if (!data || data === "0x")
|
|
216
219
|
return data;
|
|
217
|
-
const legacyHex = buildLegacyAttributionSuffixHex(attributionTags);
|
|
218
|
-
const legacySuffix = legacyHex.slice(2);
|
|
219
220
|
const erc8021Hex = buildErc8021AttributionSuffix(attributionTags);
|
|
220
221
|
const expectedCodes = toErc8021AttributionCodes(attributionTags);
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
222
|
+
const tip = fromDataSuffix(data);
|
|
223
|
+
if (tip && sameCodeSets(tip.codes, expectedCodes)) {
|
|
223
224
|
return data;
|
|
224
|
-
let result = stripErc8021SuffixIfPresent(data);
|
|
225
|
-
if (!result.toLowerCase().endsWith(legacySuffix.toLowerCase())) {
|
|
226
|
-
result = concat([result, legacyHex]);
|
|
227
|
-
}
|
|
228
|
-
const decoded = fromDataSuffix(result);
|
|
229
|
-
if (!decoded || !sameCodeSets(decoded.codes, expectedCodes)) {
|
|
230
|
-
result = concat([result, erc8021Hex]);
|
|
231
225
|
}
|
|
232
|
-
|
|
226
|
+
const without8021 = stripErc8021SuffixIfPresent(data);
|
|
227
|
+
return concat([without8021, erc8021Hex]);
|
|
233
228
|
}
|
|
234
229
|
//# sourceMappingURL=celina-tag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,10 @@ export interface SdkConfig {
|
|
|
24
24
|
*/
|
|
25
25
|
analyticsWalletAddress?: string;
|
|
26
26
|
/**
|
|
27
|
-
* Optional custom calldata attribution tags
|
|
28
|
-
*
|
|
29
|
-
* An ERC-8021 Schema 0 suffix (`toDataSuffix`) is also appended for Celo ecosystem
|
|
30
|
-
* leaderboards and `verifyTx` compatibility.
|
|
27
|
+
* Optional custom calldata attribution tags for ERC-8021 Schema 0 codes
|
|
28
|
+
* after platform `celina` on prepared transaction steps (deduped, stable order).
|
|
31
29
|
*
|
|
32
|
-
* App tags (e.g. `celeste_ai`) normalize to uppercase (`CELESTE_AI`).
|
|
30
|
+
* App tags (e.g. `celeste_ai`) normalize to uppercase (`CELESTE_AI`) then lowercase codes.
|
|
33
31
|
* Celo Builders on-chain tags matching `celo_<12 hex>` canonicalize to lowercase
|
|
34
32
|
* (e.g. `celo_862c21dd97a7`). The literal tag `CELINA` is never duplicated.
|
|
35
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAsC7E,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,MAAM,mBAAmB,GACvB,IAAI,EAAE,mBAAmB;QACzB,CAAC,OAAO,OAAO,KAAK,WAAW;YAC7B,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,sBAAoD;YACnE,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,eAAe;QACvC,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,mBAAmB;QACnB,WAAW,EACT,IAAI,EAAE,WAAW;YACjB,CAAC,OAAO,OAAO,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACjC,CAAC,CAAC,SAAS,CAAC;QAChB,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;QACxC,eAAe,EAAE,IAAI,EAAE,eAAe;QACtC,iBAAiB,EACf,IAAI,EAAE,iBAAiB,IAAI,yBAAyB,EAAE;QACxD,sBAAsB,EAAE,IAAI,EAAE,sBAAsB;QACpD,eAAe,EAAE,IAAI,EAAE,eAAe;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -26,7 +26,7 @@ export type AAClient = {
|
|
|
26
26
|
attributionTags: string[] | undefined;
|
|
27
27
|
/**
|
|
28
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
|
|
29
|
+
* When `attributionTags` were set on this client, each step’s `data` is ERC-8021-tagged
|
|
30
30
|
* before submit; otherwise `data` is used as-is (including tags from `prepare*`).
|
|
31
31
|
*/
|
|
32
32
|
sendPreparedFlow: (flow: PreparedFlow | SerializedPreparedFlow, options?: SendPreparedFlowOptions) => Promise<SendPreparedFlowResult>;
|
|
@@ -38,7 +38,7 @@ export type AAClient = {
|
|
|
38
38
|
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
39
39
|
*
|
|
40
40
|
* Optional `attributionTags` are applied in `sendPreparedFlow` via
|
|
41
|
-
* `appendCelinaCalldataTag` (same
|
|
41
|
+
* `appendCelinaCalldataTag` (same ERC-8021 format as `prepare*`). Omit them to
|
|
42
42
|
* pass step calldata through unchanged.
|
|
43
43
|
*/
|
|
44
44
|
export declare function createAAClient(options: CreateAAClientOptions): Promise<AAClient>;
|
|
@@ -45,7 +45,7 @@ export async function deriveSmartAccountAddress(owner, publicClient) {
|
|
|
45
45
|
* and never stored by Celina. v1 supports `provider: "pimlico"`.
|
|
46
46
|
*
|
|
47
47
|
* Optional `attributionTags` are applied in `sendPreparedFlow` via
|
|
48
|
-
* `appendCelinaCalldataTag` (same
|
|
48
|
+
* `appendCelinaCalldataTag` (same ERC-8021 format as `prepare*`). Omit them to
|
|
49
49
|
* pass step calldata through unchanged.
|
|
50
50
|
*/
|
|
51
51
|
export async function createAAClient(options) {
|
|
@@ -2,7 +2,7 @@ import type { PreparedTx } from "../types/prepared.js";
|
|
|
2
2
|
import type { UserOpCall } from "./types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Map Celina prepared steps to smart-account `calls`.
|
|
5
|
-
* When `attributionTags` is provided, each step's `data` is
|
|
5
|
+
* When `attributionTags` is provided, each step's `data` is ERC-8021-tagged
|
|
6
6
|
* via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
|
|
7
7
|
*/
|
|
8
8
|
export declare function preparedStepsToUserOpCalls(steps: PreparedTx[], attributionTags?: string[]): UserOpCall[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { appendCelinaCalldataTag } from "../config/celina-tag.js";
|
|
2
2
|
/**
|
|
3
3
|
* Map Celina prepared steps to smart-account `calls`.
|
|
4
|
-
* When `attributionTags` is provided, each step's `data` is
|
|
4
|
+
* When `attributionTags` is provided, each step's `data` is ERC-8021-tagged
|
|
5
5
|
* via {@link appendCelinaCalldataTag}; otherwise `data` is preserved as-is.
|
|
6
6
|
*/
|
|
7
7
|
export function preparedStepsToUserOpCalls(steps, attributionTags) {
|
package/build/src/aa/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type CreateAAClientOptions = {
|
|
|
30
30
|
publicClient?: PublicClient;
|
|
31
31
|
/**
|
|
32
32
|
* Optional custom tags applied via `appendCelinaCalldataTag` on each step's `data`
|
|
33
|
-
* in `sendPreparedFlow` (
|
|
33
|
+
* in `sendPreparedFlow` (ERC-8021 Schema 0). When omitted, step data
|
|
34
34
|
* is passed through unchanged.
|
|
35
35
|
*/
|
|
36
36
|
attributionTags?: string[];
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { ERC_8021_MARKER } from "@celo/attribution-tags";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Legacy UTF-8 marker hex(`"CELINA"`) for reading historical dual / legacy-only txs.
|
|
4
|
+
* New writes use ERC-8021 only — see {@link appendCelinaCalldataTag}.
|
|
5
|
+
*/
|
|
3
6
|
export declare const CELINA_DATA_SUFFIX: `0x${string}`;
|
|
4
7
|
export { ERC_8021_MARKER };
|
|
5
8
|
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
6
9
|
export declare function normalizeAttributionTags(tags?: string[]): string[];
|
|
7
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* Build deterministic legacy UTF-8 tag string (`CELINA` / `CELINA|TAG…`).
|
|
12
|
+
* @deprecated Prefer ERC-8021 via {@link appendCelinaCalldataTag} / {@link toErc8021AttributionCodes}. Kept for historical decode helpers and tests.
|
|
13
|
+
*/
|
|
8
14
|
export declare function buildCelinaAttributionTag(tags?: string[]): string;
|
|
9
15
|
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
10
16
|
export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
|
|
@@ -41,15 +47,15 @@ export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: s
|
|
|
41
47
|
*/
|
|
42
48
|
export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
|
|
43
49
|
/**
|
|
44
|
-
* Append
|
|
50
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|…`).
|
|
45
51
|
*
|
|
46
52
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
47
53
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
48
54
|
*
|
|
49
55
|
* @param data - Original transaction calldata.
|
|
50
56
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
57
|
+
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
58
|
+
* Example: `["goclaim"]` → codes `celina`, `goclaim`.
|
|
59
|
+
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
54
60
|
*/
|
|
55
61
|
export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
|
|
2
2
|
import { concat, hexToString, stringToHex } from "viem";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Legacy UTF-8 marker hex(`"CELINA"`) for reading historical dual / legacy-only txs.
|
|
5
|
+
* New writes use ERC-8021 only — see {@link appendCelinaCalldataTag}.
|
|
6
|
+
*/
|
|
4
7
|
export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
|
|
5
8
|
export { ERC_8021_MARKER };
|
|
6
9
|
/** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
|
|
@@ -26,7 +29,10 @@ export function normalizeAttributionTags(tags) {
|
|
|
26
29
|
}
|
|
27
30
|
return [...deduped];
|
|
28
31
|
}
|
|
29
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Build deterministic legacy UTF-8 tag string (`CELINA` / `CELINA|TAG…`).
|
|
34
|
+
* @deprecated Prefer ERC-8021 via {@link appendCelinaCalldataTag} / {@link toErc8021AttributionCodes}. Kept for historical decode helpers and tests.
|
|
35
|
+
*/
|
|
30
36
|
export function buildCelinaAttributionTag(tags) {
|
|
31
37
|
const normalized = normalizeAttributionTags(tags);
|
|
32
38
|
return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
|
|
@@ -46,9 +52,6 @@ export function buildErc8021AttributionSuffix(attributionTags) {
|
|
|
46
52
|
? toDataSuffix(codes[0])
|
|
47
53
|
: toDataSuffix(codes);
|
|
48
54
|
}
|
|
49
|
-
function buildLegacyAttributionSuffixHex(attributionTags) {
|
|
50
|
-
return stringToHex(buildCelinaAttributionTag(attributionTags));
|
|
51
|
-
}
|
|
52
55
|
function sameCodeSets(a, b) {
|
|
53
56
|
if (a.length !== b.length)
|
|
54
57
|
return false;
|
|
@@ -200,35 +203,27 @@ export function checkAttributionInCalldata(data, tag) {
|
|
|
200
203
|
};
|
|
201
204
|
}
|
|
202
205
|
/**
|
|
203
|
-
* Append
|
|
206
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|…`).
|
|
204
207
|
*
|
|
205
208
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
206
209
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
207
210
|
*
|
|
208
211
|
* @param data - Original transaction calldata.
|
|
209
212
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
+
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
214
|
+
* Example: `["goclaim"]` → codes `celina`, `goclaim`.
|
|
215
|
+
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
213
216
|
*/
|
|
214
217
|
export function appendCelinaCalldataTag(data, attributionTags) {
|
|
215
218
|
if (!data || data === "0x")
|
|
216
219
|
return data;
|
|
217
|
-
const legacyHex = buildLegacyAttributionSuffixHex(attributionTags);
|
|
218
|
-
const legacySuffix = legacyHex.slice(2);
|
|
219
220
|
const erc8021Hex = buildErc8021AttributionSuffix(attributionTags);
|
|
220
221
|
const expectedCodes = toErc8021AttributionCodes(attributionTags);
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
222
|
+
const tip = fromDataSuffix(data);
|
|
223
|
+
if (tip && sameCodeSets(tip.codes, expectedCodes)) {
|
|
223
224
|
return data;
|
|
224
|
-
let result = stripErc8021SuffixIfPresent(data);
|
|
225
|
-
if (!result.toLowerCase().endsWith(legacySuffix.toLowerCase())) {
|
|
226
|
-
result = concat([result, legacyHex]);
|
|
227
|
-
}
|
|
228
|
-
const decoded = fromDataSuffix(result);
|
|
229
|
-
if (!decoded || !sameCodeSets(decoded.codes, expectedCodes)) {
|
|
230
|
-
result = concat([result, erc8021Hex]);
|
|
231
225
|
}
|
|
232
|
-
|
|
226
|
+
const without8021 = stripErc8021SuffixIfPresent(data);
|
|
227
|
+
return concat([without8021, erc8021Hex]);
|
|
233
228
|
}
|
|
234
229
|
//# sourceMappingURL=celina-tag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../../src/config/celina-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,10 @@ export interface SdkConfig {
|
|
|
24
24
|
*/
|
|
25
25
|
analyticsWalletAddress?: string;
|
|
26
26
|
/**
|
|
27
|
-
* Optional custom calldata attribution tags
|
|
28
|
-
*
|
|
29
|
-
* An ERC-8021 Schema 0 suffix (`toDataSuffix`) is also appended for Celo ecosystem
|
|
30
|
-
* leaderboards and `verifyTx` compatibility.
|
|
27
|
+
* Optional custom calldata attribution tags for ERC-8021 Schema 0 codes
|
|
28
|
+
* after platform `celina` on prepared transaction steps (deduped, stable order).
|
|
31
29
|
*
|
|
32
|
-
* App tags (e.g. `celeste_ai`) normalize to uppercase (`CELESTE_AI`).
|
|
30
|
+
* App tags (e.g. `celeste_ai`) normalize to uppercase (`CELESTE_AI`) then lowercase codes.
|
|
33
31
|
* Celo Builders on-chain tags matching `celo_<12 hex>` canonicalize to lowercase
|
|
34
32
|
* (e.g. `celo_862c21dd97a7`). The literal tag `CELINA` is never duplicated.
|
|
35
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAsC7E,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,MAAM,mBAAmB,GACvB,IAAI,EAAE,mBAAmB;QACzB,CAAC,OAAO,OAAO,KAAK,WAAW;YAC7B,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,sBAAoD;YACnE,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,OAAO;QACL,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,eAAe;QACvC,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,mBAAmB;QACnB,WAAW,EACT,IAAI,EAAE,WAAW;YACjB,CAAC,OAAO,OAAO,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACjC,CAAC,CAAC,SAAS,CAAC;QAChB,gBAAgB,EAAE,IAAI,EAAE,gBAAgB;QACxC,eAAe,EAAE,IAAI,EAAE,eAAe;QACtC,iBAAiB,EACf,IAAI,EAAE,iBAAiB,IAAI,yBAAyB,EAAE;QACxD,sBAAsB,EAAE,IAAI,EAAE,sBAAsB;QACpD,eAAe,EAAE,IAAI,EAAE,eAAe;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -50,7 +50,7 @@ export const blockchainToolDefinitions = [
|
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
name: "verify_attribution_tag",
|
|
53
|
-
description: "Decode
|
|
53
|
+
description: "Decode ERC-8021 (celina, app codes) attribution from a Celo mainnet tx calldata; also returns historical legacy CELINA|… tags when present. Optionally pass tag to check for a specific code on either layer.",
|
|
54
54
|
inputSchema: z.object({
|
|
55
55
|
hash: z
|
|
56
56
|
.string()
|
|
@@ -68,7 +68,7 @@ export const blockchainToolDefinitions = [
|
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
name: "check_attribution_tag",
|
|
71
|
-
description: "List custom attribution tags on a Celo mainnet transaction (unified tags
|
|
71
|
+
description: "List custom attribution tags on a Celo mainnet transaction (unified tags from ERC-8021 and historical legacy when present, excluding platform CELINA/celina), or check whether a specific tag is present. Prefer this for “what tags are on this tx?”; use verify_attribution_tag for raw layers.",
|
|
72
72
|
inputSchema: z.object({
|
|
73
73
|
hash: z
|
|
74
74
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,QAAQ,GAAG;IACf,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE;KACzE;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,aAAa;YACvB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC7C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;QAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAiB,EAAE;YAC1D,mBAAmB,EAAE,KAAK,CAAC,oBAA2C;SACvE,CAAC;KACL;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,+BAA+B,CAAC,CAAC,EAAE,GAAG,CAAC;YAC9C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACxC,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CACtC,KAAK,CAAC,KAA4B,IAAI,CAAC,EACvC,KAAK,CAAC,MAA6B,IAAI,CAAC,CAC1C;KACJ;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,IAAqB,CAAC;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,QAAQ,GAAG;IACf,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE;KACzE;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,aAAa;YACvB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC7C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;QAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAiB,EAAE;YAC1D,mBAAmB,EAAE,KAAK,CAAC,oBAA2C;SACvE,CAAC;KACL;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,+BAA+B,CAAC,CAAC,EAAE,GAAG,CAAC;YAC9C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACxC,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CACtC,KAAK,CAAC,KAA4B,IAAI,CAAC,EACvC,KAAK,CAAC,MAA6B,IAAI,CAAC,CAC1C;KACJ;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,IAAqB,CAAC;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,+MAA+M;QACjN,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,CAAC;iBAC5B,QAAQ,CAAC,4CAA4C,CAAC;YACzD,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;SACJ,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CACtD,KAAK,CAAC,IAAqB,EAC3B,KAAK,CAAC,GAAyB,CAChC;KACJ;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,mSAAmS;QACrS,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,CAAC;iBAC5B,QAAQ,CAAC,4CAA4C,CAAC;YACzD,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CACP,oGAAoG,CACrG;SACJ,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,6BAA6B,CACrD,KAAK,CAAC,IAAqB,EAC3B,KAAK,CAAC,GAAyB,CAChC;KACJ;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,iFAAiF;QACnF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;gBACzC,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;aAC3B,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,4EAA4E;QAC9E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,2BAA2B;SACrC,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE;QACpD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBAC/C,OAAO,EAAE,KAAK,CAAC,OAA6B;aAC7C,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { CHAIN } from "../config/chains.js";
|
|
|
2
2
|
export type PreparedTxKind = "native" | "erc20" | "contract";
|
|
3
3
|
/**
|
|
4
4
|
* One unsigned transaction in a prepared list (`steps`).
|
|
5
|
-
* Calldata may already include Celina
|
|
5
|
+
* Calldata may already include Celina ERC-8021 attribution from `prepare*`.
|
|
6
6
|
*/
|
|
7
7
|
export interface PreparedTx {
|
|
8
8
|
/** Step category for UI and wallet routing. */
|
|
@@ -50,7 +50,7 @@ export const blockchainToolDefinitions = [
|
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
name: "verify_attribution_tag",
|
|
53
|
-
description: "Decode
|
|
53
|
+
description: "Decode ERC-8021 (celina, app codes) attribution from a Celo mainnet tx calldata; also returns historical legacy CELINA|… tags when present. Optionally pass tag to check for a specific code on either layer.",
|
|
54
54
|
inputSchema: z.object({
|
|
55
55
|
hash: z
|
|
56
56
|
.string()
|
|
@@ -68,7 +68,7 @@ export const blockchainToolDefinitions = [
|
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
name: "check_attribution_tag",
|
|
71
|
-
description: "List custom attribution tags on a Celo mainnet transaction (unified tags
|
|
71
|
+
description: "List custom attribution tags on a Celo mainnet transaction (unified tags from ERC-8021 and historical legacy when present, excluding platform CELINA/celina), or check whether a specific tag is present. Prefer this for “what tags are on this tx?”; use verify_attribution_tag for raw layers.",
|
|
72
72
|
inputSchema: z.object({
|
|
73
73
|
hash: z
|
|
74
74
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,QAAQ,GAAG;IACf,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE;KACzE;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,aAAa;YACvB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC7C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;QAClD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAiB,EAAE;YAC1D,mBAAmB,EAAE,KAAK,CAAC,oBAA2C;SACvE,CAAC;KACL;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,+BAA+B,CAAC,CAAC,EAAE,GAAG,CAAC;YAC9C,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;SACxC,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CACtC,KAAK,CAAC,KAA4B,IAAI,CAAC,EACvC,KAAK,CAAC,MAA6B,IAAI,CAAC,CAC1C;KACJ;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,IAAqB,CAAC;KACxE;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { CHAIN } from "../config/chains.js";
|
|
|
2
2
|
export type PreparedTxKind = "native" | "erc20" | "contract";
|
|
3
3
|
/**
|
|
4
4
|
* One unsigned transaction in a prepared list (`steps`).
|
|
5
|
-
* Calldata may already include Celina
|
|
5
|
+
* Calldata may already include Celina ERC-8021 attribution from `prepare*`.
|
|
6
6
|
*/
|
|
7
7
|
export interface PreparedTx {
|
|
8
8
|
/** Step category for UI and wallet routing. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrewkimjoseph/celina-sdk",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.4",
|
|
4
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,
|