@seedprotocol/publish 0.7.4 → 0.7.5-next.850.g9ab585b
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/CHANGELOG.md +223 -3
- package/README.md +31 -8
- package/dist/{chainConfig-DM9RSIMT.js → chainConfig-BWzE8DIF.js} +1347 -1356
- package/dist/chainConfig-BWzE8DIF.js.map +1 -0
- package/dist/config.d.ts +11 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/{ensureAutomationSessionKey-DTO5lxXB.js → ensureAutomationSessionKey-BenLVZk4.js} +22 -22
- package/dist/{ensureAutomationSessionKey-DTO5lxXB.js.map → ensureAutomationSessionKey-BenLVZk4.js.map} +1 -1
- package/dist/{ensureModularPublishBootstrap-BYySx3sx.js → ensureModularPublishBootstrap-CngVyk4c.js} +9 -9
- package/dist/{ensureModularPublishBootstrap-BYySx3sx.js.map → ensureModularPublishBootstrap-CngVyk4c.js.map} +1 -1
- package/dist/{ensureSmartWalletThenPublish-DiH5CKLY.js → ensureSmartWalletThenPublish-3Q_vA8mD.js} +19 -25
- package/dist/ensureSmartWalletThenPublish-3Q_vA8mD.js.map +1 -0
- package/dist/helpers/adapters/thirdwebAccount.d.ts +3 -1
- package/dist/helpers/adapters/thirdwebAccount.d.ts.map +1 -1
- package/dist/helpers/ensureSmartWalletThenPublish.d.ts +3 -4
- package/dist/helpers/ensureSmartWalletThenPublish.d.ts.map +1 -1
- package/dist/helpers/ensureWalletThenPublish.d.ts +18 -4
- package/dist/helpers/ensureWalletThenPublish.d.ts.map +1 -1
- package/dist/helpers/publishItem.d.ts.map +1 -1
- package/dist/helpers/seedSigner.d.ts +8 -0
- package/dist/helpers/seedSigner.d.ts.map +1 -1
- package/dist/helpers/thirdweb.d.ts +4 -0
- package/dist/helpers/thirdweb.d.ts.map +1 -1
- package/dist/hooks/useCanPublishItem.d.ts +5 -0
- package/dist/hooks/useCanPublishItem.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +274 -260
- package/dist/index.js.map +1 -1
- package/dist/{managedAccountAdmin-rhHtJC4y.js → managedAccountAdmin-CW1P40qh.js} +9 -9
- package/dist/{managedAccountAdmin-rhHtJC4y.js.map → managedAccountAdmin-CW1P40qh.js.map} +1 -1
- package/dist/{publishAuthorization-Dx-4adsz.js → publishAuthorization-BOalFNvQ.js} +24 -24
- package/dist/{publishAuthorization-Dx-4adsz.js.map → publishAuthorization-BOalFNvQ.js.map} +1 -1
- package/dist/publishWalletRegistry-Bf_Nvf_3.js +45 -0
- package/dist/publishWalletRegistry-Bf_Nvf_3.js.map +1 -0
- package/dist/react/ConnectButton.d.ts.map +1 -1
- package/dist/react/PublishProvider.d.ts.map +1 -1
- package/dist/react/PublishProvider.initOrder.test.d.ts +2 -0
- package/dist/react/PublishProvider.initOrder.test.d.ts.map +1 -0
- package/dist/react/PublishProvider.thirdweb.d.ts.map +1 -1
- package/dist/{resolveRevokeAccount-CC9X1H9x.js → resolveRevokeAccount-BUK9i1T4.js} +9 -9
- package/dist/{resolveRevokeAccount-CC9X1H9x.js.map → resolveRevokeAccount-BUK9i1T4.js.map} +1 -1
- package/dist/services/publish/actors/checking.d.ts.map +1 -1
- package/dist/services/publish/actors/pollForConfirmation.d.ts +14 -0
- package/dist/services/publish/actors/pollForConfirmation.d.ts.map +1 -1
- package/dist/services/publish/helpers/undeployedSmartAccount.d.ts +11 -7
- package/dist/services/publish/helpers/undeployedSmartAccount.d.ts.map +1 -1
- package/dist/services/publishCost/estimatePublishCost.d.ts +14 -2
- package/dist/services/publishCost/estimatePublishCost.d.ts.map +1 -1
- package/dist/services/publishCost/types.d.ts +10 -0
- package/dist/services/publishCost/types.d.ts.map +1 -1
- package/dist/services/publishManager/index.d.ts +6 -10
- package/dist/services/publishManager/index.d.ts.map +1 -1
- package/dist/thirdweb.js +97 -95
- package/dist/thirdweb.js.map +1 -1
- package/dist/undeployedSmartAccount-B6KSTipF.js +15 -0
- package/dist/undeployedSmartAccount-B6KSTipF.js.map +1 -0
- package/dist/{worker-Bv_xadel.js → worker-DAciYSNY.js} +2 -2
- package/dist/{worker-Bv_xadel.js.map → worker-DAciYSNY.js.map} +1 -1
- package/package.json +25 -7
- package/dist/chainConfig-DM9RSIMT.js.map +0 -1
- package/dist/ensureSmartWalletThenPublish-DiH5CKLY.js.map +0 -1
- package/dist/services/publishManager/actions/query.d.ts +0 -2
- package/dist/services/publishManager/actions/query.d.ts.map +0 -1
- package/dist/undeployedSmartAccount-uDk6iZjl.js +0 -24
- package/dist/undeployedSmartAccount-uDk6iZjl.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureSmartWalletThenPublish-DiH5CKLY.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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare const query: import("xstate").ActionFunction<import("xstate").MachineContext, import("xstate").EventObject, import("xstate").EventObject, import("xstate").NonReducibleUnknown, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, never, import("xstate").EventObject>;
|
|
2
|
-
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actions/query.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,qTAwBhB,CAAA"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Dt as e, Rt as t } from "./chainConfig-DM9RSIMT.js";
|
|
2
|
-
//#region src/services/publish/helpers/undeployedSmartAccount.ts
|
|
3
|
-
function n(e, t) {
|
|
4
|
-
return !!e && !!t && e.toLowerCase() === t.toLowerCase();
|
|
5
|
-
}
|
|
6
|
-
async function r(r, i) {
|
|
7
|
-
let a = i?.txSender?.address;
|
|
8
|
-
if (a && !n(a, r)) return "sender_is_not_publisher";
|
|
9
|
-
let o = e(), s = /* @__PURE__ */ new Set();
|
|
10
|
-
for (let e of [
|
|
11
|
-
i?.signer?.address,
|
|
12
|
-
o?.adminAddress,
|
|
13
|
-
o?.signer.address,
|
|
14
|
-
...o?.ownedAddresses ?? []
|
|
15
|
-
]) e && !n(e, r) && s.add(e.toLowerCase());
|
|
16
|
-
for (let e of s) try {
|
|
17
|
-
if (n(await t(e), r)) return "undeployed_smart_account";
|
|
18
|
-
} catch {}
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
22
|
-
export { r as undeployedPublisherProblem };
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=undeployedSmartAccount-uDk6iZjl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"undeployedSmartAccount-uDk6iZjl.js","names":["getPublishWallet","readFactoryGetAddress","sameAddress","a","b","undeployedPublisherProblem","sender","wallet","publisherAddress","session","candidates","admin"],"sources":["../src/services/publish/helpers/undeployedSmartAccount.ts"],"sourcesContent":["import type { Address } from 'viem'\nimport { readFactoryGetAddress } from '~/helpers/contracts'\nimport { getPublishWallet } from '~/helpers/publishWalletRegistry'\nimport type { PublishWallet } from '~/helpers/seedSigner'\n\nfunction sameAddress(a: string | undefined, b: string | undefined): boolean {\n return !!a && !!b && a.toLowerCase() === b.toLowerCase()\n}\n\n/**\n * For a publisher address with no bytecode, says why it must not attest straight to EAS, or\n * returns null when it can (an EOA).\n *\n * - The wallet sends from another address: EAS would record that address as the attester.\n * - The publisher is the ManagedAccount factory address of a known admin (the wallet's signer,\n * or an admin / owned address of the registered session): it is a smart account that is not\n * deployed yet. Direct EAS would attest one transaction per Seed and deploy the account as a\n * side effect, instead of the account's multiPublish.\n *\n * Factory reads that fail (no factory configured, RPC error) rule that admin out.\n */\nexport async function undeployedPublisherProblem(\n publisherAddress: string,\n wallet: Partial<PublishWallet> | undefined,\n): Promise<'sender_is_not_publisher' | 'undeployed_smart_account' | null> {\n const sender = wallet?.txSender?.address\n if (sender && !sameAddress(sender, publisherAddress)) return 'sender_is_not_publisher'\n\n const session = getPublishWallet()\n const candidates = new Set<string>()\n for (const a of [\n wallet?.signer?.address,\n session?.adminAddress,\n session?.signer.address,\n ...(session?.ownedAddresses ?? []),\n ]) {\n if (a && !sameAddress(a, publisherAddress)) candidates.add(a.toLowerCase())\n }\n for (const admin of candidates) {\n try {\n const predicted = await readFactoryGetAddress(admin as Address)\n if (sameAddress(predicted, publisherAddress)) return 'undeployed_smart_account'\n } catch {\n // Not a factory account for this admin, or no factory on this chain.\n }\n }\n return null\n}\n"],"mappings":";;AAKA,SAASE,EAAY,GAAuB,GAAgC;CAC1E,OAAO,CAAC,CAACC,KAAK,CAAC,CAACC,KAAKD,EAAE,YAAY,MAAMC,EAAE,YAAY;AACzD;AAcA,eAAsBC,EACpB,GACA,GACwE;CACxE,IAAMC,IAASC,GAAQ,UAAU;CACjC,IAAID,KAAU,CAACJ,EAAYI,GAAQE,CAAgB,GAAG,OAAO;CAE7D,IAAMC,IAAUT,EAAiB,GAC3BU,oBAAa,IAAI,IAAY;CACnC,KAAK,IAAMP,KAAK;EACdI,GAAQ,QAAQ;EAChBE,GAAS;EACTA,GAAS,OAAO;EAChB,GAAIA,GAAS,kBAAkB,CAAC;CAClC,GACE,AAAIN,KAAK,CAACD,EAAYC,GAAGK,CAAgB,KAAGE,EAAW,IAAIP,EAAE,YAAY,CAAC;CAE5E,KAAK,IAAMQ,KAASD,GAClB,IAAI;EAEF,IAAIR,EAAY,MADQD,EAAsBU,CAAgB,GACnCH,CAAgB,GAAG,OAAO;CACvD,QAAQ,CAER;CAEF,OAAO;AACT"}
|