@andrewkimjoseph/celina-sdk 0.12.0 → 0.13.0

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 CHANGED
@@ -60,7 +60,8 @@ Docs source lives in [`docs/`](docs/) in this repository.
60
60
  import { createCelinaClient } from "@andrewkimjoseph/celina-sdk";
61
61
 
62
62
  const celina = createCelinaClient({
63
- attributionTags: ["CELESTE_AI", "SESSION_X"],
63
+ attributionTags: ["celo_862c21dd97a7", "my_app"],
64
+ // suffix → CELINA|celo_862c21dd97a7|MY_APP
64
65
  });
65
66
 
66
67
  await celina.token.getStablecoinBalances("0xYourAddress");
@@ -87,9 +88,12 @@ const reserveFlow = await celina.gooddollar.prepareReserveSwap(
87
88
 
88
89
  All `prepare*` methods return a **`SerializedPreparedFlow`**: ordered unsigned steps for the user's wallet.
89
90
 
90
- Every step with calldata gets a **CELINA attribution suffix** (`appendCelinaCalldataTag`) — sends, Mento FX, Uniswap, Aave, and GoodDollar. Pass `step.data` to wagmi unchanged.
91
+ Every step with calldata gets **dual attribution suffixes** via `appendCelinaCalldataTag` — sends, Mento FX, Uniswap, Aave, and GoodDollar. Pass `step.data` to wagmi unchanged.
91
92
 
92
- Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` are appended after `CELINA` as `CELINA|TAG1|TAG2` (normalized uppercase, deduped, stable order).
93
+ 1. **Legacy UTF-8** `CELINA|TAG1|TAG2` (app tags uppercase; `celo_<12 hex>` lowercase)
94
+ 2. **ERC-8021 Schema 0** — `toDataSuffix(["celina", ...])` via `@celo/attribution-tags` for Celo leaderboards and `verifyTx`
95
+
96
+ Optional `attributionTags` in `createCelinaClient({ attributionTags: [...] })` apply to both layers (deduped, stable order). Verify on-chain with `verify_attribution_tag` or `verifyAttributionInCalldata`.
93
97
 
94
98
  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.
95
99
 
@@ -1,11 +1,35 @@
1
+ import { ERC_8021_MARKER } from "@celo/attribution-tags";
1
2
  /** Calldata suffix appended to prepared transactions for on-chain Celina attribution. */
2
3
  export declare const CELINA_DATA_SUFFIX: `0x${string}`;
4
+ export { ERC_8021_MARKER };
3
5
  /** Normalize custom attribution tags while preserving first-seen order. */
4
6
  export declare function normalizeAttributionTags(tags?: string[]): string[];
5
7
  /** Build deterministic attribution tag string that always starts with `CELINA`. */
6
8
  export declare function buildCelinaAttributionTag(tags?: string[]): string;
9
+ /** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
10
+ export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
11
+ /** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
12
+ export declare function buildErc8021AttributionSuffix(attributionTags?: string[]): `0x${string}`;
13
+ /** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
14
+ export declare function stripErc8021SuffixIfPresent(data: `0x${string}`): `0x${string}`;
15
+ /** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
16
+ export declare function parseCelinaLegacyAttributionSuffix(data: `0x${string}`): string[] | null;
17
+ export type AttributionVerificationResult = {
18
+ legacyTags: string[] | null;
19
+ erc8021: {
20
+ codes: string[];
21
+ schemaId: number;
22
+ } | null;
23
+ matched: boolean;
24
+ };
25
+ /** Decode legacy and ERC-8021 attribution from calldata; optionally check for a tag. */
26
+ export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionVerificationResult;
7
27
  /**
8
- * Append CELINA attribution suffix to calldata; no-op when empty or already tagged.
9
- * Custom tags are appended after CELINA as `CELINA|TAG1|TAG2`.
28
+ * Append legacy UTF-8 and ERC-8021 attribution suffixes to calldata.
29
+ *
30
+ * @param data - Original transaction calldata.
31
+ * @param attributionTags - Optional tags from `createCelinaClient({ attributionTags })`.
32
+ * Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
33
+ * ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
10
34
  */
11
35
  export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
@@ -1,13 +1,25 @@
1
- import { concat, stringToHex } from "viem";
1
+ import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
2
+ import { concat, hexToString, stringToHex } from "viem";
2
3
  /** Calldata suffix appended to prepared transactions for on-chain Celina attribution. */
3
4
  export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
5
+ export { ERC_8021_MARKER };
6
+ /** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
7
+ const CELO_BUILDERS_TAG = /^celo_[0-9a-f]{12}$/i;
8
+ const CELINA_PLATFORM_ERC8021_CODE = "celina";
9
+ function normalizeAttributionTag(tag) {
10
+ const trimmed = tag.trim();
11
+ if (CELO_BUILDERS_TAG.test(trimmed)) {
12
+ return trimmed.toLowerCase();
13
+ }
14
+ return trimmed.toUpperCase();
15
+ }
4
16
  /** Normalize custom attribution tags while preserving first-seen order. */
5
17
  export function normalizeAttributionTags(tags) {
6
18
  if (!tags?.length)
7
19
  return [];
8
20
  const deduped = new Set();
9
21
  for (const tag of tags) {
10
- const normalized = tag.trim().toUpperCase();
22
+ const normalized = normalizeAttributionTag(tag);
11
23
  if (!normalized || normalized === "CELINA" || deduped.has(normalized))
12
24
  continue;
13
25
  deduped.add(normalized);
@@ -19,17 +31,118 @@ export function buildCelinaAttributionTag(tags) {
19
31
  const normalized = normalizeAttributionTags(tags);
20
32
  return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
21
33
  }
34
+ /** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
35
+ export function toErc8021AttributionCodes(attributionTags) {
36
+ const codes = [CELINA_PLATFORM_ERC8021_CODE];
37
+ for (const tag of normalizeAttributionTags(attributionTags)) {
38
+ codes.push(tag.toLowerCase());
39
+ }
40
+ return [...new Set(codes)];
41
+ }
42
+ /** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
43
+ export function buildErc8021AttributionSuffix(attributionTags) {
44
+ const codes = toErc8021AttributionCodes(attributionTags);
45
+ return codes.length === 1
46
+ ? toDataSuffix(codes[0])
47
+ : toDataSuffix(codes);
48
+ }
49
+ function buildLegacyAttributionSuffixHex(attributionTags) {
50
+ return stringToHex(buildCelinaAttributionTag(attributionTags));
51
+ }
52
+ function sameCodeSets(a, b) {
53
+ if (a.length !== b.length)
54
+ return false;
55
+ const sortedA = [...a].map((c) => c.toLowerCase()).sort();
56
+ const sortedB = [...b].map((c) => c.toLowerCase()).sort();
57
+ return sortedA.every((code, i) => code === sortedB[i]);
58
+ }
59
+ /** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
60
+ export function stripErc8021SuffixIfPresent(data) {
61
+ if (!fromDataSuffix(data))
62
+ return data;
63
+ const hex = data.slice(2);
64
+ const markerHex = ERC_8021_MARKER.slice(2).toLowerCase();
65
+ const markerByteLen = markerHex.length / 2;
66
+ if (hex.length < markerByteLen * 2)
67
+ return data;
68
+ if (hex.slice(-markerByteLen * 2).toLowerCase() !== markerHex)
69
+ return data;
70
+ const schemaPos = hex.length - markerByteLen * 2 - 2;
71
+ const lengthFieldHex = hex.slice(schemaPos - 2, schemaPos);
72
+ const lengthByte = Number.parseInt(lengthFieldHex, 16);
73
+ const suffixStart = schemaPos - 2 - lengthByte * 2;
74
+ if (suffixStart < 0)
75
+ return data;
76
+ return `0x${hex.slice(0, suffixStart)}`;
77
+ }
78
+ /** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
79
+ export function parseCelinaLegacyAttributionSuffix(data) {
80
+ const body = stripErc8021SuffixIfPresent(data);
81
+ const celinaMarker = stringToHex("CELINA").slice(2).toLowerCase();
82
+ const lower = body.slice(2).toLowerCase();
83
+ const idx = lower.lastIndexOf(celinaMarker);
84
+ if (idx === -1)
85
+ return null;
86
+ try {
87
+ const suffixHex = `0x${body.slice(2).slice(idx)}`;
88
+ const text = hexToString(suffixHex);
89
+ if (!text.startsWith("CELINA"))
90
+ return null;
91
+ return text.split("|");
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }
97
+ function tagMatchesVerification(tag, legacyTags, erc8021Codes) {
98
+ const normalized = normalizeAttributionTag(tag);
99
+ const legacyHit = legacyTags?.some((legacyTag) => normalizeAttributionTag(legacyTag) === normalized) ??
100
+ false;
101
+ const ercHit = erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
102
+ false;
103
+ return legacyHit || ercHit;
104
+ }
105
+ /** Decode legacy and ERC-8021 attribution from calldata; optionally check for a tag. */
106
+ export function verifyAttributionInCalldata(data, tag) {
107
+ const legacyTags = parseCelinaLegacyAttributionSuffix(data);
108
+ const erc8021 = fromDataSuffix(data);
109
+ const matched = tag
110
+ ? tagMatchesVerification(tag, legacyTags, erc8021?.codes ?? null)
111
+ : Boolean(legacyTags?.length || erc8021?.codes.length);
112
+ return {
113
+ legacyTags,
114
+ erc8021: erc8021
115
+ ? { codes: [...erc8021.codes], schemaId: erc8021.schemaId }
116
+ : null,
117
+ matched,
118
+ };
119
+ }
22
120
  /**
23
- * Append CELINA attribution suffix to calldata; no-op when empty or already tagged.
24
- * Custom tags are appended after CELINA as `CELINA|TAG1|TAG2`.
121
+ * Append legacy UTF-8 and ERC-8021 attribution suffixes to calldata.
122
+ *
123
+ * @param data - Original transaction calldata.
124
+ * @param attributionTags - Optional tags from `createCelinaClient({ attributionTags })`.
125
+ * Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
126
+ * ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
25
127
  */
26
128
  export function appendCelinaCalldataTag(data, attributionTags) {
27
129
  if (!data || data === "0x")
28
130
  return data;
29
- const suffixHex = stringToHex(buildCelinaAttributionTag(attributionTags));
30
- const suffix = suffixHex.slice(2);
31
- if (data.toLowerCase().endsWith(suffix.toLowerCase()))
131
+ const legacyHex = buildLegacyAttributionSuffixHex(attributionTags);
132
+ const legacySuffix = legacyHex.slice(2);
133
+ const erc8021Hex = buildErc8021AttributionSuffix(attributionTags);
134
+ const expectedCodes = toErc8021AttributionCodes(attributionTags);
135
+ const fullDualSuffix = `${legacySuffix}${erc8021Hex.slice(2)}`.toLowerCase();
136
+ if (data.toLowerCase().endsWith(fullDualSuffix))
32
137
  return data;
33
- return concat([data, suffixHex]);
138
+ let result = stripErc8021SuffixIfPresent(data);
139
+ if (!result.toLowerCase().endsWith(legacySuffix.toLowerCase())) {
140
+ result = concat([result, legacyHex]);
141
+ }
142
+ const decoded = fromDataSuffix(result);
143
+ if (!decoded || !sameCodeSets(decoded.codes, expectedCodes)) {
144
+ result = concat([result, erc8021Hex]);
145
+ }
146
+ return result;
34
147
  }
35
148
  //# 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,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE3C,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAExD,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CAAC,IAAe;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAChF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,yBAAyB,CAAC,IAAe;IACvD,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAmB,EACnB,eAA0B;IAE1B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,13 @@ export interface SdkConfig {
25
25
  analyticsWalletAddress?: string;
26
26
  /**
27
27
  * Optional custom calldata attribution tags appended after the base `CELINA`
28
- * suffix on prepared transaction steps.
28
+ * suffix on prepared transaction steps (`CELINA|TAG1|TAG2`, deduped, stable order).
29
+ * An ERC-8021 Schema 0 suffix (`toDataSuffix`) is also appended for Celo ecosystem
30
+ * leaderboards and `verifyTx` compatibility.
31
+ *
32
+ * App tags (e.g. `celeste_ai`) normalize to uppercase (`CELESTE_AI`).
33
+ * Celo Builders on-chain tags matching `celo_<12 hex>` canonicalize to lowercase
34
+ * (e.g. `celo_862c21dd97a7`). The literal tag `CELINA` is never duplicated.
29
35
  */
30
36
  attributionTags?: string[];
31
37
  }
@@ -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;AAkC7E,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"}
1
+ {"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAwC7E,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"}
package/build/index.d.ts CHANGED
@@ -89,7 +89,8 @@ export type { ContractCallParams } from "./services/contract.service.js";
89
89
  /** Aave V3 Celo pool address and supported asset symbols. */
90
90
  export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
91
91
  export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
92
- export { appendCelinaCalldataTag, CELINA_DATA_SUFFIX, } from "./config/celina-tag.js";
92
+ export { appendCelinaCalldataTag, buildCelinaAttributionTag, buildErc8021AttributionSuffix, CELINA_DATA_SUFFIX, ERC_8021_MARKER, normalizeAttributionTags, parseCelinaLegacyAttributionSuffix, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
93
+ export type { AttributionVerificationResult } from "./config/celina-tag.js";
93
94
  export type { AaveAsset } from "./config/aave.js";
94
95
  export { GOODDOLLAR_CUSD_EXCHANGE_ID, GOODDOLLAR_IDENTITY_ADDRESS, GOODDOLLAR_MENTO_BROKER, GOODDOLLAR_MENTO_EXCHANGE_PROVIDER, GOODDOLLAR_RESERVE_COLLATERAL, GOODDOLLAR_TOKEN_ADDRESS, GOODDOLLAR_UBI_SCHEME_ADDRESS, isGoodDollarUsdReservePair, } from "./config/gooddollar.js";
95
96
  export type { GoodDollarReserveSwapParams, GoodDollarReserveQuoteOptions, GoodDollarReserveAmountSide } from "./services/gooddollar.service.js";
package/build/index.js CHANGED
@@ -57,7 +57,7 @@ export { serializePreparedFlow } from "./types/prepared.js";
57
57
  /** Aave V3 Celo pool address and supported asset symbols. */
58
58
  export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
59
59
  export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
60
- export { appendCelinaCalldataTag, CELINA_DATA_SUFFIX, } from "./config/celina-tag.js";
60
+ export { appendCelinaCalldataTag, buildCelinaAttributionTag, buildErc8021AttributionSuffix, CELINA_DATA_SUFFIX, ERC_8021_MARKER, normalizeAttributionTags, parseCelinaLegacyAttributionSuffix, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
61
61
  export { GOODDOLLAR_CUSD_EXCHANGE_ID, GOODDOLLAR_IDENTITY_ADDRESS, GOODDOLLAR_MENTO_BROKER, GOODDOLLAR_MENTO_EXCHANGE_PROVIDER, GOODDOLLAR_RESERVE_COLLATERAL, GOODDOLLAR_TOKEN_ADDRESS, GOODDOLLAR_UBI_SCHEME_ADDRESS, isGoodDollarUsdReservePair, } from "./config/gooddollar.js";
62
62
  export { SelfService, } from "./services/self.service.js";
63
63
  export { SelfApiError, SelfExpiredSessionError, } from "./clients/self-api.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Chain reads: network status, blocks, and transaction lookups on Celo mainnet.
3
3
  */
4
4
  import type { CeloClientFactory } from "../clients/celo-client.js";
5
+ import { type AttributionVerificationResult } from "../config/celina-tag.js";
5
6
  /** Celo mainnet block and transaction queries. */
6
7
  export declare class BlockchainService {
7
8
  private readonly clientFactory;
@@ -104,4 +105,13 @@ export declare class BlockchainService {
104
105
  transactionIndex: number | null | undefined;
105
106
  type: string | undefined;
106
107
  }>;
108
+ /**
109
+ * Decode legacy and ERC-8021 attribution tags from a mined transaction's calldata.
110
+ * @param hash - Transaction hash
111
+ * @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
112
+ */
113
+ verifyAttributionInTransaction(hash: `0x${string}`, tag?: string): Promise<AttributionVerificationResult & {
114
+ hash: `0x${string}`;
115
+ input: `0x${string}`;
116
+ }>;
107
117
  }
@@ -1,3 +1,4 @@
1
+ import { verifyAttributionInCalldata, } from "../config/celina-tag.js";
1
2
  function serializeTransactionSummary(tx, extras) {
2
3
  const base = {
3
4
  hash: tx.hash,
@@ -147,5 +148,23 @@ export class BlockchainService {
147
148
  status: receipt?.status,
148
149
  });
149
150
  }
151
+ /**
152
+ * Decode legacy and ERC-8021 attribution tags from a mined transaction's calldata.
153
+ * @param hash - Transaction hash
154
+ * @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
155
+ */
156
+ async verifyAttributionInTransaction(hash, tag) {
157
+ const { public: client } = this.clientFactory.getClients();
158
+ const tx = await client.getTransaction({ hash });
159
+ if (!tx) {
160
+ throw new Error(`Transaction not found: ${hash}`);
161
+ }
162
+ const input = tx.input;
163
+ return {
164
+ hash,
165
+ input,
166
+ ...verifyAttributionInCalldata(input, tag),
167
+ };
168
+ }
150
169
  }
151
170
  //# sourceMappingURL=blockchain.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../src/services/blockchain.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../src/services/blockchain.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,35 @@
1
+ import { ERC_8021_MARKER } from "@celo/attribution-tags";
1
2
  /** Calldata suffix appended to prepared transactions for on-chain Celina attribution. */
2
3
  export declare const CELINA_DATA_SUFFIX: `0x${string}`;
4
+ export { ERC_8021_MARKER };
3
5
  /** Normalize custom attribution tags while preserving first-seen order. */
4
6
  export declare function normalizeAttributionTags(tags?: string[]): string[];
5
7
  /** Build deterministic attribution tag string that always starts with `CELINA`. */
6
8
  export declare function buildCelinaAttributionTag(tags?: string[]): string;
9
+ /** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
10
+ export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
11
+ /** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
12
+ export declare function buildErc8021AttributionSuffix(attributionTags?: string[]): `0x${string}`;
13
+ /** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
14
+ export declare function stripErc8021SuffixIfPresent(data: `0x${string}`): `0x${string}`;
15
+ /** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
16
+ export declare function parseCelinaLegacyAttributionSuffix(data: `0x${string}`): string[] | null;
17
+ export type AttributionVerificationResult = {
18
+ legacyTags: string[] | null;
19
+ erc8021: {
20
+ codes: string[];
21
+ schemaId: number;
22
+ } | null;
23
+ matched: boolean;
24
+ };
25
+ /** Decode legacy and ERC-8021 attribution from calldata; optionally check for a tag. */
26
+ export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionVerificationResult;
7
27
  /**
8
- * Append CELINA attribution suffix to calldata; no-op when empty or already tagged.
9
- * Custom tags are appended after CELINA as `CELINA|TAG1|TAG2`.
28
+ * Append legacy UTF-8 and ERC-8021 attribution suffixes to calldata.
29
+ *
30
+ * @param data - Original transaction calldata.
31
+ * @param attributionTags - Optional tags from `createCelinaClient({ attributionTags })`.
32
+ * Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
33
+ * ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
10
34
  */
11
35
  export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
@@ -1,13 +1,25 @@
1
- import { concat, stringToHex } from "viem";
1
+ import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
2
+ import { concat, hexToString, stringToHex } from "viem";
2
3
  /** Calldata suffix appended to prepared transactions for on-chain Celina attribution. */
3
4
  export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
5
+ export { ERC_8021_MARKER };
6
+ /** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
7
+ const CELO_BUILDERS_TAG = /^celo_[0-9a-f]{12}$/i;
8
+ const CELINA_PLATFORM_ERC8021_CODE = "celina";
9
+ function normalizeAttributionTag(tag) {
10
+ const trimmed = tag.trim();
11
+ if (CELO_BUILDERS_TAG.test(trimmed)) {
12
+ return trimmed.toLowerCase();
13
+ }
14
+ return trimmed.toUpperCase();
15
+ }
4
16
  /** Normalize custom attribution tags while preserving first-seen order. */
5
17
  export function normalizeAttributionTags(tags) {
6
18
  if (!tags?.length)
7
19
  return [];
8
20
  const deduped = new Set();
9
21
  for (const tag of tags) {
10
- const normalized = tag.trim().toUpperCase();
22
+ const normalized = normalizeAttributionTag(tag);
11
23
  if (!normalized || normalized === "CELINA" || deduped.has(normalized))
12
24
  continue;
13
25
  deduped.add(normalized);
@@ -19,17 +31,118 @@ export function buildCelinaAttributionTag(tags) {
19
31
  const normalized = normalizeAttributionTags(tags);
20
32
  return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
21
33
  }
34
+ /** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
35
+ export function toErc8021AttributionCodes(attributionTags) {
36
+ const codes = [CELINA_PLATFORM_ERC8021_CODE];
37
+ for (const tag of normalizeAttributionTags(attributionTags)) {
38
+ codes.push(tag.toLowerCase());
39
+ }
40
+ return [...new Set(codes)];
41
+ }
42
+ /** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
43
+ export function buildErc8021AttributionSuffix(attributionTags) {
44
+ const codes = toErc8021AttributionCodes(attributionTags);
45
+ return codes.length === 1
46
+ ? toDataSuffix(codes[0])
47
+ : toDataSuffix(codes);
48
+ }
49
+ function buildLegacyAttributionSuffixHex(attributionTags) {
50
+ return stringToHex(buildCelinaAttributionTag(attributionTags));
51
+ }
52
+ function sameCodeSets(a, b) {
53
+ if (a.length !== b.length)
54
+ return false;
55
+ const sortedA = [...a].map((c) => c.toLowerCase()).sort();
56
+ const sortedB = [...b].map((c) => c.toLowerCase()).sort();
57
+ return sortedA.every((code, i) => code === sortedB[i]);
58
+ }
59
+ /** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
60
+ export function stripErc8021SuffixIfPresent(data) {
61
+ if (!fromDataSuffix(data))
62
+ return data;
63
+ const hex = data.slice(2);
64
+ const markerHex = ERC_8021_MARKER.slice(2).toLowerCase();
65
+ const markerByteLen = markerHex.length / 2;
66
+ if (hex.length < markerByteLen * 2)
67
+ return data;
68
+ if (hex.slice(-markerByteLen * 2).toLowerCase() !== markerHex)
69
+ return data;
70
+ const schemaPos = hex.length - markerByteLen * 2 - 2;
71
+ const lengthFieldHex = hex.slice(schemaPos - 2, schemaPos);
72
+ const lengthByte = Number.parseInt(lengthFieldHex, 16);
73
+ const suffixStart = schemaPos - 2 - lengthByte * 2;
74
+ if (suffixStart < 0)
75
+ return data;
76
+ return `0x${hex.slice(0, suffixStart)}`;
77
+ }
78
+ /** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
79
+ export function parseCelinaLegacyAttributionSuffix(data) {
80
+ const body = stripErc8021SuffixIfPresent(data);
81
+ const celinaMarker = stringToHex("CELINA").slice(2).toLowerCase();
82
+ const lower = body.slice(2).toLowerCase();
83
+ const idx = lower.lastIndexOf(celinaMarker);
84
+ if (idx === -1)
85
+ return null;
86
+ try {
87
+ const suffixHex = `0x${body.slice(2).slice(idx)}`;
88
+ const text = hexToString(suffixHex);
89
+ if (!text.startsWith("CELINA"))
90
+ return null;
91
+ return text.split("|");
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }
97
+ function tagMatchesVerification(tag, legacyTags, erc8021Codes) {
98
+ const normalized = normalizeAttributionTag(tag);
99
+ const legacyHit = legacyTags?.some((legacyTag) => normalizeAttributionTag(legacyTag) === normalized) ??
100
+ false;
101
+ const ercHit = erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
102
+ false;
103
+ return legacyHit || ercHit;
104
+ }
105
+ /** Decode legacy and ERC-8021 attribution from calldata; optionally check for a tag. */
106
+ export function verifyAttributionInCalldata(data, tag) {
107
+ const legacyTags = parseCelinaLegacyAttributionSuffix(data);
108
+ const erc8021 = fromDataSuffix(data);
109
+ const matched = tag
110
+ ? tagMatchesVerification(tag, legacyTags, erc8021?.codes ?? null)
111
+ : Boolean(legacyTags?.length || erc8021?.codes.length);
112
+ return {
113
+ legacyTags,
114
+ erc8021: erc8021
115
+ ? { codes: [...erc8021.codes], schemaId: erc8021.schemaId }
116
+ : null,
117
+ matched,
118
+ };
119
+ }
22
120
  /**
23
- * Append CELINA attribution suffix to calldata; no-op when empty or already tagged.
24
- * Custom tags are appended after CELINA as `CELINA|TAG1|TAG2`.
121
+ * Append legacy UTF-8 and ERC-8021 attribution suffixes to calldata.
122
+ *
123
+ * @param data - Original transaction calldata.
124
+ * @param attributionTags - Optional tags from `createCelinaClient({ attributionTags })`.
125
+ * Legacy layer: `CELINA|TAG1|TAG2` (app tags uppercase, `celo_<12 hex>` lowercase).
126
+ * ERC-8021 layer: `toDataSuffix(["celina", ...])` with lowercase codes.
25
127
  */
26
128
  export function appendCelinaCalldataTag(data, attributionTags) {
27
129
  if (!data || data === "0x")
28
130
  return data;
29
- const suffixHex = stringToHex(buildCelinaAttributionTag(attributionTags));
30
- const suffix = suffixHex.slice(2);
31
- if (data.toLowerCase().endsWith(suffix.toLowerCase()))
131
+ const legacyHex = buildLegacyAttributionSuffixHex(attributionTags);
132
+ const legacySuffix = legacyHex.slice(2);
133
+ const erc8021Hex = buildErc8021AttributionSuffix(attributionTags);
134
+ const expectedCodes = toErc8021AttributionCodes(attributionTags);
135
+ const fullDualSuffix = `${legacySuffix}${erc8021Hex.slice(2)}`.toLowerCase();
136
+ if (data.toLowerCase().endsWith(fullDualSuffix))
32
137
  return data;
33
- return concat([data, suffixHex]);
138
+ let result = stripErc8021SuffixIfPresent(data);
139
+ if (!result.toLowerCase().endsWith(legacySuffix.toLowerCase())) {
140
+ result = concat([result, legacyHex]);
141
+ }
142
+ const decoded = fromDataSuffix(result);
143
+ if (!decoded || !sameCodeSets(decoded.codes, expectedCodes)) {
144
+ result = concat([result, erc8021Hex]);
145
+ }
146
+ return result;
34
147
  }
35
148
  //# 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,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE3C,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAExD,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CAAC,IAAe;IACtD,IAAI,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,SAAS;QAChF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,yBAAyB,CAAC,IAAe;IACvD,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAmB,EACnB,eAA0B;IAE1B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,SAAS,GAAG,WAAW,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,13 @@ export interface SdkConfig {
25
25
  analyticsWalletAddress?: string;
26
26
  /**
27
27
  * Optional custom calldata attribution tags appended after the base `CELINA`
28
- * suffix on prepared transaction steps.
28
+ * suffix on prepared transaction steps (`CELINA|TAG1|TAG2`, deduped, stable order).
29
+ * An ERC-8021 Schema 0 suffix (`toDataSuffix`) is also appended for Celo ecosystem
30
+ * leaderboards and `verifyTx` compatibility.
31
+ *
32
+ * App tags (e.g. `celeste_ai`) normalize to uppercase (`CELESTE_AI`).
33
+ * Celo Builders on-chain tags matching `celo_<12 hex>` canonicalize to lowercase
34
+ * (e.g. `celo_862c21dd97a7`). The literal tag `CELINA` is never duplicated.
29
35
  */
30
36
  attributionTags?: string[];
31
37
  }
@@ -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;AAkC7E,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"}
1
+ {"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../../src/config/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAwC7E,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"}
@@ -89,7 +89,8 @@ export type { ContractCallParams } from "./services/contract.service.js";
89
89
  /** Aave V3 Celo pool address and supported asset symbols. */
90
90
  export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
91
91
  export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
92
- export { appendCelinaCalldataTag, CELINA_DATA_SUFFIX, } from "./config/celina-tag.js";
92
+ export { appendCelinaCalldataTag, buildCelinaAttributionTag, buildErc8021AttributionSuffix, CELINA_DATA_SUFFIX, ERC_8021_MARKER, normalizeAttributionTags, parseCelinaLegacyAttributionSuffix, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
93
+ export type { AttributionVerificationResult } from "./config/celina-tag.js";
93
94
  export type { AaveAsset } from "./config/aave.js";
94
95
  export { GOODDOLLAR_CUSD_EXCHANGE_ID, GOODDOLLAR_IDENTITY_ADDRESS, GOODDOLLAR_MENTO_BROKER, GOODDOLLAR_MENTO_EXCHANGE_PROVIDER, GOODDOLLAR_RESERVE_COLLATERAL, GOODDOLLAR_TOKEN_ADDRESS, GOODDOLLAR_UBI_SCHEME_ADDRESS, isGoodDollarUsdReservePair, } from "./config/gooddollar.js";
95
96
  export type { GoodDollarReserveSwapParams, GoodDollarReserveQuoteOptions, GoodDollarReserveAmountSide } from "./services/gooddollar.service.js";
@@ -57,7 +57,7 @@ export { serializePreparedFlow } from "./types/prepared.js";
57
57
  /** Aave V3 Celo pool address and supported asset symbols. */
58
58
  export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
59
59
  export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
60
- export { appendCelinaCalldataTag, CELINA_DATA_SUFFIX, } from "./config/celina-tag.js";
60
+ export { appendCelinaCalldataTag, buildCelinaAttributionTag, buildErc8021AttributionSuffix, CELINA_DATA_SUFFIX, ERC_8021_MARKER, normalizeAttributionTags, parseCelinaLegacyAttributionSuffix, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
61
61
  export { GOODDOLLAR_CUSD_EXCHANGE_ID, GOODDOLLAR_IDENTITY_ADDRESS, GOODDOLLAR_MENTO_BROKER, GOODDOLLAR_MENTO_EXCHANGE_PROVIDER, GOODDOLLAR_RESERVE_COLLATERAL, GOODDOLLAR_TOKEN_ADDRESS, GOODDOLLAR_UBI_SCHEME_ADDRESS, isGoodDollarUsdReservePair, } from "./config/gooddollar.js";
62
62
  export { SelfService, } from "./services/self.service.js";
63
63
  export { SelfApiError, SelfExpiredSessionError, } from "./clients/self-api.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Chain reads: network status, blocks, and transaction lookups on Celo mainnet.
3
3
  */
4
4
  import type { CeloClientFactory } from "../clients/celo-client.js";
5
+ import { type AttributionVerificationResult } from "../config/celina-tag.js";
5
6
  /** Celo mainnet block and transaction queries. */
6
7
  export declare class BlockchainService {
7
8
  private readonly clientFactory;
@@ -104,4 +105,13 @@ export declare class BlockchainService {
104
105
  transactionIndex: number | null | undefined;
105
106
  type: string | undefined;
106
107
  }>;
108
+ /**
109
+ * Decode legacy and ERC-8021 attribution tags from a mined transaction's calldata.
110
+ * @param hash - Transaction hash
111
+ * @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
112
+ */
113
+ verifyAttributionInTransaction(hash: `0x${string}`, tag?: string): Promise<AttributionVerificationResult & {
114
+ hash: `0x${string}`;
115
+ input: `0x${string}`;
116
+ }>;
107
117
  }
@@ -1,3 +1,4 @@
1
+ import { verifyAttributionInCalldata, } from "../config/celina-tag.js";
1
2
  function serializeTransactionSummary(tx, extras) {
2
3
  const base = {
3
4
  hash: tx.hash,
@@ -147,5 +148,23 @@ export class BlockchainService {
147
148
  status: receipt?.status,
148
149
  });
149
150
  }
151
+ /**
152
+ * Decode legacy and ERC-8021 attribution tags from a mined transaction's calldata.
153
+ * @param hash - Transaction hash
154
+ * @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
155
+ */
156
+ async verifyAttributionInTransaction(hash, tag) {
157
+ const { public: client } = this.clientFactory.getClients();
158
+ const tx = await client.getTransaction({ hash });
159
+ if (!tx) {
160
+ throw new Error(`Transaction not found: ${hash}`);
161
+ }
162
+ const input = tx.input;
163
+ return {
164
+ hash,
165
+ input,
166
+ ...verifyAttributionInCalldata(input, tag),
167
+ };
168
+ }
150
169
  }
151
170
  //# sourceMappingURL=blockchain.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../../src/services/blockchain.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.service.js","sourceRoot":"","sources":["../../../src/services/blockchain.service.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,17 @@ export const blockchainToolDefinitions = [
48
48
  mcp: { title: "Get Transaction", annotations: readOnly },
49
49
  handler: async (runtime, input) => runtime.celina.blockchain.getTransaction(input.hash),
50
50
  },
51
+ {
52
+ name: "verify_attribution_tag",
53
+ description: "Decode legacy Celina and ERC-8021 attribution tags from a transaction's calldata on Celo mainnet.",
54
+ inputSchema: z.object({
55
+ hash: z.string().regex(/^0x[a-fA-F0-9]{64}$/),
56
+ tag: z.string().min(1).optional(),
57
+ }),
58
+ families: ["read"],
59
+ mcp: { title: "Verify Attribution Tag", annotations: readOnly },
60
+ handler: async (runtime, input) => runtime.celina.blockchain.verifyAttributionInTransaction(input.hash, input.tag),
61
+ },
51
62
  {
52
63
  name: "get_wallet_address",
53
64
  description: "Returns the wallet address derived from CELO_PRIVATE_KEY in the MCP server env.",
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export const TOOL_CATEGORY_BY_NAME = {
28
28
  get_block: "Blockchain",
29
29
  get_latest_blocks: "Blockchain",
30
30
  get_transaction: "Blockchain",
31
+ verify_attribution_tag: "Blockchain",
31
32
  get_account: "Account",
32
33
  get_wallet_address: "Wallet",
33
34
  get_celo_balances: "Token",
@@ -1 +1 @@
1
- {"version":3,"file":"website-sync.js","sourceRoot":"","sources":["../../../src/tools/website-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"website-sync.js","sourceRoot":"","sources":["../../../src/tools/website-sync.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,17 @@ export const blockchainToolDefinitions = [
48
48
  mcp: { title: "Get Transaction", annotations: readOnly },
49
49
  handler: async (runtime, input) => runtime.celina.blockchain.getTransaction(input.hash),
50
50
  },
51
+ {
52
+ name: "verify_attribution_tag",
53
+ description: "Decode legacy Celina and ERC-8021 attribution tags from a transaction's calldata on Celo mainnet.",
54
+ inputSchema: z.object({
55
+ hash: z.string().regex(/^0x[a-fA-F0-9]{64}$/),
56
+ tag: z.string().min(1).optional(),
57
+ }),
58
+ families: ["read"],
59
+ mcp: { title: "Verify Attribution Tag", annotations: readOnly },
60
+ handler: async (runtime, input) => runtime.celina.blockchain.verifyAttributionInTransaction(input.hash, input.tag),
61
+ },
51
62
  {
52
63
  name: "get_wallet_address",
53
64
  description: "Returns the wallet address derived from CELO_PRIVATE_KEY in the MCP server env.",
@@ -1 +1 @@
1
- {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/tools/domains/blockchain.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export const TOOL_CATEGORY_BY_NAME = {
28
28
  get_block: "Blockchain",
29
29
  get_latest_blocks: "Blockchain",
30
30
  get_transaction: "Blockchain",
31
+ verify_attribution_tag: "Blockchain",
31
32
  get_account: "Account",
32
33
  get_wallet_address: "Wallet",
33
34
  get_celo_balances: "Token",
@@ -1 +1 @@
1
- {"version":3,"file":"website-sync.js","sourceRoot":"","sources":["../../src/tools/website-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"website-sync.js","sourceRoot":"","sources":["../../src/tools/website-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrewkimjoseph/celina-sdk",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Celina SDK — Celo mainnet reads and unsigned transaction preparation for frontend apps.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -92,6 +92,7 @@
92
92
  "dependencies": {
93
93
  "@agentkarma/sdk": "^0.2.0",
94
94
  "@amplitude/analytics-node": "^1.5.21",
95
+ "@celo/attribution-tags": "^0.3.0",
95
96
  "@mento-protocol/mento-sdk": "^3.2.8",
96
97
  "@noble/ed25519": "^3.1.0",
97
98
  "@uniswap/sdk-core": "^7.16.1",