@andrewkimjoseph/celina-sdk 0.15.4 → 0.15.5
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 +2 -0
- package/build/config/celina-tag.d.ts +7 -20
- package/build/config/celina-tag.js +15 -60
- package/build/config/celina-tag.js.map +1 -1
- package/build/index.d.ts +9 -3
- package/build/index.js +9 -5
- package/build/index.js.map +1 -1
- package/build/services/agentkarma-lazy.d.ts +13 -0
- package/build/services/agentkarma-lazy.js +39 -0
- package/build/services/agentkarma-lazy.js.map +1 -0
- package/build/services/blockchain.service.d.ts +1 -1
- package/build/services/blockchain.service.js +1 -1
- package/build/services/transaction.service.d.ts +1 -1
- package/build/services/transaction.service.js +1 -1
- package/build/src/config/celina-tag.d.ts +7 -20
- package/build/src/config/celina-tag.js +15 -60
- package/build/src/config/celina-tag.js.map +1 -1
- package/build/src/index.d.ts +9 -3
- package/build/src/index.js +9 -5
- package/build/src/index.js.map +1 -1
- package/build/src/services/agentkarma-lazy.d.ts +13 -0
- package/build/src/services/agentkarma-lazy.js +39 -0
- package/build/src/services/agentkarma-lazy.js.map +1 -0
- package/build/src/services/blockchain.service.d.ts +1 -1
- package/build/src/services/blockchain.service.js +1 -1
- package/build/src/services/transaction.service.d.ts +1 -1
- package/build/src/services/transaction.service.js +1 -1
- package/build/src/tools/domains/blockchain.js +2 -2
- package/build/src/tools/domains/blockchain.js.map +1 -1
- package/build/tools/domains/blockchain.js +2 -2
- package/build/tools/domains/blockchain.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
# Celina SDK
|
|
6
6
|
|
|
7
|
+
> **Server-side only.** This package includes server-native dependencies (`@agentkarma/sdk`, `@celo/attribution-tags`) that cannot be bundled for the browser. Import it only from Node.js environments — API routes, background workers (BullMQ / Vercel Cron), or CLI scripts.
|
|
8
|
+
|
|
7
9
|
Celo mainnet library for frontend apps and agents: **reads**, **unsigned transaction preparation**, and optional **ERC-4337 AA** via `createAAClient` (app-owned gas sponsorship credentials).
|
|
8
10
|
|
|
9
11
|
Pair with [wagmi](https://wagmi.sh) / viem for EOA signing, or `createAAClient` for sponsored/batched UserOps.
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { ERC_8021_MARKER } from "@celo/attribution-tags";
|
|
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
|
-
*/
|
|
6
|
-
export declare const CELINA_DATA_SUFFIX: `0x${string}`;
|
|
7
2
|
export { ERC_8021_MARKER };
|
|
8
3
|
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
9
4
|
export declare function normalizeAttributionTags(tags?: string[]): string[];
|
|
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
|
-
*/
|
|
14
|
-
export declare function buildCelinaAttributionTag(tags?: string[]): string;
|
|
15
5
|
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
16
6
|
export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
|
|
17
7
|
/** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
|
|
@@ -23,10 +13,7 @@ export declare function buildErc8021AttributionSuffix(attributionTags?: string[]
|
|
|
23
13
|
export declare function attributionDecodeWindow(data: `0x${string}`): `0x${string}`;
|
|
24
14
|
/** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
|
|
25
15
|
export declare function stripErc8021SuffixIfPresent(data: `0x${string}`): `0x${string}`;
|
|
26
|
-
/** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
|
|
27
|
-
export declare function parseCelinaLegacyAttributionSuffix(data: `0x${string}`): string[] | null;
|
|
28
16
|
export type AttributionVerificationResult = {
|
|
29
|
-
legacyTags: string[] | null;
|
|
30
17
|
erc8021: {
|
|
31
18
|
codes: string[];
|
|
32
19
|
schemaId: number;
|
|
@@ -37,17 +24,17 @@ export type AttributionVerificationResult = {
|
|
|
37
24
|
export type AttributionCheckResult = AttributionVerificationResult & {
|
|
38
25
|
tags: string[];
|
|
39
26
|
};
|
|
40
|
-
/** Merge
|
|
41
|
-
export declare function collectAttributionTags(
|
|
42
|
-
/** Decode
|
|
27
|
+
/** Merge ERC-8021 codes into custom tags (skips platform `celina`, dedupes). */
|
|
28
|
+
export declare function collectAttributionTags(erc8021Codes: string[] | null): string[];
|
|
29
|
+
/** Decode ERC-8021 attribution from calldata; optionally check for a tag. */
|
|
43
30
|
export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionVerificationResult;
|
|
44
31
|
/**
|
|
45
|
-
* Decode attribution from calldata with a unified custom `tags` list.
|
|
46
|
-
* Prefer this for
|
|
32
|
+
* Decode ERC-8021 attribution from calldata with a unified custom `tags` list.
|
|
33
|
+
* Prefer this for "what tags are on this tx?"; use {@link verifyAttributionInCalldata} for the raw layer only.
|
|
47
34
|
*/
|
|
48
35
|
export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
|
|
49
36
|
/**
|
|
50
|
-
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA
|
|
37
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|...`).
|
|
51
38
|
*
|
|
52
39
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
53
40
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
@@ -55,7 +42,7 @@ export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: st
|
|
|
55
42
|
* @param data - Original transaction calldata.
|
|
56
43
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
57
44
|
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
58
|
-
* Example: `["goclaim"]`
|
|
45
|
+
* Example: `["goclaim"]` -> codes `celina`, `goclaim`.
|
|
59
46
|
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
60
47
|
*/
|
|
61
48
|
export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
|
|
2
|
-
import { concat
|
|
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
|
-
*/
|
|
7
|
-
export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
|
|
2
|
+
import { concat } from "viem";
|
|
8
3
|
export { ERC_8021_MARKER };
|
|
9
4
|
/** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
|
|
10
5
|
const CELO_BUILDERS_TAG = /^celo_[0-9a-f]{12}$/i;
|
|
@@ -29,14 +24,6 @@ export function normalizeAttributionTags(tags) {
|
|
|
29
24
|
}
|
|
30
25
|
return [...deduped];
|
|
31
26
|
}
|
|
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
|
-
*/
|
|
36
|
-
export function buildCelinaAttributionTag(tags) {
|
|
37
|
-
const normalized = normalizeAttributionTags(tags);
|
|
38
|
-
return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
|
|
39
|
-
}
|
|
40
27
|
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
41
28
|
export function toErc8021AttributionCodes(attributionTags) {
|
|
42
29
|
const codes = [CELINA_PLATFORM_ERC8021_CODE];
|
|
@@ -136,55 +123,23 @@ export function stripErc8021SuffixIfPresent(data) {
|
|
|
136
123
|
return data;
|
|
137
124
|
return `0x${hex.slice(0, suffixStart)}`;
|
|
138
125
|
}
|
|
139
|
-
|
|
140
|
-
const LEGACY_ATTRIBUTION_TEXT = /^CELINA(?:\|[A-Za-z0-9_]+)*/;
|
|
141
|
-
/** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
|
|
142
|
-
export function parseCelinaLegacyAttributionSuffix(data) {
|
|
143
|
-
const body = stripErc8021SuffixIfPresent(data);
|
|
144
|
-
const celinaMarker = stringToHex("CELINA").slice(2).toLowerCase();
|
|
145
|
-
const lower = body.slice(2).toLowerCase();
|
|
146
|
-
const idx = lower.lastIndexOf(celinaMarker);
|
|
147
|
-
if (idx === -1)
|
|
148
|
-
return null;
|
|
149
|
-
try {
|
|
150
|
-
const suffixHex = `0x${body.slice(2).slice(idx)}`;
|
|
151
|
-
const text = hexToString(suffixHex);
|
|
152
|
-
if (!text.startsWith("CELINA"))
|
|
153
|
-
return null;
|
|
154
|
-
const printable = text.match(LEGACY_ATTRIBUTION_TEXT)?.[0];
|
|
155
|
-
if (!printable)
|
|
156
|
-
return null;
|
|
157
|
-
return printable.split("|");
|
|
158
|
-
}
|
|
159
|
-
catch {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
function tagMatchesVerification(tag, legacyTags, erc8021Codes) {
|
|
126
|
+
function tagMatchesVerification(tag, erc8021Codes) {
|
|
164
127
|
const normalized = normalizeAttributionTag(tag);
|
|
165
|
-
|
|
166
|
-
false;
|
|
167
|
-
const ercHit = erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
|
|
168
|
-
false;
|
|
169
|
-
return legacyHit || ercHit;
|
|
128
|
+
return (erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
|
|
129
|
+
false);
|
|
170
130
|
}
|
|
171
|
-
/** Merge
|
|
172
|
-
export function collectAttributionTags(
|
|
173
|
-
return normalizeAttributionTags([
|
|
174
|
-
...(legacyTags ?? []),
|
|
175
|
-
...(erc8021Codes ?? []),
|
|
176
|
-
]);
|
|
131
|
+
/** Merge ERC-8021 codes into custom tags (skips platform `celina`, dedupes). */
|
|
132
|
+
export function collectAttributionTags(erc8021Codes) {
|
|
133
|
+
return normalizeAttributionTags(erc8021Codes ?? []);
|
|
177
134
|
}
|
|
178
|
-
/** Decode
|
|
135
|
+
/** Decode ERC-8021 attribution from calldata; optionally check for a tag. */
|
|
179
136
|
export function verifyAttributionInCalldata(data, tag) {
|
|
180
137
|
const window = attributionDecodeWindow(data);
|
|
181
|
-
const legacyTags = parseCelinaLegacyAttributionSuffix(window);
|
|
182
138
|
const erc8021 = fromDataSuffix(window);
|
|
183
139
|
const matched = tag
|
|
184
|
-
? tagMatchesVerification(tag,
|
|
185
|
-
: Boolean(
|
|
140
|
+
? tagMatchesVerification(tag, erc8021?.codes ?? null)
|
|
141
|
+
: Boolean(erc8021?.codes.length);
|
|
186
142
|
return {
|
|
187
|
-
legacyTags,
|
|
188
143
|
erc8021: erc8021
|
|
189
144
|
? { codes: [...erc8021.codes], schemaId: erc8021.schemaId }
|
|
190
145
|
: null,
|
|
@@ -192,18 +147,18 @@ export function verifyAttributionInCalldata(data, tag) {
|
|
|
192
147
|
};
|
|
193
148
|
}
|
|
194
149
|
/**
|
|
195
|
-
* Decode attribution from calldata with a unified custom `tags` list.
|
|
196
|
-
* Prefer this for
|
|
150
|
+
* Decode ERC-8021 attribution from calldata with a unified custom `tags` list.
|
|
151
|
+
* Prefer this for "what tags are on this tx?"; use {@link verifyAttributionInCalldata} for the raw layer only.
|
|
197
152
|
*/
|
|
198
153
|
export function checkAttributionInCalldata(data, tag) {
|
|
199
154
|
const verified = verifyAttributionInCalldata(data, tag);
|
|
200
155
|
return {
|
|
201
156
|
...verified,
|
|
202
|
-
tags: collectAttributionTags(verified.
|
|
157
|
+
tags: collectAttributionTags(verified.erc8021?.codes ?? null),
|
|
203
158
|
};
|
|
204
159
|
}
|
|
205
160
|
/**
|
|
206
|
-
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA
|
|
161
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|...`).
|
|
207
162
|
*
|
|
208
163
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
209
164
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
@@ -211,7 +166,7 @@ export function checkAttributionInCalldata(data, tag) {
|
|
|
211
166
|
* @param data - Original transaction calldata.
|
|
212
167
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
213
168
|
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
214
|
-
* Example: `["goclaim"]`
|
|
169
|
+
* Example: `["goclaim"]` -> codes `celina`, `goclaim`.
|
|
215
170
|
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
216
171
|
*/
|
|
217
172
|
export function appendCelinaCalldataTag(data, attributionTags) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SdkConfig } from "./config/sdk-config.js";
|
|
2
2
|
import { AccountService } from "./services/account.service.js";
|
|
3
|
-
import { AgentKarmaService,
|
|
3
|
+
import type { AgentKarmaService, AgentKarmaServiceConfig } from "./services/agentkarma.service.js";
|
|
4
4
|
import { AaveService } from "./services/aave.service.js";
|
|
5
5
|
import { BlockchainService } from "./services/blockchain.service.js";
|
|
6
6
|
import { ContractService } from "./services/contract.service.js";
|
|
@@ -62,6 +62,12 @@ export interface CelinaClient {
|
|
|
62
62
|
/**
|
|
63
63
|
* Create a Celina client for Celo mainnet reads and unsigned tx preparation.
|
|
64
64
|
* No private keys — pass prepared `steps` to wagmi/viem for wallet signing.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* **Server-side only.** Celina SDK includes server-native dependencies
|
|
68
|
+
* (`@agentkarma/sdk`, `@celo/attribution-tags`) that cannot be bundled for
|
|
69
|
+
* the browser. Import only from Node.js environments — API routes, background
|
|
70
|
+
* workers, or CLI scripts.
|
|
65
71
|
*/
|
|
66
72
|
export declare function createCelinaClient(opts?: CelinaClientOptions): CelinaClient;
|
|
67
73
|
export type {
|
|
@@ -89,7 +95,7 @@ export type { ContractCallParams } from "./services/contract.service.js";
|
|
|
89
95
|
/** Aave V3 Celo pool address and supported asset symbols. */
|
|
90
96
|
export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
|
|
91
97
|
export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
|
|
92
|
-
export { appendCelinaCalldataTag, attributionDecodeWindow,
|
|
98
|
+
export { appendCelinaCalldataTag, attributionDecodeWindow, buildErc8021AttributionSuffix, checkAttributionInCalldata, collectAttributionTags, ERC_8021_MARKER, normalizeAttributionTags, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
|
|
93
99
|
export type { AttributionCheckResult, AttributionVerificationResult, } from "./config/celina-tag.js";
|
|
94
100
|
export { createAAClient, deriveSmartAccountAddress, GasSponsorshipService, preparedStepsToUserOpCalls, } from "./aa/index.js";
|
|
95
101
|
export type { AAClient, CreateAAClientOptions, GasSponsorshipConfig, GasSponsorshipProviderId, PimlicoGasSponsorshipConfig, SendPreparedFlowMode, SendPreparedFlowOptions, SendPreparedFlowResult, UserOpCall, } from "./aa/index.js";
|
|
@@ -105,7 +111,7 @@ export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
|
105
111
|
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
106
112
|
export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
|
|
107
113
|
/** Optional read-only AgentKarma reputation adapter (agentkarma.io). */
|
|
108
|
-
export { AgentKarmaService } from "./services/agentkarma.service.js";
|
|
114
|
+
export type { AgentKarmaService } from "./services/agentkarma.service.js";
|
|
109
115
|
export type {
|
|
110
116
|
/** Config for the AgentKarma adapter (baseUrl, timeout, fetch, headers). */
|
|
111
117
|
AgentKarmaServiceConfig,
|
package/build/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { CeloClientFactory } from "./clients/celo-client.js";
|
|
|
8
8
|
import { EnsClientFactory } from "./clients/ens-client.js";
|
|
9
9
|
import { resolveSdkConfig } from "./config/sdk-config.js";
|
|
10
10
|
import { AccountService } from "./services/account.service.js";
|
|
11
|
-
import {
|
|
11
|
+
import { createAgentKarmaService } from "./services/agentkarma-lazy.js";
|
|
12
12
|
import { AaveService } from "./services/aave.service.js";
|
|
13
13
|
import { BlockchainService } from "./services/blockchain.service.js";
|
|
14
14
|
import { ContractService } from "./services/contract.service.js";
|
|
@@ -26,6 +26,12 @@ import { wrapServiceForAnalytics } from "./analytics/wrap-service.js";
|
|
|
26
26
|
/**
|
|
27
27
|
* Create a Celina client for Celo mainnet reads and unsigned tx preparation.
|
|
28
28
|
* No private keys — pass prepared `steps` to wagmi/viem for wallet signing.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* **Server-side only.** Celina SDK includes server-native dependencies
|
|
32
|
+
* (`@agentkarma/sdk`, `@celo/attribution-tags`) that cannot be bundled for
|
|
33
|
+
* the browser. Import only from Node.js environments — API routes, background
|
|
34
|
+
* workers, or CLI scripts.
|
|
29
35
|
*/
|
|
30
36
|
export function createCelinaClient(opts) {
|
|
31
37
|
const config = resolveSdkConfig(opts);
|
|
@@ -50,14 +56,14 @@ export function createCelinaClient(opts) {
|
|
|
50
56
|
self: wrap("self", new SelfService(clientFactory, config)),
|
|
51
57
|
// Optional ecosystem adapter. Not analytics-wrapped: AgentKarma is an
|
|
52
58
|
// external reputation service, not a Celo on-chain read Celina tracks.
|
|
53
|
-
agentKarma:
|
|
59
|
+
agentKarma: createAgentKarmaService(opts?.agentKarma),
|
|
54
60
|
};
|
|
55
61
|
}
|
|
56
62
|
export { serializePreparedFlow } from "./types/prepared.js";
|
|
57
63
|
/** Aave V3 Celo pool address and supported asset symbols. */
|
|
58
64
|
export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
|
|
59
65
|
export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
|
|
60
|
-
export { appendCelinaCalldataTag, attributionDecodeWindow,
|
|
66
|
+
export { appendCelinaCalldataTag, attributionDecodeWindow, buildErc8021AttributionSuffix, checkAttributionInCalldata, collectAttributionTags, ERC_8021_MARKER, normalizeAttributionTags, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
|
|
61
67
|
export { createAAClient, deriveSmartAccountAddress, GasSponsorshipService, preparedStepsToUserOpCalls, } from "./aa/index.js";
|
|
62
68
|
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";
|
|
63
69
|
export { SelfService, } from "./services/self.service.js";
|
|
@@ -67,6 +73,4 @@ export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, } from "./utils
|
|
|
67
73
|
export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
68
74
|
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
69
75
|
export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
|
|
70
|
-
/** Optional read-only AgentKarma reputation adapter (agentkarma.io). */
|
|
71
|
-
export { AgentKarmaService } from "./services/agentkarma.service.js";
|
|
72
76
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy-based lazy loader for AgentKarmaService.
|
|
3
|
+
*
|
|
4
|
+
* Defers the `@agentkarma/sdk` import until the first actual use of
|
|
5
|
+
* `client.agentKarma`. This avoids the `ERR_PACKAGE_PATH_NOT_EXPORTED`
|
|
6
|
+
* error on Node.js v24.10.0+ where `@agentkarma/sdk` lacks an `"exports"`
|
|
7
|
+
* field in its package.json.
|
|
8
|
+
*
|
|
9
|
+
* The Proxy exposes a synchronous `chain` property ("celo") and delegates
|
|
10
|
+
* all other property/method access to a lazily-initialized AgentKarmaService
|
|
11
|
+
* instance via dynamic `import()`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createAgentKarmaService(config?: unknown): any;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy-based lazy loader for AgentKarmaService.
|
|
3
|
+
*
|
|
4
|
+
* Defers the `@agentkarma/sdk` import until the first actual use of
|
|
5
|
+
* `client.agentKarma`. This avoids the `ERR_PACKAGE_PATH_NOT_EXPORTED`
|
|
6
|
+
* error on Node.js v24.10.0+ where `@agentkarma/sdk` lacks an `"exports"`
|
|
7
|
+
* field in its package.json.
|
|
8
|
+
*
|
|
9
|
+
* The Proxy exposes a synchronous `chain` property ("celo") and delegates
|
|
10
|
+
* all other property/method access to a lazily-initialized AgentKarmaService
|
|
11
|
+
* instance via dynamic `import()`.
|
|
12
|
+
*/
|
|
13
|
+
export function createAgentKarmaService(config) {
|
|
14
|
+
let instance = null;
|
|
15
|
+
const getInstance = async () => {
|
|
16
|
+
if (!instance) {
|
|
17
|
+
const mod = await import("./agentkarma.service.js");
|
|
18
|
+
instance = new mod.AgentKarmaService(config);
|
|
19
|
+
}
|
|
20
|
+
return instance;
|
|
21
|
+
};
|
|
22
|
+
// Fire-and-forget pre-init to warm the module cache
|
|
23
|
+
getInstance().catch(() => { });
|
|
24
|
+
return new Proxy({}, {
|
|
25
|
+
get(_, prop) {
|
|
26
|
+
// chain is always "celo" — no import needed
|
|
27
|
+
if (prop === "chain")
|
|
28
|
+
return "celo";
|
|
29
|
+
if (prop === "then")
|
|
30
|
+
return undefined;
|
|
31
|
+
return async (...args) => {
|
|
32
|
+
const svc = await getInstance();
|
|
33
|
+
const val = svc[prop];
|
|
34
|
+
return typeof val === "function" ? val.apply(svc, args) : val;
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=agentkarma-lazy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentkarma-lazy.js","sourceRoot":"","sources":["../../src/services/agentkarma-lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAgB;IACtD,IAAI,QAAQ,GAAQ,IAAI,CAAC;IACzB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACpD,QAAQ,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAa,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,oDAAoD;IACpD,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE9B,OAAO,IAAI,KAAK,CAAC,EAAS,EAAE;QAC1B,GAAG,CAAC,CAAC,EAAE,IAAY;YACjB,4CAA4C;YAC5C,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,MAAe,CAAC;YAC7C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;YACtC,OAAO,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChE,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -106,7 +106,7 @@ export declare class BlockchainService {
|
|
|
106
106
|
type: string | undefined;
|
|
107
107
|
}>;
|
|
108
108
|
/**
|
|
109
|
-
* Decode
|
|
109
|
+
* Decode ERC-8021 attribution tags from a mined transaction's calldata.
|
|
110
110
|
* @param hash - Transaction hash
|
|
111
111
|
* @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
|
|
112
112
|
*/
|
|
@@ -149,7 +149,7 @@ export class BlockchainService {
|
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
152
|
-
* Decode
|
|
152
|
+
* Decode ERC-8021 attribution tags from a mined transaction's calldata.
|
|
153
153
|
* @param hash - Transaction hash
|
|
154
154
|
* @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
|
|
155
155
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Token sends: estimateSend simulates gas; prepareSend builds unsigned tx steps.
|
|
3
|
-
* Calldata is tagged with
|
|
3
|
+
* Calldata is tagged with the ERC-8021 attribution suffix (see appendCelinaCalldataTag).
|
|
4
4
|
*/
|
|
5
5
|
import { type Hex } from "viem";
|
|
6
6
|
import type { CeloClientFactory } from "../clients/celo-client.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Token sends: estimateSend simulates gas; prepareSend builds unsigned tx steps.
|
|
3
|
-
* Calldata is tagged with
|
|
3
|
+
* Calldata is tagged with the ERC-8021 attribution suffix (see appendCelinaCalldataTag).
|
|
4
4
|
*/
|
|
5
5
|
import { encodeFunctionData, erc20Abi, parseEther, parseGwei, } from "viem";
|
|
6
6
|
import { CHAIN, MENTO_CELO_ADDRESS } from "../config/chains.js";
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { ERC_8021_MARKER } from "@celo/attribution-tags";
|
|
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
|
-
*/
|
|
6
|
-
export declare const CELINA_DATA_SUFFIX: `0x${string}`;
|
|
7
2
|
export { ERC_8021_MARKER };
|
|
8
3
|
/** Normalize custom attribution tags while preserving first-seen order. */
|
|
9
4
|
export declare function normalizeAttributionTags(tags?: string[]): string[];
|
|
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
|
-
*/
|
|
14
|
-
export declare function buildCelinaAttributionTag(tags?: string[]): string;
|
|
15
5
|
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
16
6
|
export declare function toErc8021AttributionCodes(attributionTags?: string[]): string[];
|
|
17
7
|
/** Build ERC-8021 Schema 0 suffix hex for the given attribution tags. */
|
|
@@ -23,10 +13,7 @@ export declare function buildErc8021AttributionSuffix(attributionTags?: string[]
|
|
|
23
13
|
export declare function attributionDecodeWindow(data: `0x${string}`): `0x${string}`;
|
|
24
14
|
/** Strip a trailing ERC-8021 Schema 0/2 suffix when present. */
|
|
25
15
|
export declare function stripErc8021SuffixIfPresent(data: `0x${string}`): `0x${string}`;
|
|
26
|
-
/** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
|
|
27
|
-
export declare function parseCelinaLegacyAttributionSuffix(data: `0x${string}`): string[] | null;
|
|
28
16
|
export type AttributionVerificationResult = {
|
|
29
|
-
legacyTags: string[] | null;
|
|
30
17
|
erc8021: {
|
|
31
18
|
codes: string[];
|
|
32
19
|
schemaId: number;
|
|
@@ -37,17 +24,17 @@ export type AttributionVerificationResult = {
|
|
|
37
24
|
export type AttributionCheckResult = AttributionVerificationResult & {
|
|
38
25
|
tags: string[];
|
|
39
26
|
};
|
|
40
|
-
/** Merge
|
|
41
|
-
export declare function collectAttributionTags(
|
|
42
|
-
/** Decode
|
|
27
|
+
/** Merge ERC-8021 codes into custom tags (skips platform `celina`, dedupes). */
|
|
28
|
+
export declare function collectAttributionTags(erc8021Codes: string[] | null): string[];
|
|
29
|
+
/** Decode ERC-8021 attribution from calldata; optionally check for a tag. */
|
|
43
30
|
export declare function verifyAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionVerificationResult;
|
|
44
31
|
/**
|
|
45
|
-
* Decode attribution from calldata with a unified custom `tags` list.
|
|
46
|
-
* Prefer this for
|
|
32
|
+
* Decode ERC-8021 attribution from calldata with a unified custom `tags` list.
|
|
33
|
+
* Prefer this for "what tags are on this tx?"; use {@link verifyAttributionInCalldata} for the raw layer only.
|
|
47
34
|
*/
|
|
48
35
|
export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: string): AttributionCheckResult;
|
|
49
36
|
/**
|
|
50
|
-
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA
|
|
37
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|...`).
|
|
51
38
|
*
|
|
52
39
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
53
40
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
@@ -55,7 +42,7 @@ export declare function checkAttributionInCalldata(data: `0x${string}`, tag?: st
|
|
|
55
42
|
* @param data - Original transaction calldata.
|
|
56
43
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
57
44
|
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
58
|
-
* Example: `["goclaim"]`
|
|
45
|
+
* Example: `["goclaim"]` -> codes `celina`, `goclaim`.
|
|
59
46
|
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
60
47
|
*/
|
|
61
48
|
export declare function appendCelinaCalldataTag(data: `0x${string}`, attributionTags?: string[]): `0x${string}`;
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { ERC_8021_MARKER, fromDataSuffix, toDataSuffix, } from "@celo/attribution-tags";
|
|
2
|
-
import { concat
|
|
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
|
-
*/
|
|
7
|
-
export const CELINA_DATA_SUFFIX = stringToHex("CELINA");
|
|
2
|
+
import { concat } from "viem";
|
|
8
3
|
export { ERC_8021_MARKER };
|
|
9
4
|
/** Celo Builders on-chain attribution tag: `celo_` + 12 hex chars (lowercase). */
|
|
10
5
|
const CELO_BUILDERS_TAG = /^celo_[0-9a-f]{12}$/i;
|
|
@@ -29,14 +24,6 @@ export function normalizeAttributionTags(tags) {
|
|
|
29
24
|
}
|
|
30
25
|
return [...deduped];
|
|
31
26
|
}
|
|
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
|
-
*/
|
|
36
|
-
export function buildCelinaAttributionTag(tags) {
|
|
37
|
-
const normalized = normalizeAttributionTags(tags);
|
|
38
|
-
return normalized.length ? `CELINA|${normalized.join("|")}` : "CELINA";
|
|
39
|
-
}
|
|
40
27
|
/** Map client attribution tags to ERC-8021 Schema 0 codes (lowercase `[a-z0-9_]` only). */
|
|
41
28
|
export function toErc8021AttributionCodes(attributionTags) {
|
|
42
29
|
const codes = [CELINA_PLATFORM_ERC8021_CODE];
|
|
@@ -136,55 +123,23 @@ export function stripErc8021SuffixIfPresent(data) {
|
|
|
136
123
|
return data;
|
|
137
124
|
return `0x${hex.slice(0, suffixStart)}`;
|
|
138
125
|
}
|
|
139
|
-
|
|
140
|
-
const LEGACY_ATTRIBUTION_TEXT = /^CELINA(?:\|[A-Za-z0-9_]+)*/;
|
|
141
|
-
/** Parse legacy UTF-8 `CELINA|TAG1|…` suffix from calldata (ignores trailing ERC-8021). */
|
|
142
|
-
export function parseCelinaLegacyAttributionSuffix(data) {
|
|
143
|
-
const body = stripErc8021SuffixIfPresent(data);
|
|
144
|
-
const celinaMarker = stringToHex("CELINA").slice(2).toLowerCase();
|
|
145
|
-
const lower = body.slice(2).toLowerCase();
|
|
146
|
-
const idx = lower.lastIndexOf(celinaMarker);
|
|
147
|
-
if (idx === -1)
|
|
148
|
-
return null;
|
|
149
|
-
try {
|
|
150
|
-
const suffixHex = `0x${body.slice(2).slice(idx)}`;
|
|
151
|
-
const text = hexToString(suffixHex);
|
|
152
|
-
if (!text.startsWith("CELINA"))
|
|
153
|
-
return null;
|
|
154
|
-
const printable = text.match(LEGACY_ATTRIBUTION_TEXT)?.[0];
|
|
155
|
-
if (!printable)
|
|
156
|
-
return null;
|
|
157
|
-
return printable.split("|");
|
|
158
|
-
}
|
|
159
|
-
catch {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
function tagMatchesVerification(tag, legacyTags, erc8021Codes) {
|
|
126
|
+
function tagMatchesVerification(tag, erc8021Codes) {
|
|
164
127
|
const normalized = normalizeAttributionTag(tag);
|
|
165
|
-
|
|
166
|
-
false;
|
|
167
|
-
const ercHit = erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
|
|
168
|
-
false;
|
|
169
|
-
return legacyHit || ercHit;
|
|
128
|
+
return (erc8021Codes?.some((code) => code.toLowerCase() === normalized.toLowerCase()) ??
|
|
129
|
+
false);
|
|
170
130
|
}
|
|
171
|
-
/** Merge
|
|
172
|
-
export function collectAttributionTags(
|
|
173
|
-
return normalizeAttributionTags([
|
|
174
|
-
...(legacyTags ?? []),
|
|
175
|
-
...(erc8021Codes ?? []),
|
|
176
|
-
]);
|
|
131
|
+
/** Merge ERC-8021 codes into custom tags (skips platform `celina`, dedupes). */
|
|
132
|
+
export function collectAttributionTags(erc8021Codes) {
|
|
133
|
+
return normalizeAttributionTags(erc8021Codes ?? []);
|
|
177
134
|
}
|
|
178
|
-
/** Decode
|
|
135
|
+
/** Decode ERC-8021 attribution from calldata; optionally check for a tag. */
|
|
179
136
|
export function verifyAttributionInCalldata(data, tag) {
|
|
180
137
|
const window = attributionDecodeWindow(data);
|
|
181
|
-
const legacyTags = parseCelinaLegacyAttributionSuffix(window);
|
|
182
138
|
const erc8021 = fromDataSuffix(window);
|
|
183
139
|
const matched = tag
|
|
184
|
-
? tagMatchesVerification(tag,
|
|
185
|
-
: Boolean(
|
|
140
|
+
? tagMatchesVerification(tag, erc8021?.codes ?? null)
|
|
141
|
+
: Boolean(erc8021?.codes.length);
|
|
186
142
|
return {
|
|
187
|
-
legacyTags,
|
|
188
143
|
erc8021: erc8021
|
|
189
144
|
? { codes: [...erc8021.codes], schemaId: erc8021.schemaId }
|
|
190
145
|
: null,
|
|
@@ -192,18 +147,18 @@ export function verifyAttributionInCalldata(data, tag) {
|
|
|
192
147
|
};
|
|
193
148
|
}
|
|
194
149
|
/**
|
|
195
|
-
* Decode attribution from calldata with a unified custom `tags` list.
|
|
196
|
-
* Prefer this for
|
|
150
|
+
* Decode ERC-8021 attribution from calldata with a unified custom `tags` list.
|
|
151
|
+
* Prefer this for "what tags are on this tx?"; use {@link verifyAttributionInCalldata} for the raw layer only.
|
|
197
152
|
*/
|
|
198
153
|
export function checkAttributionInCalldata(data, tag) {
|
|
199
154
|
const verified = verifyAttributionInCalldata(data, tag);
|
|
200
155
|
return {
|
|
201
156
|
...verified,
|
|
202
|
-
tags: collectAttributionTags(verified.
|
|
157
|
+
tags: collectAttributionTags(verified.erc8021?.codes ?? null),
|
|
203
158
|
};
|
|
204
159
|
}
|
|
205
160
|
/**
|
|
206
|
-
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA
|
|
161
|
+
* Append Celina ERC-8021 Schema 0 attribution to calldata (no legacy UTF-8 `CELINA|...`).
|
|
207
162
|
*
|
|
208
163
|
* Used by `prepare*` when `createCelinaClient({ attributionTags })` is set, and by
|
|
209
164
|
* `createAAClient({ attributionTags }).sendPreparedFlow` when AA tags are set.
|
|
@@ -211,7 +166,7 @@ export function checkAttributionInCalldata(data, tag) {
|
|
|
211
166
|
* @param data - Original transaction calldata.
|
|
212
167
|
* @param attributionTags - Optional custom tags (same list semantics on Celina or AA client).
|
|
213
168
|
* ERC-8021: `toDataSuffix(["celina", ...])` with lowercase codes.
|
|
214
|
-
* Example: `["goclaim"]`
|
|
169
|
+
* Example: `["goclaim"]` -> codes `celina`, `goclaim`.
|
|
215
170
|
* Existing legacy UTF-8 on `data` is left in place; a matching ERC-8021 suffix is ensured.
|
|
216
171
|
*/
|
|
217
172
|
export function appendCelinaCalldataTag(data, attributionTags) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"celina-tag.js","sourceRoot":"","sources":["../../../src/config/celina-tag.ts"],"names":[],"mappings":"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"}
|
package/build/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SdkConfig } from "./config/sdk-config.js";
|
|
2
2
|
import { AccountService } from "./services/account.service.js";
|
|
3
|
-
import { AgentKarmaService,
|
|
3
|
+
import type { AgentKarmaService, AgentKarmaServiceConfig } from "./services/agentkarma.service.js";
|
|
4
4
|
import { AaveService } from "./services/aave.service.js";
|
|
5
5
|
import { BlockchainService } from "./services/blockchain.service.js";
|
|
6
6
|
import { ContractService } from "./services/contract.service.js";
|
|
@@ -62,6 +62,12 @@ export interface CelinaClient {
|
|
|
62
62
|
/**
|
|
63
63
|
* Create a Celina client for Celo mainnet reads and unsigned tx preparation.
|
|
64
64
|
* No private keys — pass prepared `steps` to wagmi/viem for wallet signing.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* **Server-side only.** Celina SDK includes server-native dependencies
|
|
68
|
+
* (`@agentkarma/sdk`, `@celo/attribution-tags`) that cannot be bundled for
|
|
69
|
+
* the browser. Import only from Node.js environments — API routes, background
|
|
70
|
+
* workers, or CLI scripts.
|
|
65
71
|
*/
|
|
66
72
|
export declare function createCelinaClient(opts?: CelinaClientOptions): CelinaClient;
|
|
67
73
|
export type {
|
|
@@ -89,7 +95,7 @@ export type { ContractCallParams } from "./services/contract.service.js";
|
|
|
89
95
|
/** Aave V3 Celo pool address and supported asset symbols. */
|
|
90
96
|
export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
|
|
91
97
|
export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
|
|
92
|
-
export { appendCelinaCalldataTag, attributionDecodeWindow,
|
|
98
|
+
export { appendCelinaCalldataTag, attributionDecodeWindow, buildErc8021AttributionSuffix, checkAttributionInCalldata, collectAttributionTags, ERC_8021_MARKER, normalizeAttributionTags, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
|
|
93
99
|
export type { AttributionCheckResult, AttributionVerificationResult, } from "./config/celina-tag.js";
|
|
94
100
|
export { createAAClient, deriveSmartAccountAddress, GasSponsorshipService, preparedStepsToUserOpCalls, } from "./aa/index.js";
|
|
95
101
|
export type { AAClient, CreateAAClientOptions, GasSponsorshipConfig, GasSponsorshipProviderId, PimlicoGasSponsorshipConfig, SendPreparedFlowMode, SendPreparedFlowOptions, SendPreparedFlowResult, UserOpCall, } from "./aa/index.js";
|
|
@@ -105,7 +111,7 @@ export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
|
105
111
|
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
106
112
|
export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
|
|
107
113
|
/** Optional read-only AgentKarma reputation adapter (agentkarma.io). */
|
|
108
|
-
export { AgentKarmaService } from "./services/agentkarma.service.js";
|
|
114
|
+
export type { AgentKarmaService } from "./services/agentkarma.service.js";
|
|
109
115
|
export type {
|
|
110
116
|
/** Config for the AgentKarma adapter (baseUrl, timeout, fetch, headers). */
|
|
111
117
|
AgentKarmaServiceConfig,
|
package/build/src/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { CeloClientFactory } from "./clients/celo-client.js";
|
|
|
8
8
|
import { EnsClientFactory } from "./clients/ens-client.js";
|
|
9
9
|
import { resolveSdkConfig } from "./config/sdk-config.js";
|
|
10
10
|
import { AccountService } from "./services/account.service.js";
|
|
11
|
-
import {
|
|
11
|
+
import { createAgentKarmaService } from "./services/agentkarma-lazy.js";
|
|
12
12
|
import { AaveService } from "./services/aave.service.js";
|
|
13
13
|
import { BlockchainService } from "./services/blockchain.service.js";
|
|
14
14
|
import { ContractService } from "./services/contract.service.js";
|
|
@@ -26,6 +26,12 @@ import { wrapServiceForAnalytics } from "./analytics/wrap-service.js";
|
|
|
26
26
|
/**
|
|
27
27
|
* Create a Celina client for Celo mainnet reads and unsigned tx preparation.
|
|
28
28
|
* No private keys — pass prepared `steps` to wagmi/viem for wallet signing.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* **Server-side only.** Celina SDK includes server-native dependencies
|
|
32
|
+
* (`@agentkarma/sdk`, `@celo/attribution-tags`) that cannot be bundled for
|
|
33
|
+
* the browser. Import only from Node.js environments — API routes, background
|
|
34
|
+
* workers, or CLI scripts.
|
|
29
35
|
*/
|
|
30
36
|
export function createCelinaClient(opts) {
|
|
31
37
|
const config = resolveSdkConfig(opts);
|
|
@@ -50,14 +56,14 @@ export function createCelinaClient(opts) {
|
|
|
50
56
|
self: wrap("self", new SelfService(clientFactory, config)),
|
|
51
57
|
// Optional ecosystem adapter. Not analytics-wrapped: AgentKarma is an
|
|
52
58
|
// external reputation service, not a Celo on-chain read Celina tracks.
|
|
53
|
-
agentKarma:
|
|
59
|
+
agentKarma: createAgentKarmaService(opts?.agentKarma),
|
|
54
60
|
};
|
|
55
61
|
}
|
|
56
62
|
export { serializePreparedFlow } from "./types/prepared.js";
|
|
57
63
|
/** Aave V3 Celo pool address and supported asset symbols. */
|
|
58
64
|
export { AAVE_POOL, AAVE_SUPPORTED_SYMBOLS, resolveAaveAsset, } from "./config/aave.js";
|
|
59
65
|
export { CHAIN, DEFAULT_RPC_URL } from "./config/chains.js";
|
|
60
|
-
export { appendCelinaCalldataTag, attributionDecodeWindow,
|
|
66
|
+
export { appendCelinaCalldataTag, attributionDecodeWindow, buildErc8021AttributionSuffix, checkAttributionInCalldata, collectAttributionTags, ERC_8021_MARKER, normalizeAttributionTags, stripErc8021SuffixIfPresent, toErc8021AttributionCodes, verifyAttributionInCalldata, } from "./config/celina-tag.js";
|
|
61
67
|
export { createAAClient, deriveSmartAccountAddress, GasSponsorshipService, preparedStepsToUserOpCalls, } from "./aa/index.js";
|
|
62
68
|
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";
|
|
63
69
|
export { SelfService, } from "./services/self.service.js";
|
|
@@ -67,6 +73,4 @@ export { resolveSelfSessionLinks, formatSelfSessionLinksDisplay, } from "./utils
|
|
|
67
73
|
export { clearSelfSessionsForTests } from "./services/self-session-store.js";
|
|
68
74
|
export { flushCelinaAnalytics } from "./analytics/amplitude.js";
|
|
69
75
|
export { runWithAnalyticsWallet } from "./analytics/wallet-context.js";
|
|
70
|
-
/** Optional read-only AgentKarma reputation adapter (agentkarma.io). */
|
|
71
|
-
export { AgentKarmaService } from "./services/agentkarma.service.js";
|
|
72
76
|
//# sourceMappingURL=index.js.map
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy-based lazy loader for AgentKarmaService.
|
|
3
|
+
*
|
|
4
|
+
* Defers the `@agentkarma/sdk` import until the first actual use of
|
|
5
|
+
* `client.agentKarma`. This avoids the `ERR_PACKAGE_PATH_NOT_EXPORTED`
|
|
6
|
+
* error on Node.js v24.10.0+ where `@agentkarma/sdk` lacks an `"exports"`
|
|
7
|
+
* field in its package.json.
|
|
8
|
+
*
|
|
9
|
+
* The Proxy exposes a synchronous `chain` property ("celo") and delegates
|
|
10
|
+
* all other property/method access to a lazily-initialized AgentKarmaService
|
|
11
|
+
* instance via dynamic `import()`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createAgentKarmaService(config?: unknown): any;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Proxy-based lazy loader for AgentKarmaService.
|
|
3
|
+
*
|
|
4
|
+
* Defers the `@agentkarma/sdk` import until the first actual use of
|
|
5
|
+
* `client.agentKarma`. This avoids the `ERR_PACKAGE_PATH_NOT_EXPORTED`
|
|
6
|
+
* error on Node.js v24.10.0+ where `@agentkarma/sdk` lacks an `"exports"`
|
|
7
|
+
* field in its package.json.
|
|
8
|
+
*
|
|
9
|
+
* The Proxy exposes a synchronous `chain` property ("celo") and delegates
|
|
10
|
+
* all other property/method access to a lazily-initialized AgentKarmaService
|
|
11
|
+
* instance via dynamic `import()`.
|
|
12
|
+
*/
|
|
13
|
+
export function createAgentKarmaService(config) {
|
|
14
|
+
let instance = null;
|
|
15
|
+
const getInstance = async () => {
|
|
16
|
+
if (!instance) {
|
|
17
|
+
const mod = await import("./agentkarma.service.js");
|
|
18
|
+
instance = new mod.AgentKarmaService(config);
|
|
19
|
+
}
|
|
20
|
+
return instance;
|
|
21
|
+
};
|
|
22
|
+
// Fire-and-forget pre-init to warm the module cache
|
|
23
|
+
getInstance().catch(() => { });
|
|
24
|
+
return new Proxy({}, {
|
|
25
|
+
get(_, prop) {
|
|
26
|
+
// chain is always "celo" — no import needed
|
|
27
|
+
if (prop === "chain")
|
|
28
|
+
return "celo";
|
|
29
|
+
if (prop === "then")
|
|
30
|
+
return undefined;
|
|
31
|
+
return async (...args) => {
|
|
32
|
+
const svc = await getInstance();
|
|
33
|
+
const val = svc[prop];
|
|
34
|
+
return typeof val === "function" ? val.apply(svc, args) : val;
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=agentkarma-lazy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentkarma-lazy.js","sourceRoot":"","sources":["../../../src/services/agentkarma-lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAgB;IACtD,IAAI,QAAQ,GAAQ,IAAI,CAAC;IACzB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YACpD,QAAQ,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAa,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,oDAAoD;IACpD,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE9B,OAAO,IAAI,KAAK,CAAC,EAAS,EAAE;QAC1B,GAAG,CAAC,CAAC,EAAE,IAAY;YACjB,4CAA4C;YAC5C,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,MAAe,CAAC;YAC7C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAC;YACtC,OAAO,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAClC,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChE,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -106,7 +106,7 @@ export declare class BlockchainService {
|
|
|
106
106
|
type: string | undefined;
|
|
107
107
|
}>;
|
|
108
108
|
/**
|
|
109
|
-
* Decode
|
|
109
|
+
* Decode ERC-8021 attribution tags from a mined transaction's calldata.
|
|
110
110
|
* @param hash - Transaction hash
|
|
111
111
|
* @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
|
|
112
112
|
*/
|
|
@@ -149,7 +149,7 @@ export class BlockchainService {
|
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
/**
|
|
152
|
-
* Decode
|
|
152
|
+
* Decode ERC-8021 attribution tags from a mined transaction's calldata.
|
|
153
153
|
* @param hash - Transaction hash
|
|
154
154
|
* @param tag - Optional tag to check (e.g. `celo_862c21dd97a7`)
|
|
155
155
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Token sends: estimateSend simulates gas; prepareSend builds unsigned tx steps.
|
|
3
|
-
* Calldata is tagged with
|
|
3
|
+
* Calldata is tagged with the ERC-8021 attribution suffix (see appendCelinaCalldataTag).
|
|
4
4
|
*/
|
|
5
5
|
import { type Hex } from "viem";
|
|
6
6
|
import type { CeloClientFactory } from "../clients/celo-client.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Token sends: estimateSend simulates gas; prepareSend builds unsigned tx steps.
|
|
3
|
-
* Calldata is tagged with
|
|
3
|
+
* Calldata is tagged with the ERC-8021 attribution suffix (see appendCelinaCalldataTag).
|
|
4
4
|
*/
|
|
5
5
|
import { encodeFunctionData, erc20Abi, parseEther, parseGwei, } from "viem";
|
|
6
6
|
import { CHAIN, MENTO_CELO_ADDRESS } from "../config/chains.js";
|
|
@@ -50,7 +50,7 @@ export const blockchainToolDefinitions = [
|
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
name: "verify_attribution_tag",
|
|
53
|
-
description: "Decode ERC-8021 (celina, app codes) attribution from a Celo mainnet tx calldata
|
|
53
|
+
description: "Decode ERC-8021 (celina, app codes) attribution from a Celo mainnet tx calldata. Optionally pass tag to check for a specific code.",
|
|
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
|
|
71
|
+
description: "List custom attribution tags on a Celo mainnet transaction (unified ERC-8021 tags, excluding platform celina), or check whether a specific tag is present. Prefer this for \"what tags are on this tx?\"; use verify_attribution_tag for the raw layer.",
|
|
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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"}
|
|
@@ -50,7 +50,7 @@ export const blockchainToolDefinitions = [
|
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
name: "verify_attribution_tag",
|
|
53
|
-
description: "Decode ERC-8021 (celina, app codes) attribution from a Celo mainnet tx calldata
|
|
53
|
+
description: "Decode ERC-8021 (celina, app codes) attribution from a Celo mainnet tx calldata. Optionally pass tag to check for a specific code.",
|
|
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
|
|
71
|
+
description: "List custom attribution tags on a Celo mainnet transaction (unified ERC-8021 tags, excluding platform celina), or check whether a specific tag is present. Prefer this for \"what tags are on this tx?\"; use verify_attribution_tag for the raw layer.",
|
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrewkimjoseph/celina-sdk",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.5",
|
|
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,
|