@seedprotocol/publish 0.7.3 → 0.7.4-next.784.g879c6a3
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 +75 -0
- package/dist/authorization.d.ts +41 -0
- package/dist/authorization.d.ts.map +1 -0
- package/dist/{chainConfig-RhKIuGtN.js → chainConfig-BHTH_BGB.js} +2012 -1488
- package/dist/chainConfig-BHTH_BGB.js.map +1 -0
- package/dist/config.d.ts +25 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/{ensureAutomationSessionKey-CvUntLne.js → ensureAutomationSessionKey-DITIsceC.js} +31 -31
- package/dist/{ensureAutomationSessionKey-CvUntLne.js.map → ensureAutomationSessionKey-DITIsceC.js.map} +1 -1
- package/dist/ensureModularPublishBootstrap-sAAJn75c.js +21 -0
- package/dist/{ensureModularPublishBootstrap-D9q246TT.js.map → ensureModularPublishBootstrap-sAAJn75c.js.map} +1 -1
- package/dist/{ensureSmartWalletThenPublish-C_iS5Wb-.js → ensureSmartWalletThenPublish-hRJ9T0f8.js} +15 -15
- package/dist/{ensureSmartWalletThenPublish-C_iS5Wb-.js.map → ensureSmartWalletThenPublish-hRJ9T0f8.js.map} +1 -1
- package/dist/helpers/abi/eas.d.ts +42 -0
- package/dist/helpers/abi/eas.d.ts.map +1 -1
- package/dist/helpers/adapters/permissionlessTxSender.d.ts +5 -1
- package/dist/helpers/adapters/permissionlessTxSender.d.ts.map +1 -1
- package/dist/helpers/ensureWalletThenPublish.d.ts.map +1 -1
- package/dist/helpers/publishWalletRegistry.d.ts +5 -0
- package/dist/helpers/publishWalletRegistry.d.ts.map +1 -1
- package/dist/helpers/resolveRevokeAccount.d.ts.map +1 -1
- package/dist/helpers/turbo.d.ts +55 -0
- package/dist/helpers/turbo.d.ts.map +1 -0
- package/dist/helpers/uploadApi.d.ts +3 -1
- package/dist/helpers/uploadApi.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +338 -479
- package/dist/index.js.map +1 -1
- package/dist/{managedAccountAdmin-CLVRJEKI.js → managedAccountAdmin-CSBb6NaZ.js} +10 -10
- package/dist/{managedAccountAdmin-CLVRJEKI.js.map → managedAccountAdmin-CSBb6NaZ.js.map} +1 -1
- package/dist/payment.d.ts +106 -0
- package/dist/payment.d.ts.map +1 -0
- package/dist/{publishAuthorization-DAarz1JK.js → publishAuthorization-CZyvsNGG.js} +25 -25
- package/dist/{publishAuthorization-DAarz1JK.js.map → publishAuthorization-CZyvsNGG.js.map} +1 -1
- package/dist/react/ConnectButton.d.ts.map +1 -1
- package/dist/react/useSeedWallet.d.ts.map +1 -1
- package/dist/resolveRevokeAccount-CbQiAEZp.js +37 -0
- package/dist/resolveRevokeAccount-CbQiAEZp.js.map +1 -0
- package/dist/services/arweaveL1Finalize/worker.d.ts.map +1 -1
- package/dist/services/domainOwnership/challenge.d.ts +4 -1
- package/dist/services/domainOwnership/challenge.d.ts.map +1 -1
- package/dist/services/domainOwnership/index.d.ts +1 -1
- package/dist/services/domainOwnership/index.d.ts.map +1 -1
- package/dist/services/domainOwnership/public.d.ts +1 -1
- package/dist/services/domainOwnership/public.d.ts.map +1 -1
- package/dist/services/domainOwnership/registry.d.ts +2 -0
- package/dist/services/domainOwnership/registry.d.ts.map +1 -1
- package/dist/services/publish/actors/authorizing.d.ts +10 -0
- package/dist/services/publish/actors/authorizing.d.ts.map +1 -0
- package/dist/services/publish/actors/checking.d.ts.map +1 -1
- package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts.map +1 -1
- package/dist/services/publish/actors/index.d.ts +1 -0
- package/dist/services/publish/actors/index.d.ts.map +1 -1
- package/dist/services/publish/actors/sendReimbursementRequest.d.ts.map +1 -1
- package/dist/services/publish/actors/uploadViaBundler.d.ts.map +1 -1
- package/dist/services/publish/helpers/undeployedSmartAccount.d.ts +15 -0
- package/dist/services/publish/helpers/undeployedSmartAccount.d.ts.map +1 -0
- package/dist/services/publish/helpers/uploadToTurbo.d.ts +8 -0
- package/dist/services/publish/helpers/uploadToTurbo.d.ts.map +1 -0
- package/dist/services/publish/helpers/verifyArweaveTransactionsExist.d.ts +2 -1
- package/dist/services/publish/helpers/verifyArweaveTransactionsExist.d.ts.map +1 -1
- package/dist/services/publish/index.d.ts +13 -1
- package/dist/services/publish/index.d.ts.map +1 -1
- package/dist/services/publishCost/estimatePublishCost.d.ts +1 -0
- package/dist/services/publishCost/estimatePublishCost.d.ts.map +1 -1
- package/dist/services/publishCost/types.d.ts +7 -0
- package/dist/services/publishCost/types.d.ts.map +1 -1
- package/dist/services/publishManager/actions/createPublish.d.ts.map +1 -1
- package/dist/services/publishManager/actions/requestSavePublish.d.ts +10 -0
- package/dist/services/publishManager/actions/requestSavePublish.d.ts.map +1 -1
- package/dist/services/revoke/revokeAttestations.d.ts +2 -1
- package/dist/services/revoke/revokeAttestations.d.ts.map +1 -1
- package/dist/thirdweb.js +106 -105
- package/dist/thirdweb.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/undeployedSmartAccount-DwGsM3K1.js +24 -0
- package/dist/undeployedSmartAccount-DwGsM3K1.js.map +1 -0
- package/dist/worker--EZUESZk.js +88 -0
- package/dist/worker--EZUESZk.js.map +1 -0
- package/package.json +6 -6
- package/dist/chainConfig-RhKIuGtN.js.map +0 -1
- package/dist/ensureModularPublishBootstrap-D9q246TT.js +0 -21
- package/dist/resolveRevokeAccount-TRcqJtIO.js +0 -36
- package/dist/resolveRevokeAccount-TRcqJtIO.js.map +0 -1
- package/dist/worker-CyuMiBB-.js +0 -72
- package/dist/worker-CyuMiBB-.js.map +0 -1
package/dist/config.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export interface ThirdwebWalletOptions {
|
|
|
34
34
|
bundlerUrl?: string;
|
|
35
35
|
/**
|
|
36
36
|
* Sponsor gas through Thirdweb: the managed smart account's UserOps and, in `'EIP7702'` mode,
|
|
37
|
-
* the in-app EOA's transactions. Default `true
|
|
37
|
+
* the in-app EOA's transactions. Default `true` (`false` with `payment: { gas: 'user' }`). Set `false` where Thirdweb's paymaster is
|
|
38
38
|
* unavailable (local chains); the accounts then pay their own gas and must hold ETH.
|
|
39
39
|
*/
|
|
40
40
|
sponsorGas?: boolean;
|
|
@@ -91,6 +91,13 @@ export interface PublishConfig {
|
|
|
91
91
|
* `modularWalletMode: 'EOA'`.
|
|
92
92
|
*/
|
|
93
93
|
thirdweb?: ThirdwebWalletOptions;
|
|
94
|
+
/**
|
|
95
|
+
* Who pays for publishes: `gas` (`'sponsored'` | `'user'`) and `storage` (`'operator'` |
|
|
96
|
+
* `'user'`). Optional; the settings below decide when it's left out. When set, it supplies
|
|
97
|
+
* their defaults (e.g. `gas: 'user'` makes Thirdweb wallets unsponsored) and `initPublish`
|
|
98
|
+
* throws on a contradiction. See `resolvePublishPayment`.
|
|
99
|
+
*/
|
|
100
|
+
payment?: import('./payment').PublishPaymentConfig;
|
|
94
101
|
/**
|
|
95
102
|
* EntryPoint v0.8 bundler for the permissionless EIP-7702 `SeedTxSender` used by non-Thirdweb
|
|
96
103
|
* wallets. Setting it switches `accountMode` to `eip7702`. Not used by Thirdweb wallets: a local
|
|
@@ -99,7 +106,8 @@ export interface PublishConfig {
|
|
|
99
106
|
*/
|
|
100
107
|
bundlerUrl?: string;
|
|
101
108
|
/**
|
|
102
|
-
* Paymaster / sponsorship endpoint for permissionless EIP-7702 sends.
|
|
109
|
+
* Paymaster / sponsorship endpoint for permissionless EIP-7702 sends. Defaults to `bundlerUrl`,
|
|
110
|
+
* so the bundler is asked to sponsor; set `payment: { gas: 'user' }` to send without a paymaster.
|
|
103
111
|
*/
|
|
104
112
|
paymasterUrl?: string;
|
|
105
113
|
/**
|
|
@@ -192,6 +200,8 @@ export interface PublishConfig {
|
|
|
192
200
|
signArweaveTransactions?: (uploads: SerializedPublishUpload[]) => Promise<ArweaveTransactionInfoResult[]>;
|
|
193
201
|
/**
|
|
194
202
|
* Optional fallback: Arweave JWK for in-process signing (non-bundler path). Prefer passing at createPublish time.
|
|
203
|
+
* A publish restored after a reload never has the per-publish JWK (it is not saved to the
|
|
204
|
+
* database), so it signs with this one, or fails at creatingArweaveTransactions without it.
|
|
195
205
|
*/
|
|
196
206
|
arweaveJwk?: {
|
|
197
207
|
kty: string;
|
|
@@ -223,6 +233,11 @@ export interface PublishConfig {
|
|
|
223
233
|
* Per-publish {@link CreatePublishOptions.onPublished} overrides this when set.
|
|
224
234
|
*/
|
|
225
235
|
onPublished?: import('./services/publishedBy').OnPublishedCallback;
|
|
236
|
+
/**
|
|
237
|
+
* Approves each publish before it spends anything; return `false` to refuse, or `{ token }` to
|
|
238
|
+
* send a token to the upload API with the publish's requests. See {@link AuthorizePublish}.
|
|
239
|
+
*/
|
|
240
|
+
authorizePublish?: import('./authorization').AuthorizePublish;
|
|
226
241
|
}
|
|
227
242
|
/** Options passed at createPublish time. Signers here override config fallbacks. */
|
|
228
243
|
export interface CreatePublishOptions {
|
|
@@ -237,7 +252,11 @@ export interface CreatePublishOptions {
|
|
|
237
252
|
dataItemSigner?: ethers.Wallet | import('./helpers/seedSigner').SeedSigner;
|
|
238
253
|
/** Required when NOT useArweaveBundler: sign Arweave transactions */
|
|
239
254
|
signArweaveTransactions?: (uploads: SerializedPublishUpload[]) => Promise<ArweaveTransactionInfoResult[]>;
|
|
240
|
-
/**
|
|
255
|
+
/**
|
|
256
|
+
* Required when NOT useArweaveBundler: JWK for in-process signing. Kept in memory only; it is
|
|
257
|
+
* stripped from the saved publish snapshot, so a publish resumed after a reload falls back to
|
|
258
|
+
* {@link PublishConfig.arweaveJwk}.
|
|
259
|
+
*/
|
|
241
260
|
arweaveJwk?: {
|
|
242
261
|
kty: string;
|
|
243
262
|
n: string;
|
|
@@ -260,6 +279,8 @@ export interface CreatePublishOptions {
|
|
|
260
279
|
* Overrides {@link PublishConfig.onPublished} when both are set.
|
|
261
280
|
*/
|
|
262
281
|
onPublished?: import('./services/publishedBy').OnPublishedCallback;
|
|
282
|
+
/** Overrides {@link PublishConfig.authorizePublish} for this publish. */
|
|
283
|
+
authorizePublish?: import('./authorization').AuthorizePublish;
|
|
263
284
|
}
|
|
264
285
|
/**
|
|
265
286
|
* Internal: Set config ref. Called by PublishProvider on mount or initPublish.
|
|
@@ -317,7 +338,7 @@ export type ResolvedThirdwebWalletOptions = {
|
|
|
317
338
|
modularWalletMode: 'EIP7702' | 'EOA';
|
|
318
339
|
};
|
|
319
340
|
/** Applies defaults to {@link PublishConfig.thirdweb}. */
|
|
320
|
-
export declare function resolveThirdwebWalletOptions(config: Pick<PublishConfig, 'thirdweb'> | null | undefined): ResolvedThirdwebWalletOptions;
|
|
341
|
+
export declare function resolveThirdwebWalletOptions(config: Pick<PublishConfig, 'thirdweb' | 'payment'> | null | undefined): ResolvedThirdwebWalletOptions;
|
|
321
342
|
/**
|
|
322
343
|
* Returns the resolved publish config: defaults, env-driven fields, and
|
|
323
344
|
* {@link ResolvedPublishConfig.autoDeployEip7702ModularAccount}.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/{ensureAutomationSessionKey-CvUntLne.js → ensureAutomationSessionKey-DITIsceC.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import {
|
|
3
|
-
import { d as u, p as d } from "./publishAuthorization-
|
|
2
|
+
import { H as t, Kt as n, Vt as r, Wt as i, Xt as a, gt as o, nt as s, qt as c, t as l } from "./chainConfig-BHTH_BGB.js";
|
|
3
|
+
import { d as u, p as d } from "./publishAuthorization-CZyvsNGG.js";
|
|
4
4
|
import { getContract as f, sendTransaction as p } from "thirdweb";
|
|
5
5
|
import { addSessionKey as m, removeSessionKey as h, shouldUpdateSessionKey as g } from "thirdweb/extensions/erc4337";
|
|
6
6
|
//#region src/helpers/ensureAutomationSessionKey.ts
|
|
@@ -10,74 +10,74 @@ var _ = /* @__PURE__ */ e({
|
|
|
10
10
|
removeAutomationSessionKey: () => C
|
|
11
11
|
}), v = () => `Could not connect the managed publishing account to authorize an automation session key on ${l()}. Reconnect and try again.`, y = () => `Could not authorize the automation session key on your publishing account on ${l()}.`, b = () => `Could not remove the automation session key from your publishing account on ${l()}.`;
|
|
12
12
|
async function x(e) {
|
|
13
|
-
let
|
|
14
|
-
await
|
|
15
|
-
client:
|
|
16
|
-
chain:
|
|
13
|
+
let n = t();
|
|
14
|
+
await n.autoConnect({
|
|
15
|
+
client: s(),
|
|
16
|
+
chain: o()
|
|
17
17
|
});
|
|
18
|
-
let
|
|
19
|
-
if (!
|
|
20
|
-
return
|
|
18
|
+
let r = n.getAccount();
|
|
19
|
+
if (!r) throw new a(v(), "MODULAR_SIGNER_ACTIVATION_FAILED", e);
|
|
20
|
+
return r;
|
|
21
21
|
}
|
|
22
22
|
async function S(e) {
|
|
23
|
-
let { managedAddress: t, sessionKeyAddress:
|
|
24
|
-
client:
|
|
25
|
-
chain:
|
|
23
|
+
let { managedAddress: t, sessionKeyAddress: r, expiresAt: i } = e, l = await x(t), h = f({
|
|
24
|
+
client: s(),
|
|
25
|
+
chain: o(),
|
|
26
26
|
address: t
|
|
27
|
-
}), _ = d(u({ expiresAt:
|
|
27
|
+
}), _ = d(u({ expiresAt: i })), v = !1;
|
|
28
28
|
try {
|
|
29
29
|
v = await g({
|
|
30
30
|
accountContract: h,
|
|
31
|
-
sessionKeyAddress:
|
|
31
|
+
sessionKeyAddress: r,
|
|
32
32
|
newPermissions: _
|
|
33
33
|
});
|
|
34
34
|
} catch (e) {
|
|
35
|
-
throw new
|
|
35
|
+
throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
|
|
36
36
|
}
|
|
37
37
|
if (v) try {
|
|
38
38
|
let e = m({
|
|
39
39
|
contract: h,
|
|
40
40
|
account: l,
|
|
41
|
-
sessionKeyAddress:
|
|
41
|
+
sessionKeyAddress: r,
|
|
42
42
|
permissions: _
|
|
43
43
|
}), t = await p({
|
|
44
44
|
account: l,
|
|
45
45
|
transaction: e
|
|
46
46
|
});
|
|
47
|
-
await
|
|
47
|
+
await c(t.transactionHash);
|
|
48
48
|
} catch (e) {
|
|
49
|
-
throw new
|
|
49
|
+
throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
|
|
50
50
|
}
|
|
51
|
-
if (!await
|
|
51
|
+
if (!await n(() => w(t, r), Boolean, { attempts: v ? 5 : 1 })) throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", t);
|
|
52
52
|
}
|
|
53
53
|
async function C(e) {
|
|
54
|
-
let { managedAddress: t, sessionKeyAddress: n } = e,
|
|
55
|
-
client:
|
|
56
|
-
chain:
|
|
54
|
+
let { managedAddress: t, sessionKeyAddress: n } = e, r = await x(t), i = f({
|
|
55
|
+
client: s(),
|
|
56
|
+
chain: o(),
|
|
57
57
|
address: t
|
|
58
58
|
});
|
|
59
59
|
try {
|
|
60
60
|
let e = h({
|
|
61
|
-
contract:
|
|
62
|
-
account:
|
|
61
|
+
contract: i,
|
|
62
|
+
account: r,
|
|
63
63
|
sessionKeyAddress: n
|
|
64
64
|
}), t = await p({
|
|
65
|
-
account:
|
|
65
|
+
account: r,
|
|
66
66
|
transaction: e
|
|
67
67
|
});
|
|
68
|
-
await
|
|
68
|
+
await c(t.transactionHash);
|
|
69
69
|
} catch (e) {
|
|
70
|
-
throw new
|
|
70
|
+
throw new a(b(), "MODULAR_SIGNER_ACTIVATION_FAILED", t, e);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
async function w(e,
|
|
73
|
+
async function w(e, t) {
|
|
74
74
|
try {
|
|
75
|
-
return await
|
|
75
|
+
return await i(e) ? await r(e, t) : !1;
|
|
76
76
|
} catch (t) {
|
|
77
|
-
throw new
|
|
77
|
+
throw new a(y(), "MODULAR_SIGNER_ACTIVATION_FAILED", e, t);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
//#endregion
|
|
81
81
|
export { C as i, _ as n, w as r, S as t };
|
|
82
82
|
|
|
83
|
-
//# sourceMappingURL=ensureAutomationSessionKey-
|
|
83
|
+
//# sourceMappingURL=ensureAutomationSessionKey-DITIsceC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureAutomationSessionKey-
|
|
1
|
+
{"version":3,"file":"ensureAutomationSessionKey-DITIsceC.js","names":["__exportAll","getManagedAccountWallet","readUntil","readIsActiveSigner","isContractDeployed","ManagedAccountPublishError","getPublishThirdwebChain","getClient","waitForPublishReceipt","getPublishChainName","buildAutomationSessionKeyPermissions","toThirdwebSessionKeyPermissions","ensureAutomationSessionKey_exports","ensureAutomationSessionKey","isAutomationSessionActive","removeAutomationSessionKey","MSG_UNAVAILABLE","MSG_ACTIVATION_FAILED","MSG_REMOVAL_FAILED","getManagedAccountForSessionKeyAdmin","managedWallet","managedAccount","managedAddress","params","accountContract","getContract","permissions","shouldUpdate","shouldUpdateSessionKey","cause","tx","addSessionKey","result","sendTransaction","sessionKeyAddress","removeSessionKey"],"sources":["../src/helpers/ensureAutomationSessionKey.ts"],"sourcesContent":["import { getContract, sendTransaction } from 'thirdweb'\nimport {\n addSessionKey,\n removeSessionKey,\n shouldUpdateSessionKey,\n} from 'thirdweb/extensions/erc4337'\nimport type { Address } from 'viem'\nimport { ManagedAccountPublishError } from '../errors'\nimport { isContractDeployed, readUntil, waitForPublishReceipt } from './chainClient'\nimport { readIsActiveSigner } from './contracts'\nimport {\n buildAutomationSessionKeyPermissions,\n toThirdwebSessionKeyPermissions,\n} from './automationSessionKeyPermissions'\nimport { getClient, getManagedAccountWallet } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\nimport { getPublishChainName } from './chainConfig'\n\nconst MSG_UNAVAILABLE = () =>\n `Could not connect the managed publishing account to authorize an automation session key on ${getPublishChainName()}. Reconnect and try again.`\nconst MSG_ACTIVATION_FAILED = () =>\n `Could not authorize the automation session key on your publishing account on ${getPublishChainName()}.`\nconst MSG_REMOVAL_FAILED = () =>\n `Could not remove the automation session key from your publishing account on ${getPublishChainName()}.`\n\nasync function getManagedAccountForSessionKeyAdmin(managedAddress: string) {\n const managedWallet = getManagedAccountWallet()\n await managedWallet.autoConnect({ client: getClient(), chain: getPublishThirdwebChain() })\n const managedAccount = managedWallet.getAccount()\n if (!managedAccount) {\n throw new ManagedAccountPublishError(\n MSG_UNAVAILABLE(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n return managedAccount\n}\n\n/**\n * Ensures `sessionKeyAddress` is an active automation session signer on the ManagedAccount\n * with **executor-module-only** approved targets. Signed by the managed EIP-4337 wallet (user).\n */\nexport async function ensureAutomationSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n /** Unix seconds end time for the session key (optional). */\n expiresAt?: number\n}): Promise<void> {\n const { managedAddress, sessionKeyAddress, expiresAt } = params\n const managedAccount = await getManagedAccountForSessionKeyAdmin(managedAddress)\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n const permissions = toThirdwebSessionKeyPermissions(\n buildAutomationSessionKeyPermissions({ expiresAt }),\n )\n\n let shouldUpdate = false\n try {\n shouldUpdate = await shouldUpdateSessionKey({\n accountContract,\n sessionKeyAddress,\n newPermissions: permissions,\n })\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n\n if (shouldUpdate) {\n try {\n const tx = addSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress,\n permissions,\n })\n const result = await sendTransaction({ account: managedAccount, transaction: tx })\n await waitForPublishReceipt(result.transactionHash as `0x${string}`)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n }\n\n // Right after addSessionKey, a lagging RPC node can still report the key inactive.\n const active = await readUntil(\n () => isAutomationSessionActive(managedAddress, sessionKeyAddress),\n Boolean,\n { attempts: shouldUpdate ? 5 : 1 },\n )\n if (!active) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n )\n }\n}\n\n/**\n * Removes an automation session key from the ManagedAccount (user-signed via managed wallet).\n */\nexport async function removeAutomationSessionKey(params: {\n managedAddress: string\n sessionKeyAddress: string\n}): Promise<void> {\n const { managedAddress, sessionKeyAddress } = params\n const managedAccount = await getManagedAccountForSessionKeyAdmin(managedAddress)\n\n const accountContract = getContract({\n client: getClient(),\n chain: getPublishThirdwebChain(),\n address: managedAddress,\n })\n\n try {\n const tx = removeSessionKey({\n contract: accountContract,\n account: managedAccount,\n sessionKeyAddress,\n })\n const result = await sendTransaction({ account: managedAccount, transaction: tx })\n await waitForPublishReceipt(result.transactionHash as `0x${string}`)\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_REMOVAL_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n}\n\n/**\n * True when `sessionKeyAddress` is an active signer on the ManagedAccount.\n * Returns `false` when the ManagedAccount has no bytecode (undeployed ≠ unauthorized).\n * Throws when bytecode or `isActiveSigner` cannot be read on a live account (RPC / decode),\n * so unattended automation does not silently fall through to in-app bootstrap.\n */\nexport async function isAutomationSessionActive(\n managedAddress: string,\n sessionKeyAddress: string,\n): Promise<boolean> {\n try {\n if (!(await isContractDeployed(managedAddress))) {\n return false\n }\n return await readIsActiveSigner(\n managedAddress as Address,\n sessionKeyAddress as Address,\n )\n } catch (cause) {\n throw new ManagedAccountPublishError(\n MSG_ACTIVATION_FAILED(),\n 'MODULAR_SIGNER_ACTIVATION_FAILED',\n managedAddress,\n cause,\n )\n }\n}\n"],"mappings":";;;;;;;;;;IAkBMgB,UACJ,8FAA8FP,EAAoB,EAAE,6BAChHQ,UACJ,gFAAgFR,EAAoB,EAAE,IAClGS,UACJ,+EAA+ET,EAAoB,EAAE;AAEvG,eAAeU,EAAoC,GAAwB;CACzE,IAAMC,IAAgBnB,EAAwB;CAC9C,MAAMmB,EAAc,YAAY;EAAE,QAAQb,EAAU;EAAG,OAAOD,EAAwB;CAAE,CAAC;CACzF,IAAMe,IAAiBD,EAAc,WAAW;CAChD,IAAI,CAACC,GACH,MAAM,IAAIhB,EACRW,EAAgB,GAChB,oCACAM,CACF;CAEF,OAAOD;AACT;AAMA,eAAsBR,EAA2B,GAK/B;CAChB,IAAM,EAAE,mBAAgB,sBAAmB,iBAAcU,GACnDF,IAAiB,MAAMF,EAAoCG,CAAc,GAEzEE,IAAkBC,EAAY;EAClC,QAAQlB,EAAU;EAClB,OAAOD,EAAwB;EAC/B,SAASgB;CACX,CAAC,GACKI,IAAcf,EAClBD,EAAqC,EAAE,aAAU,CAAC,CACpD,GAEIiB,IAAe;CACnB,IAAI;EACF,IAAe,MAAMC,EAAuB;GAC1C;GACA;GACA,gBAAgBF;EAClB,CAAC;CACH,SAASG,GAAO;EACd,MAAM,IAAIxB,EACRY,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;CAEA,IAAIF,GACF,IAAI;EACF,IAAMG,IAAKC,EAAc;GACvB,UAAUP;GACV,SAASH;GACT;GACA;EACF,CAAC,GACKW,IAAS,MAAMC,EAAgB;GAAE,SAASZ;GAAgB,aAAaS;EAAG,CAAC;EACjF,MAAMtB,EAAsBwB,EAAO,eAAgC;CACrE,SAASH,GAAO;EACd,MAAM,IAAIxB,EACRY,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;CASF,IAAI,CAAC,MALgB3B,QACbY,EAA0BQ,GAAgBY,CAAiB,GACjE,SACA,EAAE,UAAUP,IAAe,IAAI,EAAE,CACnC,GAEE,MAAM,IAAItB,EACRY,EAAsB,GACtB,oCACAK,CACF;AAEJ;AAKA,eAAsBP,EAA2B,GAG/B;CAChB,IAAM,EAAE,mBAAgB,yBAAsBQ,GACxCF,IAAiB,MAAMF,EAAoCG,CAAc,GAEzEE,IAAkBC,EAAY;EAClC,QAAQlB,EAAU;EAClB,OAAOD,EAAwB;EAC/B,SAASgB;CACX,CAAC;CAED,IAAI;EACF,IAAMQ,IAAKK,EAAiB;GAC1B,UAAUX;GACV,SAASH;GACT;EACF,CAAC,GACKW,IAAS,MAAMC,EAAgB;GAAE,SAASZ;GAAgB,aAAaS;EAAG,CAAC;EACjF,MAAMtB,EAAsBwB,EAAO,eAAgC;CACrE,SAASH,GAAO;EACd,MAAM,IAAIxB,EACRa,EAAmB,GACnB,oCACAI,GACAO,CACF;CACF;AACF;AAQA,eAAsBf,EACpB,GACA,GACkB;CAClB,IAAI;EAIF,OAHM,MAAMV,EAAmBkB,CAAc,IAGtC,MAAMnB,EACXmB,GACAY,CACF,IALS;CAMX,SAASL,GAAO;EACd,MAAM,IAAIxB,EACRY,EAAsB,GACtB,oCACAK,GACAO,CACF;CACF;AACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
+
import { H as t, X as n, Xt as r, gt as i, ht as a, nt as o, t as s, w as c } from "./chainConfig-BHTH_BGB.js";
|
|
3
|
+
import { t as l } from "./managedAccountAdmin-CSBb6NaZ.js";
|
|
4
|
+
//#region src/helpers/ensureModularPublishBootstrap.ts
|
|
5
|
+
var u = /* @__PURE__ */ e({ ensureModularPublishBootstrap: () => d });
|
|
6
|
+
async function d(e) {
|
|
7
|
+
n();
|
|
8
|
+
let u = t();
|
|
9
|
+
await u.autoConnect({
|
|
10
|
+
client: o(),
|
|
11
|
+
chain: i()
|
|
12
|
+
});
|
|
13
|
+
let d = u.getAccount();
|
|
14
|
+
if (!d) throw new r(`Could not connect the managed publishing account on ${s()}. Reconnect with the same sign-in method and try again.`, "MANAGED_ACCOUNT_UNAVAILABLE", e);
|
|
15
|
+
if (d.address.toLowerCase() !== e.toLowerCase()) throw new r(`The connected managed account (${d.address}) is not the publishing account ${e}. Reconnect with the sign-in method that owns it.`, "MANAGED_ACCOUNT_UNAVAILABLE", e);
|
|
16
|
+
return await c(e, async () => a(await l(e))), d;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { u as n, d as t };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=ensureModularPublishBootstrap-sAAJn75c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureModularPublishBootstrap-
|
|
1
|
+
{"version":3,"file":"ensureModularPublishBootstrap-sAAJn75c.js","names":["__exportAll","getManagedAccountWallet","syncPublishInAppAuthToken","ManagedAccountPublishError","getPublishThirdwebChain","fromThirdwebAccount","getClient","getPublishChainName","ensureManagedAccountEasConfigured","getManagedAccountAdmin","ensureModularPublishBootstrap_exports","ensureModularPublishBootstrap","managedWallet","managedAccount","managedAddress"],"sources":["../src/helpers/ensureModularPublishBootstrap.ts"],"sourcesContent":["import type { Account } from 'thirdweb/wallets'\nimport { ManagedAccountPublishError } from '../errors'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { getPublishChainName } from './chainConfig'\nimport { ensureManagedAccountEasConfigured } from './ensureManagedAccountEasConfigured'\nimport { getManagedAccountAdmin } from './managedAccountAdmin'\nimport { getClient, getManagedAccountWallet, syncPublishInAppAuthToken } from './thirdweb'\nimport { getPublishThirdwebChain } from './thirdwebChain'\n\n/**\n * Returns the account that sends interactive `multiPublish`: the user's managed (EIP-4337) smart\n * account. Its UserOps execute `multiPublish` on the account itself, a self-call the Seed\n * extension accepts; session keys and other non-admin callers are rejected with `Unauthorized`.\n *\n * Also checks the account's EAS pointer. Only pre-rollout accounts that report no EAS get\n * `setEas`, sent by the admin EOA.\n */\nexport async function ensureModularPublishBootstrap(managedAddress: string): Promise<Account> {\n syncPublishInAppAuthToken()\n const managedWallet = getManagedAccountWallet()\n await managedWallet.autoConnect({ client: getClient(), chain: getPublishThirdwebChain() })\n const managedAccount = managedWallet.getAccount()\n if (!managedAccount) {\n throw new ManagedAccountPublishError(\n `Could not connect the managed publishing account on ${getPublishChainName()}. Reconnect with the same sign-in method and try again.`,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n managedAddress,\n )\n }\n if (managedAccount.address.toLowerCase() !== managedAddress.toLowerCase()) {\n throw new ManagedAccountPublishError(\n `The connected managed account (${managedAccount.address}) is not the publishing account ${managedAddress}. Reconnect with the sign-in method that owns it.`,\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n managedAddress,\n )\n }\n\n await ensureManagedAccountEasConfigured(managedAddress, async () =>\n fromThirdwebAccount(await getManagedAccountAdmin(managedAddress)),\n )\n return managedAccount\n}\n"],"mappings":";;;;;AAiBA,eAAsBW,EAA8B,GAA0C;CAC5F,EAA0B;CAC1B,IAAMC,IAAgBX,EAAwB;CAC9C,MAAMW,EAAc,YAAY;EAAE,QAAQN,EAAU;EAAG,OAAOF,EAAwB;CAAE,CAAC;CACzF,IAAMS,IAAiBD,EAAc,WAAW;CAChD,IAAI,CAACC,GACH,MAAM,IAAIV,EACR,uDAAuDI,EAAoB,EAAE,0DAC7E,+BACAO,CACF;CAEF,IAAID,EAAe,QAAQ,YAAY,MAAMC,EAAe,YAAY,GACtE,MAAM,IAAIX,EACR,kCAAkCU,EAAe,QAAQ,kCAAkCC,EAAe,oDAC1G,+BACAA,CACF;CAMF,OAHA,MAAMN,EAAkCM,GAAgB,YACtDT,EAAoB,MAAMI,EAAuBK,CAAc,CAAC,CAClE,GACOD;AACT"}
|
package/dist/{ensureSmartWalletThenPublish-C_iS5Wb-.js → ensureSmartWalletThenPublish-hRJ9T0f8.js}
RENAMED
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
import {
|
|
2
|
+
import { B as t, Ct as n, V as r, Xt as i, Y as a, a as o, gt as s, ht as c, p as l, t as u, wt as d } from "./chainConfig-BHTH_BGB.js";
|
|
3
3
|
import { ethers as f } from "ethers";
|
|
4
4
|
//#region src/helpers/ensureSmartWalletThenPublish.ts
|
|
5
5
|
var p = /* @__PURE__ */ e({ ensureSmartWalletThenPublish: () => _ }), m = "A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.", h = () => `Could not connect the managed publishing account on ${u()}. Reconnect with the same sign-in method and try again.`;
|
|
6
6
|
function g(e) {
|
|
7
|
-
if (e) return e instanceof f.Wallet ? e :
|
|
7
|
+
if (e) return e instanceof f.Wallet ? e : n(e) ? e.signer : d(e) ? e : c(e).signer;
|
|
8
8
|
}
|
|
9
|
-
async function _(e,
|
|
10
|
-
let f =
|
|
9
|
+
async function _(e, n, u, d) {
|
|
10
|
+
let f = o(), p = await u();
|
|
11
11
|
if (!p || !p.trim()) return { outcome: "no_address" };
|
|
12
12
|
if (f.useModularExecutor) {
|
|
13
|
-
let
|
|
14
|
-
if (!
|
|
13
|
+
let n = await r();
|
|
14
|
+
if (!n) return {
|
|
15
15
|
outcome: "managed_not_ready",
|
|
16
|
-
error: new
|
|
16
|
+
error: new i(m, "MANAGED_ACCOUNT_UNAVAILABLE")
|
|
17
17
|
};
|
|
18
18
|
let a;
|
|
19
19
|
try {
|
|
20
|
-
a = await
|
|
20
|
+
a = await t(s());
|
|
21
21
|
} catch (e) {
|
|
22
22
|
return {
|
|
23
23
|
outcome: "managed_not_ready",
|
|
24
|
-
error: new
|
|
24
|
+
error: new i(h(), "MANAGED_ACCOUNT_UNAVAILABLE", void 0, e)
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
let o =
|
|
27
|
+
let o = c(n);
|
|
28
28
|
return {
|
|
29
29
|
outcome: "started",
|
|
30
|
-
started:
|
|
30
|
+
started: l.createPublish(e, a, o, {
|
|
31
31
|
...d,
|
|
32
32
|
dataItemSigner: g(d?.dataItemSigner) ?? o.signer
|
|
33
33
|
})
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
let _ = await
|
|
36
|
+
let _ = await a(n ?? null);
|
|
37
37
|
if ("address" in _) {
|
|
38
|
-
let t =
|
|
38
|
+
let t = c(_.account);
|
|
39
39
|
return {
|
|
40
40
|
outcome: "started",
|
|
41
|
-
started:
|
|
41
|
+
started: l.createPublish(e, _.address, t, {
|
|
42
42
|
...d,
|
|
43
43
|
dataItemSigner: g(d?.dataItemSigner) ?? t.signer
|
|
44
44
|
})
|
|
@@ -49,4 +49,4 @@ async function _(e, o, u, d) {
|
|
|
49
49
|
//#endregion
|
|
50
50
|
export { p as n, _ as t };
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=ensureSmartWalletThenPublish-
|
|
52
|
+
//# sourceMappingURL=ensureSmartWalletThenPublish-hRJ9T0f8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSmartWalletThenPublish-
|
|
1
|
+
{"version":3,"file":"ensureSmartWalletThenPublish-hRJ9T0f8.js","names":["__exportAll","getConnectedManagedAccountAddress","isPublishWallet","getConnectedModularAccount","ManagedAccountPublishError","resolveSmartWalletForPublish","getPublishConfig","getPublishThirdwebChain","fromThirdwebAccount","PublishManager","getPublishChainName","isSeedSigner","ensureSmartWalletThenPublish_exports","ensureSmartWalletThenPublish","MSG_NO_ACCOUNT_MODULAR","MSG_MANAGED_UNAVAILABLE","coerceDataItemSigner","signer","ethers","config","address","getAddress","modularAccount","managedAddress","cause","wallet","item","options","resolved","activeAccount"],"sources":["../src/helpers/ensureSmartWalletThenPublish.ts"],"sourcesContent":["import type { Item } from '@seedprotocol/sdk'\nimport type { Account } from 'thirdweb/wallets'\nimport {\n getConnectedManagedAccountAddress,\n getConnectedModularAccount,\n resolveSmartWalletForPublish,\n} from './thirdweb'\nimport { fromThirdwebAccount } from './adapters/thirdwebAccount'\nimport { isPublishWallet, isSeedSigner, type PublishWallet, type SeedSigner } from './seedSigner'\nimport { ethers } from 'ethers'\nimport { PublishManager } from '../services/publishManager'\nimport type { CreatePublishOptions } from '../config'\nimport { getPublishConfig } from '../config'\nimport { ManagedAccountPublishError } from '../errors'\nimport { getPublishThirdwebChain } from './thirdwebChain'\nimport { getPublishChainName } from './chainConfig'\n\nexport type EnsureSmartWalletResult =\n | { outcome: 'started'; started: import('./ensureWalletThenPublish').PublishStarted }\n | { outcome: 'no_address' }\n | { outcome: 'needs_deploy' }\n | { outcome: 'managed_not_ready'; error: ManagedAccountPublishError }\n\nconst MSG_NO_ACCOUNT_MODULAR =\n 'A connected wallet is required for publishing with the modular executor. Connect your wallet and try again.'\n\nconst MSG_MANAGED_UNAVAILABLE = () =>\n `Could not connect the managed publishing account on ${getPublishChainName()}. Reconnect with the same sign-in method and try again.`\n\nfunction coerceDataItemSigner(\n signer: CreatePublishOptions['dataItemSigner'] | Account | SeedSigner | PublishWallet | undefined,\n): CreatePublishOptions['dataItemSigner'] {\n if (!signer) return undefined\n if (signer instanceof ethers.Wallet) return signer\n if (isPublishWallet(signer)) return signer.signer\n if (isSeedSigner(signer)) return signer\n return fromThirdwebAccount(signer as Account).signer\n}\n\n/**\n * Thirdweb path: resolves the smart wallet for the current account; if deployed, starts publish.\n * Prefer {@link ensureWalletThenPublish} for vendor-neutral entry.\n */\nexport async function ensureSmartWalletThenPublish(\n item: Item<any>,\n activeAccount: Account | null | undefined,\n getAddress: () => Promise<string | null>,\n options?: CreatePublishOptions,\n): Promise<EnsureSmartWalletResult> {\n const config = getPublishConfig()\n const address = await getAddress()\n if (!address || !address.trim()) {\n return { outcome: 'no_address' }\n }\n\n if (config.useModularExecutor) {\n const modularAccount = await getConnectedModularAccount()\n if (!modularAccount) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(MSG_NO_ACCOUNT_MODULAR, 'MANAGED_ACCOUNT_UNAVAILABLE'),\n }\n }\n\n let managedAddress: string\n try {\n managedAddress = await getConnectedManagedAccountAddress(getPublishThirdwebChain())\n } catch (cause) {\n return {\n outcome: 'managed_not_ready',\n error: new ManagedAccountPublishError(\n MSG_MANAGED_UNAVAILABLE(),\n 'MANAGED_ACCOUNT_UNAVAILABLE',\n undefined,\n cause,\n ),\n }\n }\n\n const wallet = fromThirdwebAccount(modularAccount)\n const started = PublishManager.createPublish(item, managedAddress, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started', started }\n }\n\n const resolved = await resolveSmartWalletForPublish(activeAccount ?? null)\n if ('address' in resolved) {\n const wallet = fromThirdwebAccount(resolved.account)\n const started = PublishManager.createPublish(item, resolved.address, wallet, {\n ...options,\n dataItemSigner: coerceDataItemSigner(options?.dataItemSigner) ?? wallet.signer,\n })\n return { outcome: 'started', started }\n }\n return { outcome: 'needs_deploy' }\n}\n"],"mappings":";;;;sEAuBMc,IACJ,+GAEIC,UACJ,uDAAuDL,EAAoB,EAAE;AAE/E,SAASM,EACP,GACwC;CACxC,IAAKC,GAIL,OAHIA,aAAkBC,EAAO,SAAeD,IACxCf,EAAgBe,CAAM,IAAUA,EAAO,SACvCN,EAAaM,CAAM,IAAUA,IAC1BT,EAAoBS,CAAiB,CAAC,CAAC;AAChD;AAMA,eAAsBJ,EACpB,GACA,GACA,GACA,GACkC;CAClC,IAAMM,IAASb,EAAiB,GAC1Bc,IAAU,MAAMC,EAAW;CACjC,IAAI,CAACD,KAAW,CAACA,EAAQ,KAAK,GAC5B,OAAO,EAAE,SAAS,aAAa;CAGjC,IAAID,EAAO,oBAAoB;EAC7B,IAAMG,IAAiB,MAAMnB,EAA2B;EACxD,IAAI,CAACmB,GACH,OAAO;GACL,SAAS;GACT,OAAO,IAAIlB,EAA2BU,GAAwB,6BAA6B;EAC7F;EAGF,IAAIS;EACJ,IAAI;GACF,IAAiB,MAAMtB,EAAkCM,EAAwB,CAAC;EACpF,SAASiB,GAAO;GACd,OAAO;IACL,SAAS;IACT,OAAO,IAAIpB,EACTW,EAAwB,GACxB,+BACA,KAAA,GACAS,CACF;GACF;EACF;EAEA,IAAMC,IAASjB,EAAoBc,CAAc;EAKjD,OAAO;GAAE,SAAS;GAAW,SAJbb,EAAe,cAAciB,GAAMH,GAAgBE,GAAQ;IACzE,GAAGE;IACH,gBAAgBX,EAAqBW,GAAS,cAAc,KAAKF,EAAO;GAC1E,CAC6B;EAAQ;CACvC;CAEA,IAAMG,IAAW,MAAMvB,EAA6BwB,KAAiB,IAAI;CACzE,IAAI,aAAaD,GAAU;EACzB,IAAMH,IAASjB,EAAoBoB,EAAS,OAAO;EAKnD,OAAO;GAAE,SAAS;GAAW,SAJbnB,EAAe,cAAciB,GAAME,EAAS,SAASH,GAAQ;IAC3E,GAAGE;IACH,gBAAgBX,EAAqBW,GAAS,cAAc,KAAKF,EAAO;GAC1E,CAC6B;EAAQ;CACvC;CACA,OAAO,EAAE,SAAS,eAAe;AACnC"}
|
|
@@ -139,6 +139,48 @@ export declare const easAbi: readonly [{
|
|
|
139
139
|
}];
|
|
140
140
|
}];
|
|
141
141
|
readonly outputs: readonly [];
|
|
142
|
+
}, {
|
|
143
|
+
readonly type: "function";
|
|
144
|
+
readonly name: "getAttestation";
|
|
145
|
+
readonly stateMutability: "view";
|
|
146
|
+
readonly inputs: readonly [{
|
|
147
|
+
readonly name: "uid";
|
|
148
|
+
readonly type: "bytes32";
|
|
149
|
+
}];
|
|
150
|
+
readonly outputs: readonly [{
|
|
151
|
+
readonly type: "tuple";
|
|
152
|
+
readonly components: readonly [{
|
|
153
|
+
readonly name: "uid";
|
|
154
|
+
readonly type: "bytes32";
|
|
155
|
+
}, {
|
|
156
|
+
readonly name: "schema";
|
|
157
|
+
readonly type: "bytes32";
|
|
158
|
+
}, {
|
|
159
|
+
readonly name: "time";
|
|
160
|
+
readonly type: "uint64";
|
|
161
|
+
}, {
|
|
162
|
+
readonly name: "expirationTime";
|
|
163
|
+
readonly type: "uint64";
|
|
164
|
+
}, {
|
|
165
|
+
readonly name: "revocationTime";
|
|
166
|
+
readonly type: "uint64";
|
|
167
|
+
}, {
|
|
168
|
+
readonly name: "refUID";
|
|
169
|
+
readonly type: "bytes32";
|
|
170
|
+
}, {
|
|
171
|
+
readonly name: "recipient";
|
|
172
|
+
readonly type: "address";
|
|
173
|
+
}, {
|
|
174
|
+
readonly name: "attester";
|
|
175
|
+
readonly type: "address";
|
|
176
|
+
}, {
|
|
177
|
+
readonly name: "revocable";
|
|
178
|
+
readonly type: "bool";
|
|
179
|
+
}, {
|
|
180
|
+
readonly name: "data";
|
|
181
|
+
readonly type: "bytes";
|
|
182
|
+
}];
|
|
183
|
+
}];
|
|
142
184
|
}, {
|
|
143
185
|
readonly type: "event";
|
|
144
186
|
readonly name: "Attested";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eas.d.ts","sourceRoot":"","sources":["../../../src/helpers/abi/eas.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjB,CAAA;AAWV,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"eas.d.ts","sourceRoot":"","sources":["../../../src/helpers/abi/eas.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjB,CAAA;AAWV,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkGT,CAAA"}
|
|
@@ -4,7 +4,10 @@ import { type SeedSigner, type SeedTxSender } from '../seedSigner';
|
|
|
4
4
|
export type CreatePermissionlessTxSenderOptions = {
|
|
5
5
|
signer: SeedSigner;
|
|
6
6
|
bundlerUrl: string;
|
|
7
|
+
/** Sponsoring paymaster. Defaults to `bundlerUrl`. */
|
|
7
8
|
paymasterUrl?: string;
|
|
9
|
+
/** `false` sends without a paymaster: the account pays its own gas. Default `true`. */
|
|
10
|
+
sponsored?: boolean;
|
|
8
11
|
};
|
|
9
12
|
/**
|
|
10
13
|
* Throws when the bundler lists its EntryPoints and v0.8 is not among them (e.g. a local twin's
|
|
@@ -14,7 +17,8 @@ export type CreatePermissionlessTxSenderOptions = {
|
|
|
14
17
|
*/
|
|
15
18
|
export declare function assertBundlerSupportsEntryPoint08(bundlerUrl: string): Promise<void>;
|
|
16
19
|
/**
|
|
17
|
-
*
|
|
20
|
+
* EIP-7702 `SeedTxSender` via permissionless `to7702SimpleSmartAccount`, sponsored by a paymaster
|
|
21
|
+
* unless `sponsored` is false.
|
|
18
22
|
* @throws when `bundlerUrl` reports no EntryPoint v0.8 support
|
|
19
23
|
*/
|
|
20
24
|
export declare function createPermissionlessTxSender(options: CreatePermissionlessTxSenderOptions): Promise<SeedTxSender>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissionlessTxSender.d.ts","sourceRoot":"","sources":["../../../src/helpers/adapters/permissionlessTxSender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,GAAG,EAAiC,MAAM,MAAM,CAAA;AACvE,OAAO,EAA4B,KAAK,IAAI,EAAE,MAAM,MAAM,CAAA;AAK1D,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAKtB,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"permissionlessTxSender.d.ts","sourceRoot":"","sources":["../../../src/helpers/adapters/permissionlessTxSender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,GAAG,EAAiC,MAAM,MAAM,CAAA;AACvE,OAAO,EAA4B,KAAK,IAAI,EAAE,MAAM,MAAM,CAAA;AAK1D,OAAO,EAEL,KAAK,UAAU,EAEf,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAKtB,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uFAAuF;IACvF,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAuBD;;;;;GAKG;AACH,wBAAsB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBzF;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED,KAAK,iBAAiB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,eAAe,EAAE,IAAI,CAAA;KAAE,CAAA;CAAE,CAAA;AAElG;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAYtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureWalletThenPublish.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureWalletThenPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"ensureWalletThenPublish.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureWalletThenPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAOrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAE3D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;AAErF,MAAM,MAAM,6BAA6B,GACrC;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAC/C;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GACzB;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,GACxB;IAAE,OAAO,EAAE,cAAc,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,0BAA0B,CAAA;CAAE,CAAA;AAYvE;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,6BAA6B,CAAC,CA2CxC"}
|
|
@@ -4,6 +4,11 @@ export type PublishWalletSession = PublishWallet & {
|
|
|
4
4
|
ownedAddresses?: string[];
|
|
5
5
|
/** Preferred publisher address for new seeds (defaults to signer.address). */
|
|
6
6
|
publisherAddress?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Admin (EOA) of the smart account this session publishes from, when there is one. Lets publish
|
|
9
|
+
* tell an undeployed smart account from an EOA, which both have no bytecode.
|
|
10
|
+
*/
|
|
11
|
+
adminAddress?: string;
|
|
7
12
|
};
|
|
8
13
|
/**
|
|
9
14
|
* Register the active publish wallet (EIP-1193, ethers, Thirdweb adapter, etc.).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishWalletRegistry.d.ts","sourceRoot":"","sources":["../../src/helpers/publishWalletRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"publishWalletRegistry.d.ts","sourceRoot":"","sources":["../../src/helpers/publishWalletRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAWD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAgB,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAE9D;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,IAAI,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,IAAI,YAAY,GAAG,IAAI,CAE3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRevokeAccount.d.ts","sourceRoot":"","sources":["../../src/helpers/resolveRevokeAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveRevokeAccount.d.ts","sourceRoot":"","sources":["../../src/helpers/resolveRevokeAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAa/C;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2DnB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal Turbo (ArDrive) client for user-paid storage: balances, prices, and uploads of data
|
|
3
|
+
* items the user's EVM key already signed. Raw HTTP rather than @ardrive/turbo-sdk, which would
|
|
4
|
+
* bring its own signers and a large dependency tree for four calls.
|
|
5
|
+
*/
|
|
6
|
+
export type TurboEndpoints = {
|
|
7
|
+
uploadUrl: string;
|
|
8
|
+
paymentUrl: string;
|
|
9
|
+
};
|
|
10
|
+
/** Turbo credits are denominated in winc (winston credits), like AR winston. */
|
|
11
|
+
export declare class InsufficientStorageCreditsError extends Error {
|
|
12
|
+
readonly address: string;
|
|
13
|
+
readonly requiredWinc: bigint | undefined;
|
|
14
|
+
readonly balanceWinc: bigint | undefined;
|
|
15
|
+
constructor(params: {
|
|
16
|
+
address: string;
|
|
17
|
+
requiredWinc?: bigint;
|
|
18
|
+
balanceWinc?: bigint;
|
|
19
|
+
detail?: string;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/** Spendable winc for an EVM address. An address Turbo has never seen has 0. */
|
|
23
|
+
export declare function getTurboBalanceWinc(endpoints: TurboEndpoints, address: string): Promise<bigint>;
|
|
24
|
+
/** winc Turbo charges to store `bytes`. */
|
|
25
|
+
export declare function getTurboPriceWinc(endpoints: TurboEndpoints, bytes: number): Promise<bigint>;
|
|
26
|
+
/** Largest data item Turbo stores for free, from `GET /v1/info` (0 when it doesn't say). */
|
|
27
|
+
export declare function getTurboFreeUploadLimitBytes(endpoints: TurboEndpoints): Promise<number>;
|
|
28
|
+
export type TurboUploadReceipt = {
|
|
29
|
+
id: string;
|
|
30
|
+
owner?: string;
|
|
31
|
+
winc?: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* POSTs one signed (signature type 3, Ethereum) data item. Turbo charges the signer, or first the
|
|
35
|
+
* `paidBy` addresses' shared credits.
|
|
36
|
+
* @throws InsufficientStorageCreditsError on HTTP 402
|
|
37
|
+
*/
|
|
38
|
+
export declare function uploadDataItemToTurbo(endpoints: TurboEndpoints, raw: Uint8Array, options: {
|
|
39
|
+
signerAddress: string;
|
|
40
|
+
paidBy?: string[];
|
|
41
|
+
}): Promise<TurboUploadReceipt>;
|
|
42
|
+
/** HTTP status of `GET /v1/tx/:id/status`: 200 when Turbo has the item, 404 when it doesn't. */
|
|
43
|
+
export declare function getTurboDataItemStatus(endpoints: TurboEndpoints, id: string): Promise<number>;
|
|
44
|
+
/**
|
|
45
|
+
* Throws {@link InsufficientStorageCreditsError} when `address` can't pay for `itemSizes`, before
|
|
46
|
+
* anything is uploaded. Items at or under Turbo's free size cost nothing. Shared credits
|
|
47
|
+
* (`paidBy`) aren't counted, so callers skip this check when `paidBy` is set.
|
|
48
|
+
*/
|
|
49
|
+
export declare function assertTurboCanPay(endpoints: TurboEndpoints, address: string, itemSizes: number[]): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* EVM address that signed an ANS-104 data item with signature type 3 (Ethereum): the owner
|
|
52
|
+
* field is the uncompressed secp256k1 public key. Returns undefined for other signature types.
|
|
53
|
+
*/
|
|
54
|
+
export declare function ethereumSignerOfDataItem(raw: Uint8Array): string | undefined;
|
|
55
|
+
//# sourceMappingURL=turbo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turbo.d.ts","sourceRoot":"","sources":["../../src/helpers/turbo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,gFAAgF;AAChF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;gBAE5B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAetG;AAcD,gFAAgF;AAChF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOrG;AAED,2CAA2C;AAC3C,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIjG;AAED,4FAA4F;AAC5F,wBAAsB,4BAA4B,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ7F;AAED,MAAM,MAAM,kBAAkB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9E;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,UAAU,EACf,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpD,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,gGAAgG;AAChG,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInG;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAM5E"}
|
|
@@ -26,7 +26,9 @@ export declare function uploadNetworkErrorMessage(technicalMessage?: string | nu
|
|
|
26
26
|
* POST to the upload API. Uses main-process proxy in Electron to avoid CORS;
|
|
27
27
|
* falls back to fetch when not in Electron (e.g. browser tests).
|
|
28
28
|
*/
|
|
29
|
-
export declare function postUploadArweaveStart(url: string, formData: FormData, uploadApiBaseUrl: string
|
|
29
|
+
export declare function postUploadArweaveStart(url: string, formData: FormData, uploadApiBaseUrl: string,
|
|
30
|
+
/** Extra request headers, e.g. the publish authorization token. */
|
|
31
|
+
headers?: Record<string, string>): Promise<PostUploadResult>;
|
|
30
32
|
/**
|
|
31
33
|
* POST to Arweave bundler for instant uploads. Same FormData format as upload API.
|
|
32
34
|
* Uses main-process proxy in Electron to avoid CORS.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadApi.d.ts","sourceRoot":"","sources":["../../src/helpers/uploadApi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAeD;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAmB3B;AAED,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CAWR;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAelF;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"uploadApi.d.ts","sourceRoot":"","sources":["../../src/helpers/uploadApi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAeD;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAmB3B;AAED,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,CAWR;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAelF;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,MAAM;AACxB,mEAAmE;AACnE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAY3B"}
|