@abbababa/sdk 0.7.0 → 1.0.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 +178 -60
- package/dist/agents.d.ts +15 -4
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +14 -1
- package/dist/agents.js.map +1 -1
- package/dist/buyer.d.ts +136 -25
- package/dist/buyer.d.ts.map +1 -1
- package/dist/buyer.js +277 -45
- package/dist/buyer.js.map +1 -1
- package/dist/channels.d.ts +2 -2
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js.map +1 -1
- package/dist/checkout.d.ts +2 -2
- package/dist/checkout.d.ts.map +1 -1
- package/dist/checkout.js.map +1 -1
- package/dist/client.d.ts +3 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -6
- package/dist/client.js.map +1 -1
- package/dist/crypto.d.ts +93 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +298 -0
- package/dist/crypto.js.map +1 -0
- package/dist/errors.d.ts +7 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -8
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/memory.d.ts +2 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js.map +1 -1
- package/dist/messages.d.ts +27 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +35 -0
- package/dist/messages.js.map +1 -1
- package/dist/register.d.ts +0 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +3 -4
- package/dist/register.js.map +1 -1
- package/dist/seller.d.ts +102 -22
- package/dist/seller.d.ts.map +1 -1
- package/dist/seller.js +190 -45
- package/dist/seller.js.map +1 -1
- package/dist/services.d.ts +2 -2
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js.map +1 -1
- package/dist/transactions.d.ts +2 -2
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js.map +1 -1
- package/dist/types.d.ts +131 -57
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet/abi.d.ts +15 -0
- package/dist/wallet/abi.d.ts.map +1 -1
- package/dist/wallet/abi.js +18 -8
- package/dist/wallet/abi.js.map +1 -1
- package/dist/wallet/constants.d.ts +8 -6
- package/dist/wallet/constants.d.ts.map +1 -1
- package/dist/wallet/constants.js +38 -23
- package/dist/wallet/constants.js.map +1 -1
- package/dist/wallet/eoa-wallet.d.ts +21 -0
- package/dist/wallet/eoa-wallet.d.ts.map +1 -0
- package/dist/wallet/eoa-wallet.js +37 -0
- package/dist/wallet/eoa-wallet.js.map +1 -0
- package/dist/wallet/escrow.d.ts +38 -8
- package/dist/wallet/escrow.d.ts.map +1 -1
- package/dist/wallet/escrow.js +71 -18
- package/dist/wallet/escrow.js.map +1 -1
- package/dist/wallet/index.d.ts +0 -2
- package/dist/wallet/index.d.ts.map +1 -1
- package/dist/wallet/index.js +0 -2
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/session-key.d.ts +71 -0
- package/dist/wallet/session-key.d.ts.map +1 -0
- package/dist/wallet/session-key.js +82 -0
- package/dist/wallet/session-key.js.map +1 -0
- package/dist/wallet/session-keys.js +8 -8
- package/dist/wallet/smart-account.d.ts +2 -2
- package/dist/wallet/smart-account.js +4 -4
- package/package.json +14 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAEzC,+EAA+E;AAC/E,iEAAiE;AACjE,+EAA+E;AAE/E,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WalletSender } from './escrow.js';
|
|
2
|
+
type ChainKey = 'baseSepolia' | 'base' | 'polygon' | 'polygonAmoy';
|
|
3
|
+
/**
|
|
4
|
+
* Create a plain EOA (Externally Owned Account) wallet using a private key.
|
|
5
|
+
* Returns a viem WalletClient and PublicClient — no ZeroDev required.
|
|
6
|
+
* The agent pays their own gas (~$0.02/flow on Base Sepolia).
|
|
7
|
+
*
|
|
8
|
+
* The returned walletClient is compatible with EscrowClient (duck-typed via
|
|
9
|
+
* sendTransaction interface) — use it directly in fundEscrow, disputeEscrow, etc.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createEOAWallet(config: {
|
|
12
|
+
privateKey: string;
|
|
13
|
+
chain?: ChainKey;
|
|
14
|
+
rpcUrl?: string;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
address: string;
|
|
17
|
+
walletClient: WalletSender;
|
|
18
|
+
publicClient: unknown;
|
|
19
|
+
}>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=eoa-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eoa-wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/eoa-wallet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,KAAK,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAA;AASlE;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBlF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createWalletClient, createPublicClient, http } from 'viem';
|
|
2
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
+
import { baseSepolia, base, polygon, polygonAmoy } from 'viem/chains';
|
|
4
|
+
const CHAIN_MAP = {
|
|
5
|
+
baseSepolia,
|
|
6
|
+
base,
|
|
7
|
+
polygon,
|
|
8
|
+
polygonAmoy,
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Create a plain EOA (Externally Owned Account) wallet using a private key.
|
|
12
|
+
* Returns a viem WalletClient and PublicClient — no ZeroDev required.
|
|
13
|
+
* The agent pays their own gas (~$0.02/flow on Base Sepolia).
|
|
14
|
+
*
|
|
15
|
+
* The returned walletClient is compatible with EscrowClient (duck-typed via
|
|
16
|
+
* sendTransaction interface) — use it directly in fundEscrow, disputeEscrow, etc.
|
|
17
|
+
*/
|
|
18
|
+
export async function createEOAWallet(config) {
|
|
19
|
+
const chain = CHAIN_MAP[config.chain ?? 'baseSepolia'];
|
|
20
|
+
const account = privateKeyToAccount(config.privateKey);
|
|
21
|
+
const transport = http(config.rpcUrl);
|
|
22
|
+
const walletClient = createWalletClient({
|
|
23
|
+
account,
|
|
24
|
+
chain,
|
|
25
|
+
transport,
|
|
26
|
+
});
|
|
27
|
+
const publicClient = createPublicClient({
|
|
28
|
+
chain,
|
|
29
|
+
transport: http(config.rpcUrl),
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
address: account.address,
|
|
33
|
+
walletClient,
|
|
34
|
+
publicClient,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=eoa-wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eoa-wallet.js","sourceRoot":"","sources":["../../src/wallet/eoa-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAKrE,MAAM,SAAS,GAAG;IAChB,WAAW;IACX,IAAI;IACJ,OAAO;IACP,WAAW;CACZ,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAIrC;IACC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAA2B,CAAC,CAAA;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAErC,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,OAAO;QACP,KAAK;QACL,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC/B,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC"}
|
package/dist/wallet/escrow.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { type Address } from 'viem';
|
|
2
2
|
import { type TokenInfo } from './constants.js';
|
|
3
3
|
import type { EscrowDetails, AgentStats } from '../types.js';
|
|
4
|
+
/** Minimal interface satisfied by viem WalletClient and any compatible EOA wallet. */
|
|
5
|
+
export interface WalletSender {
|
|
6
|
+
sendTransaction(args: {
|
|
7
|
+
to: `0x${string}`;
|
|
8
|
+
data: `0x${string}`;
|
|
9
|
+
}): Promise<`0x${string}`>;
|
|
10
|
+
}
|
|
4
11
|
/** Dispute resolution outcome */
|
|
5
12
|
export declare enum DisputeOutcome {
|
|
6
13
|
None = 0,
|
|
@@ -20,19 +27,21 @@ export declare enum EscrowStatus {
|
|
|
20
27
|
Abandoned = 7
|
|
21
28
|
}
|
|
22
29
|
/**
|
|
23
|
-
* Client for interacting with the
|
|
30
|
+
* Client for interacting with the AbbaBabaEscrow smart contract.
|
|
24
31
|
* Supports UUPS upgradeable escrow with 2% platform fee,
|
|
25
32
|
* criteriaHash for AI dispute resolution, configurable dispute windows,
|
|
26
33
|
* and abandonment detection.
|
|
27
|
-
*
|
|
34
|
+
*
|
|
35
|
+
* Accepts a viem WalletClient (EOA — seller pays own gas).
|
|
36
|
+
* The walletClient must expose a sendTransaction({ to, data }) interface.
|
|
28
37
|
*/
|
|
29
38
|
export declare class EscrowClient {
|
|
30
|
-
private
|
|
39
|
+
private walletClient;
|
|
31
40
|
private chainId;
|
|
32
41
|
private escrowAddress;
|
|
33
42
|
private tokenAddress;
|
|
34
43
|
private tokenDecimals;
|
|
35
|
-
constructor(
|
|
44
|
+
constructor(walletClient: WalletSender, token?: TokenInfo, chainId?: number);
|
|
36
45
|
/**
|
|
37
46
|
* Convert a platform transaction ID (CUID string) to a bytes32 escrow ID.
|
|
38
47
|
* Uses keccak256, matching the existing backend pattern.
|
|
@@ -95,13 +104,34 @@ export declare class EscrowClient {
|
|
|
95
104
|
* Check if an escrow can be finalized (dispute window passed, no dispute filed).
|
|
96
105
|
*/
|
|
97
106
|
canFinalize(transactionId: string): Promise<boolean>;
|
|
107
|
+
/**
|
|
108
|
+
* Transfer ERC20 tokens from this wallet to a recipient address.
|
|
109
|
+
* Used to fund a session wallet with USDC before handing off the bundle.
|
|
110
|
+
*
|
|
111
|
+
* @param to - Recipient address (e.g. session wallet).
|
|
112
|
+
* @param amount - Amount in smallest token units (e.g. 100_000000n for 100 USDC with 6 decimals).
|
|
113
|
+
*/
|
|
114
|
+
transferToken(to: `0x${string}`, amount: bigint): Promise<string>;
|
|
115
|
+
/**
|
|
116
|
+
* Sweep all ERC20 tokens from `fromAddress` to `recipient`.
|
|
117
|
+
* Reads the current balance via a public client, then sends all of it.
|
|
118
|
+
* Used to reclaim funds from a session wallet after the session expires.
|
|
119
|
+
*
|
|
120
|
+
* This method must be called with a walletClient that controls `fromAddress`
|
|
121
|
+
* (i.e., the session wallet's private key must be in `walletClient`).
|
|
122
|
+
*
|
|
123
|
+
* @param fromAddress - Source address (the session wallet).
|
|
124
|
+
* @param recipient - Destination address (the main wallet).
|
|
125
|
+
* @returns Transaction hash, or `null` if the balance is zero.
|
|
126
|
+
*/
|
|
127
|
+
sweepToken(fromAddress: `0x${string}`, recipient: `0x${string}`): Promise<string | null>;
|
|
98
128
|
/**
|
|
99
129
|
* Check if an escrow can be claimed as abandoned (deadline + abandonmentGrace passed).
|
|
100
130
|
*/
|
|
101
131
|
canClaimAbandoned(transactionId: string): Promise<boolean>;
|
|
102
132
|
}
|
|
103
133
|
/**
|
|
104
|
-
* Read-only client for the
|
|
134
|
+
* Read-only client for the AbbaBabaScore on-chain reputation system.
|
|
105
135
|
* No wallet needed — all methods are view functions.
|
|
106
136
|
*/
|
|
107
137
|
export declare class ScoreClient {
|
|
@@ -130,15 +160,15 @@ export declare class ScoreClient {
|
|
|
130
160
|
getScoreAddress(): Address;
|
|
131
161
|
}
|
|
132
162
|
/**
|
|
133
|
-
* Client for interacting with the
|
|
163
|
+
* Client for interacting with the AbbaBabaResolver contract.
|
|
134
164
|
* Used for submitting AI dispute resolutions (requires RESOLVER_ROLE).
|
|
135
165
|
* V2 simplification: Single submitResolution function (no tier-specific functions).
|
|
136
166
|
*/
|
|
137
167
|
export declare class ResolverClient {
|
|
138
|
-
private
|
|
168
|
+
private walletClient;
|
|
139
169
|
private chainId;
|
|
140
170
|
private resolverAddress;
|
|
141
|
-
constructor(
|
|
171
|
+
constructor(walletClient: WalletSender, chainId?: number);
|
|
142
172
|
/**
|
|
143
173
|
* Submit AI dispute resolution.
|
|
144
174
|
* Requires RESOLVER_ROLE on the resolver contract.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EAIb,MAAM,MAAM,CAAA;AAGb,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE5D,iCAAiC;AACjC,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,WAAW,IAAI;IACf,UAAU,IAAI;IACd,KAAK,IAAI;CACV;AAED,0BAA0B;AAC1B,oBAAY,YAAY;IACtB,IAAI,IAAI;IACR,MAAM,IAAI;IACV,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAUD
|
|
1
|
+
{"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet/escrow.js
CHANGED
|
@@ -29,20 +29,22 @@ const CHAINS = {
|
|
|
29
29
|
const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
30
30
|
const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
31
31
|
/**
|
|
32
|
-
* Client for interacting with the
|
|
32
|
+
* Client for interacting with the AbbaBabaEscrow smart contract.
|
|
33
33
|
* Supports UUPS upgradeable escrow with 2% platform fee,
|
|
34
34
|
* criteriaHash for AI dispute resolution, configurable dispute windows,
|
|
35
35
|
* and abandonment detection.
|
|
36
|
-
*
|
|
36
|
+
*
|
|
37
|
+
* Accepts a viem WalletClient (EOA — seller pays own gas).
|
|
38
|
+
* The walletClient must expose a sendTransaction({ to, data }) interface.
|
|
37
39
|
*/
|
|
38
40
|
export class EscrowClient {
|
|
39
|
-
|
|
41
|
+
walletClient;
|
|
40
42
|
chainId;
|
|
41
43
|
escrowAddress;
|
|
42
44
|
tokenAddress;
|
|
43
45
|
tokenDecimals;
|
|
44
|
-
constructor(
|
|
45
|
-
this.
|
|
46
|
+
constructor(walletClient, token, chainId = BASE_SEPOLIA_CHAIN_ID) {
|
|
47
|
+
this.walletClient = walletClient;
|
|
46
48
|
this.chainId = chainId;
|
|
47
49
|
// Resolve token (default USDC)
|
|
48
50
|
if (token) {
|
|
@@ -78,7 +80,7 @@ export class EscrowClient {
|
|
|
78
80
|
functionName: 'approve',
|
|
79
81
|
args: [this.escrowAddress, amount],
|
|
80
82
|
});
|
|
81
|
-
const txHash = await this.
|
|
83
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
82
84
|
to: this.tokenAddress,
|
|
83
85
|
data,
|
|
84
86
|
});
|
|
@@ -111,7 +113,7 @@ export class EscrowClient {
|
|
|
111
113
|
functionName: 'createEscrow',
|
|
112
114
|
args: [escrowId, sellerAddress, amount, this.tokenAddress, deadline, disputeWindow, abandonmentGrace, criteriaHash],
|
|
113
115
|
});
|
|
114
|
-
const txHash = await this.
|
|
116
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
115
117
|
to: this.escrowAddress,
|
|
116
118
|
data,
|
|
117
119
|
});
|
|
@@ -127,7 +129,7 @@ export class EscrowClient {
|
|
|
127
129
|
functionName: 'submitDelivery',
|
|
128
130
|
args: [escrowId, proofHash],
|
|
129
131
|
});
|
|
130
|
-
const txHash = await this.
|
|
132
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
131
133
|
to: this.escrowAddress,
|
|
132
134
|
data,
|
|
133
135
|
});
|
|
@@ -143,7 +145,7 @@ export class EscrowClient {
|
|
|
143
145
|
functionName: 'accept',
|
|
144
146
|
args: [escrowId],
|
|
145
147
|
});
|
|
146
|
-
const txHash = await this.
|
|
148
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
147
149
|
to: this.escrowAddress,
|
|
148
150
|
data,
|
|
149
151
|
});
|
|
@@ -160,7 +162,7 @@ export class EscrowClient {
|
|
|
160
162
|
functionName: 'finalizeRelease',
|
|
161
163
|
args: [escrowId],
|
|
162
164
|
});
|
|
163
|
-
const txHash = await this.
|
|
165
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
164
166
|
to: this.escrowAddress,
|
|
165
167
|
data,
|
|
166
168
|
});
|
|
@@ -176,7 +178,7 @@ export class EscrowClient {
|
|
|
176
178
|
functionName: 'dispute',
|
|
177
179
|
args: [escrowId],
|
|
178
180
|
});
|
|
179
|
-
const txHash = await this.
|
|
181
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
180
182
|
to: this.escrowAddress,
|
|
181
183
|
data,
|
|
182
184
|
});
|
|
@@ -193,7 +195,7 @@ export class EscrowClient {
|
|
|
193
195
|
functionName: 'claimAbandoned',
|
|
194
196
|
args: [escrowId],
|
|
195
197
|
});
|
|
196
|
-
const txHash = await this.
|
|
198
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
197
199
|
to: this.escrowAddress,
|
|
198
200
|
data,
|
|
199
201
|
});
|
|
@@ -271,6 +273,57 @@ export class EscrowClient {
|
|
|
271
273
|
});
|
|
272
274
|
return result;
|
|
273
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* Transfer ERC20 tokens from this wallet to a recipient address.
|
|
278
|
+
* Used to fund a session wallet with USDC before handing off the bundle.
|
|
279
|
+
*
|
|
280
|
+
* @param to - Recipient address (e.g. session wallet).
|
|
281
|
+
* @param amount - Amount in smallest token units (e.g. 100_000000n for 100 USDC with 6 decimals).
|
|
282
|
+
*/
|
|
283
|
+
async transferToken(to, amount) {
|
|
284
|
+
const data = encodeFunctionData({
|
|
285
|
+
abi: ERC20_ABI,
|
|
286
|
+
functionName: 'transfer',
|
|
287
|
+
args: [to, amount],
|
|
288
|
+
});
|
|
289
|
+
return this.walletClient.sendTransaction({
|
|
290
|
+
to: this.tokenAddress,
|
|
291
|
+
data,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Sweep all ERC20 tokens from `fromAddress` to `recipient`.
|
|
296
|
+
* Reads the current balance via a public client, then sends all of it.
|
|
297
|
+
* Used to reclaim funds from a session wallet after the session expires.
|
|
298
|
+
*
|
|
299
|
+
* This method must be called with a walletClient that controls `fromAddress`
|
|
300
|
+
* (i.e., the session wallet's private key must be in `walletClient`).
|
|
301
|
+
*
|
|
302
|
+
* @param fromAddress - Source address (the session wallet).
|
|
303
|
+
* @param recipient - Destination address (the main wallet).
|
|
304
|
+
* @returns Transaction hash, or `null` if the balance is zero.
|
|
305
|
+
*/
|
|
306
|
+
async sweepToken(fromAddress, recipient) {
|
|
307
|
+
const viemChain = CHAINS[this.chainId] ?? baseSepolia;
|
|
308
|
+
const publicClient = createPublicClient({ chain: viemChain, transport: http() });
|
|
309
|
+
const balance = await publicClient.readContract({
|
|
310
|
+
address: this.tokenAddress,
|
|
311
|
+
abi: ERC20_ABI,
|
|
312
|
+
functionName: 'balanceOf',
|
|
313
|
+
args: [fromAddress],
|
|
314
|
+
});
|
|
315
|
+
if (balance === 0n)
|
|
316
|
+
return null;
|
|
317
|
+
const data = encodeFunctionData({
|
|
318
|
+
abi: ERC20_ABI,
|
|
319
|
+
functionName: 'transfer',
|
|
320
|
+
args: [recipient, balance],
|
|
321
|
+
});
|
|
322
|
+
return this.walletClient.sendTransaction({
|
|
323
|
+
to: this.tokenAddress,
|
|
324
|
+
data,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
274
327
|
/**
|
|
275
328
|
* Check if an escrow can be claimed as abandoned (deadline + abandonmentGrace passed).
|
|
276
329
|
*/
|
|
@@ -291,7 +344,7 @@ export class EscrowClient {
|
|
|
291
344
|
}
|
|
292
345
|
}
|
|
293
346
|
/**
|
|
294
|
-
* Read-only client for the
|
|
347
|
+
* Read-only client for the AbbaBabaScore on-chain reputation system.
|
|
295
348
|
* No wallet needed — all methods are view functions.
|
|
296
349
|
*/
|
|
297
350
|
export class ScoreClient {
|
|
@@ -368,16 +421,16 @@ export class ScoreClient {
|
|
|
368
421
|
}
|
|
369
422
|
}
|
|
370
423
|
/**
|
|
371
|
-
* Client for interacting with the
|
|
424
|
+
* Client for interacting with the AbbaBabaResolver contract.
|
|
372
425
|
* Used for submitting AI dispute resolutions (requires RESOLVER_ROLE).
|
|
373
426
|
* V2 simplification: Single submitResolution function (no tier-specific functions).
|
|
374
427
|
*/
|
|
375
428
|
export class ResolverClient {
|
|
376
|
-
|
|
429
|
+
walletClient;
|
|
377
430
|
chainId;
|
|
378
431
|
resolverAddress;
|
|
379
|
-
constructor(
|
|
380
|
-
this.
|
|
432
|
+
constructor(walletClient, chainId = BASE_SEPOLIA_CHAIN_ID) {
|
|
433
|
+
this.walletClient = walletClient;
|
|
381
434
|
this.chainId = chainId;
|
|
382
435
|
const addr = RESOLVER_V2_ADDRESSES[chainId];
|
|
383
436
|
if (!addr)
|
|
@@ -395,7 +448,7 @@ export class ResolverClient {
|
|
|
395
448
|
functionName: 'submitResolution',
|
|
396
449
|
args: [escrowId, outcome, BigInt(buyerPercent), BigInt(sellerPercent), reasoning],
|
|
397
450
|
});
|
|
398
|
-
const txHash = await this.
|
|
451
|
+
const txHash = await this.walletClient.sendTransaction({
|
|
399
452
|
to: this.resolverAddress,
|
|
400
453
|
data,
|
|
401
454
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export { createSmartAccount, buildKernelClient } from './smart-account.js';
|
|
2
1
|
export { EscrowClient, ScoreClient, ResolverClient, DisputeOutcome, EscrowStatus } from './escrow.js';
|
|
3
|
-
export { generateSessionKey, useSessionKey, revokeSessionKey, buildEscrowPolicies, } from './session-keys.js';
|
|
4
2
|
export { ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, TESTNET_USDC_ADDRESS, DEPRECATED_MOCK_USDC_ADDRESSES, MOCK_USDC_ADDRESSES, ESCROW_V1_ADDRESSES, SCORE_V1_ADDRESSES, ESCROW_V4_ADDRESSES, SCORE_ADDRESSES, TOKEN_REGISTRY, getToken, getTokensByTier, isTokenSupported, POLYGON_AMOY_CHAIN_ID, POLYGON_MAINNET_CHAIN_ID, BASE_SEPOLIA_CHAIN_ID, BASE_MAINNET_CHAIN_ID, MIN_GAS_BALANCE, } from './constants.js';
|
|
5
3
|
export type { TokenInfo } from './constants.js';
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAEf,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,EAEhB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EAErB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/wallet/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export { createSmartAccount, buildKernelClient } from './smart-account.js';
|
|
2
1
|
export { EscrowClient, ScoreClient, ResolverClient, DisputeOutcome, EscrowStatus } from './escrow.js';
|
|
3
|
-
export { generateSessionKey, useSessionKey, revokeSessionKey, buildEscrowPolicies, } from './session-keys.js';
|
|
4
2
|
export {
|
|
5
3
|
// V2 contract addresses (UUPS Upgradeable - 2026-02-14)
|
|
6
4
|
ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, TESTNET_USDC_ADDRESS, DEPRECATED_MOCK_USDC_ADDRESSES, MOCK_USDC_ADDRESSES,
|
package/dist/wallet/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO;AACL,wDAAwD;AACxD,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB;AACnB,mCAAmC;AACnC,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe;AACf,iBAAiB;AACjB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB;AAChB,YAAY;AACZ,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB;AACrB,MAAM;AACN,eAAe,GAChB,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abba Baba In-House Session Keys
|
|
3
|
+
*
|
|
4
|
+
* Generates ephemeral session bundles for autonomous agents:
|
|
5
|
+
* - Session wallet: real EOA for on-chain signing (blockchain-enforced hard cap)
|
|
6
|
+
* - E2E keypair: secp256k1 for encrypted payloads (same curve as AgentCrypto)
|
|
7
|
+
* - Session bundle: self-contained base64 string passed to the agent process
|
|
8
|
+
*
|
|
9
|
+
* Security: treat a serialized bundle like a private key. Never send it to the platform.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* The raw payload inside a serialized session bundle.
|
|
13
|
+
* Treat as a secret — same sensitivity as a private key.
|
|
14
|
+
*/
|
|
15
|
+
export interface SessionBundlePayload {
|
|
16
|
+
/** Platform-issued session token ("abba_session_..."). Use as apiKey. */
|
|
17
|
+
token: string;
|
|
18
|
+
/** Parent agent ID (for reference — platform enforces via token). */
|
|
19
|
+
agentId: string;
|
|
20
|
+
/** Soft spending cap in USDC (API-enforced). null = no limit. */
|
|
21
|
+
budgetUsdc: number | null;
|
|
22
|
+
/** Session expiry — Unix timestamp seconds. */
|
|
23
|
+
expiry: number;
|
|
24
|
+
/** Ephemeral EOA private key (0x-prefixed). Signs escrow/delivery on-chain. */
|
|
25
|
+
walletPrivateKey: string;
|
|
26
|
+
/** Ephemeral EOA address. Fund this with USDC + a small ETH gas reserve. */
|
|
27
|
+
walletAddress: string;
|
|
28
|
+
/** Fresh secp256k1 private key (hex, 32 bytes). Used for E2E encryption. */
|
|
29
|
+
e2ePrivateKey: string;
|
|
30
|
+
/** Compressed secp256k1 public key (hex, 33 bytes). Share with counterparties. */
|
|
31
|
+
e2ePublicKey: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SessionWallet {
|
|
34
|
+
privateKey: `0x${string}`;
|
|
35
|
+
address: string;
|
|
36
|
+
}
|
|
37
|
+
export interface E2EKeypair {
|
|
38
|
+
privateKey: string;
|
|
39
|
+
publicKey: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Generate an ephemeral EOA wallet for on-chain session signing.
|
|
43
|
+
* The caller is responsible for funding this address with USDC (and a small
|
|
44
|
+
* ETH/gas reserve) before passing the bundle to the agent.
|
|
45
|
+
*/
|
|
46
|
+
export declare function generateSessionWallet(): SessionWallet;
|
|
47
|
+
/**
|
|
48
|
+
* Generate a fresh secp256k1 keypair for E2E encryption.
|
|
49
|
+
* Uses the same curve as AgentCrypto — the agent can call initCrypto()
|
|
50
|
+
* with e2ePrivateKey and get a fully functional crypto context.
|
|
51
|
+
*/
|
|
52
|
+
export declare function generateE2EKeypair(): E2EKeypair;
|
|
53
|
+
/**
|
|
54
|
+
* Serialize and deserialize session bundles.
|
|
55
|
+
*
|
|
56
|
+
* The bundle is a base64-encoded JSON payload prefixed with
|
|
57
|
+
* `abba_session_bundle_`. Treat it as a secret.
|
|
58
|
+
*/
|
|
59
|
+
export declare const SessionBundle: {
|
|
60
|
+
/**
|
|
61
|
+
* Serialize a session payload to a base64 bundle string.
|
|
62
|
+
* Compatible with Node.js (Buffer) and browser (btoa) environments.
|
|
63
|
+
*/
|
|
64
|
+
serialize(payload: SessionBundlePayload): string;
|
|
65
|
+
/**
|
|
66
|
+
* Deserialize a base64 bundle string back to a SessionBundlePayload.
|
|
67
|
+
* @throws If the bundle is not prefixed with `abba_session_bundle_`.
|
|
68
|
+
*/
|
|
69
|
+
deserialize(serialized: string): SessionBundlePayload;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=session-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-key.d.ts","sourceRoot":"","sources":["../../src/wallet/session-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IAEd,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAA;IACxB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAA;IAErB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAA;IACrB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAOrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAO/C;AAMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG;uBACgB,oBAAoB,GAAG,MAAM;IAShD;;;OAGG;4BACqB,MAAM,GAAG,oBAAoB;CActD,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abba Baba In-House Session Keys
|
|
3
|
+
*
|
|
4
|
+
* Generates ephemeral session bundles for autonomous agents:
|
|
5
|
+
* - Session wallet: real EOA for on-chain signing (blockchain-enforced hard cap)
|
|
6
|
+
* - E2E keypair: secp256k1 for encrypted payloads (same curve as AgentCrypto)
|
|
7
|
+
* - Session bundle: self-contained base64 string passed to the agent process
|
|
8
|
+
*
|
|
9
|
+
* Security: treat a serialized bundle like a private key. Never send it to the platform.
|
|
10
|
+
*/
|
|
11
|
+
import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
12
|
+
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
13
|
+
// ─── Hex helpers ──────────────────────────────────────────────────────────────
|
|
14
|
+
function toHex(bytes) {
|
|
15
|
+
return Array.from(bytes)
|
|
16
|
+
.map((b) => b.toString(16).padStart(2, '0'))
|
|
17
|
+
.join('');
|
|
18
|
+
}
|
|
19
|
+
// ─── Key generation ───────────────────────────────────────────────────────────
|
|
20
|
+
/**
|
|
21
|
+
* Generate an ephemeral EOA wallet for on-chain session signing.
|
|
22
|
+
* The caller is responsible for funding this address with USDC (and a small
|
|
23
|
+
* ETH/gas reserve) before passing the bundle to the agent.
|
|
24
|
+
*/
|
|
25
|
+
export function generateSessionWallet() {
|
|
26
|
+
const privateKey = generatePrivateKey();
|
|
27
|
+
const account = privateKeyToAccount(privateKey);
|
|
28
|
+
return {
|
|
29
|
+
privateKey,
|
|
30
|
+
address: account.address,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Generate a fresh secp256k1 keypair for E2E encryption.
|
|
35
|
+
* Uses the same curve as AgentCrypto — the agent can call initCrypto()
|
|
36
|
+
* with e2ePrivateKey and get a fully functional crypto context.
|
|
37
|
+
*/
|
|
38
|
+
export function generateE2EKeypair() {
|
|
39
|
+
const privBytes = secp256k1.utils.randomPrivateKey();
|
|
40
|
+
const pubBytes = secp256k1.getPublicKey(privBytes, true); // compressed
|
|
41
|
+
return {
|
|
42
|
+
privateKey: toHex(privBytes),
|
|
43
|
+
publicKey: toHex(pubBytes),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// ─── Bundle serialize / deserialize ──────────────────────────────────────────
|
|
47
|
+
const BUNDLE_PREFIX = 'abba_session_bundle_';
|
|
48
|
+
/**
|
|
49
|
+
* Serialize and deserialize session bundles.
|
|
50
|
+
*
|
|
51
|
+
* The bundle is a base64-encoded JSON payload prefixed with
|
|
52
|
+
* `abba_session_bundle_`. Treat it as a secret.
|
|
53
|
+
*/
|
|
54
|
+
export const SessionBundle = {
|
|
55
|
+
/**
|
|
56
|
+
* Serialize a session payload to a base64 bundle string.
|
|
57
|
+
* Compatible with Node.js (Buffer) and browser (btoa) environments.
|
|
58
|
+
*/
|
|
59
|
+
serialize(payload) {
|
|
60
|
+
const json = JSON.stringify(payload);
|
|
61
|
+
const b64 = typeof Buffer !== 'undefined'
|
|
62
|
+
? Buffer.from(json, 'utf8').toString('base64')
|
|
63
|
+
: btoa(unescape(encodeURIComponent(json)));
|
|
64
|
+
return BUNDLE_PREFIX + b64;
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* Deserialize a base64 bundle string back to a SessionBundlePayload.
|
|
68
|
+
* @throws If the bundle is not prefixed with `abba_session_bundle_`.
|
|
69
|
+
*/
|
|
70
|
+
deserialize(serialized) {
|
|
71
|
+
if (!serialized.startsWith(BUNDLE_PREFIX)) {
|
|
72
|
+
throw new Error('Invalid session bundle: expected "abba_session_bundle_" prefix. ' +
|
|
73
|
+
'Ensure you passed the full string returned by session.serialize().');
|
|
74
|
+
}
|
|
75
|
+
const b64 = serialized.slice(BUNDLE_PREFIX.length);
|
|
76
|
+
const json = typeof Buffer !== 'undefined'
|
|
77
|
+
? Buffer.from(b64, 'base64').toString('utf8')
|
|
78
|
+
: decodeURIComponent(escape(atob(b64)));
|
|
79
|
+
return JSON.parse(json);
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=session-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-key.js","sourceRoot":"","sources":["../../src/wallet/session-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,iFAAiF;AAEjF,SAAS,KAAK,CAAC,KAAiB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAuCD,iFAAiF;AAEjF;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC/C,OAAO;QACL,UAAU;QACV,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;IACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA,CAAC,aAAa;IACtE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;KAC3B,CAAA;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,aAAa,GAAG,sBAAsB,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,OAA6B;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,GAAG,GACP,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,aAAa,GAAG,GAAG,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,UAAkB;QAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,kEAAkE;gBAClE,oEAAoE,CACrE,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,IAAI,GACR,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAA;IACjD,CAAC;CACF,CAAA"}
|