@seedprotocol/publish 0.4.32 → 0.5.1
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 +15 -0
- package/README.md +64 -18
- package/dist/config-Q3y4Fab2.js +936 -0
- package/dist/config-Q3y4Fab2.js.map +1 -0
- package/dist/config-bUKEs4Uf.js +511 -0
- package/dist/config-bUKEs4Uf.js.map +1 -0
- package/dist/config.d.ts +42 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/ensureManagedAccountEasConfigured-BXF7gQCi.js +1270 -0
- package/dist/ensureManagedAccountEasConfigured-BXF7gQCi.js.map +1 -0
- package/dist/ensureManagedAccountEasConfigured-BxdK_Vhf.js +1204 -0
- package/dist/ensureManagedAccountEasConfigured-BxdK_Vhf.js.map +1 -0
- package/dist/ensureManagedAccountEasConfigured-CZGguM7q.js +1177 -0
- package/dist/ensureManagedAccountEasConfigured-CZGguM7q.js.map +1 -0
- package/dist/ensureManagedAccountEasConfigured-CZS__-ha.js +1177 -0
- package/dist/ensureManagedAccountEasConfigured-CZS__-ha.js.map +1 -0
- package/dist/ensureManagedAccountEasConfigured-D2_Jjjxt.js +1192 -0
- package/dist/ensureManagedAccountEasConfigured-D2_Jjjxt.js.map +1 -0
- package/dist/ensureManagedAccountEasConfigured-DDFBEb-B.js +1192 -0
- package/dist/ensureManagedAccountEasConfigured-DDFBEb-B.js.map +1 -0
- package/dist/ensureManagedAccountEasConfigured-zcyqhWPe.js +1270 -0
- package/dist/ensureManagedAccountEasConfigured-zcyqhWPe.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-2agkGdih.js +124 -0
- package/dist/ensureModularPublishBootstrap-2agkGdih.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-B5i_dQrv.js +124 -0
- package/dist/ensureModularPublishBootstrap-B5i_dQrv.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-BSXyZgld.js +124 -0
- package/dist/ensureModularPublishBootstrap-BSXyZgld.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-C0gx7sbt.js +124 -0
- package/dist/ensureModularPublishBootstrap-C0gx7sbt.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-DHNo4j6X.js +124 -0
- package/dist/ensureModularPublishBootstrap-DHNo4j6X.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-DQ-oruO1.js +124 -0
- package/dist/ensureModularPublishBootstrap-DQ-oruO1.js.map +1 -0
- package/dist/ensureModularPublishBootstrap-QRGGgnkz.js +124 -0
- package/dist/ensureModularPublishBootstrap-QRGGgnkz.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-BmeIFGIX.js +47 -0
- package/dist/ensureSmartWalletThenPublish-BmeIFGIX.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-CR4N0M9S.js +47 -0
- package/dist/ensureSmartWalletThenPublish-CR4N0M9S.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-CRza0sML.js +47 -0
- package/dist/ensureSmartWalletThenPublish-CRza0sML.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-DzOnwM-9.js +47 -0
- package/dist/ensureSmartWalletThenPublish-DzOnwM-9.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-UFczP8th.js +47 -0
- package/dist/ensureSmartWalletThenPublish-UFczP8th.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-k085lqDO.js +47 -0
- package/dist/ensureSmartWalletThenPublish-k085lqDO.js.map +1 -0
- package/dist/ensureSmartWalletThenPublish-xcHGv06S.js +47 -0
- package/dist/ensureSmartWalletThenPublish-xcHGv06S.js.map +1 -0
- package/dist/helpers/abi/eas.d.ts +203 -0
- package/dist/helpers/abi/eas.d.ts.map +1 -0
- package/dist/helpers/abi/executor.d.ts +33 -0
- package/dist/helpers/abi/executor.d.ts.map +1 -0
- package/dist/helpers/abi/factory.d.ts +31 -0
- package/dist/helpers/abi/factory.d.ts.map +1 -0
- package/dist/helpers/abi/publisher.d.ts +199 -0
- package/dist/helpers/abi/publisher.d.ts.map +1 -0
- package/dist/helpers/abi/schemaRegistry.d.ts +45 -0
- package/dist/helpers/abi/schemaRegistry.d.ts.map +1 -0
- package/dist/helpers/adapters/eip1193.d.ts +17 -0
- package/dist/helpers/adapters/eip1193.d.ts.map +1 -0
- package/dist/helpers/adapters/permissionlessTxSender.d.ts +11 -0
- package/dist/helpers/adapters/permissionlessTxSender.d.ts.map +1 -0
- package/dist/helpers/adapters/thirdwebAccount.d.ts +13 -0
- package/dist/helpers/adapters/thirdwebAccount.d.ts.map +1 -0
- package/dist/helpers/arweave.d.ts +4 -4
- package/dist/helpers/arweave.d.ts.map +1 -1
- package/dist/helpers/chainClient.d.ts +15 -0
- package/dist/helpers/chainClient.d.ts.map +1 -0
- package/dist/helpers/chainConfig.d.ts +12 -0
- package/dist/helpers/chainConfig.d.ts.map +1 -0
- package/dist/helpers/constants.d.ts +1 -2
- package/dist/helpers/constants.d.ts.map +1 -1
- package/dist/helpers/contracts/index.d.ts +90 -0
- package/dist/helpers/contracts/index.d.ts.map +1 -0
- package/dist/helpers/defaultChain.d.ts +4 -0
- package/dist/helpers/defaultChain.d.ts.map +1 -0
- package/dist/helpers/easDirect.d.ts +7 -76
- package/dist/helpers/easDirect.d.ts.map +1 -1
- package/dist/helpers/ensureEip7702ModularAccountReady.d.ts +1 -4
- package/dist/helpers/ensureEip7702ModularAccountReady.d.ts.map +1 -1
- package/dist/helpers/ensureExecutorModule.d.ts +1 -9
- package/dist/helpers/ensureExecutorModule.d.ts.map +1 -1
- package/dist/helpers/ensureManagedAccountEasConfigured.d.ts +2 -5
- package/dist/helpers/ensureManagedAccountEasConfigured.d.ts.map +1 -1
- package/dist/helpers/ensureManagedAccountReady.d.ts.map +1 -1
- package/dist/helpers/ensureManagedSignerSessionKey.d.ts +1 -0
- package/dist/helpers/ensureManagedSignerSessionKey.d.ts.map +1 -1
- package/dist/helpers/ensureSmartWalletThenPublish.d.ts +3 -13
- package/dist/helpers/ensureSmartWalletThenPublish.d.ts.map +1 -1
- package/dist/helpers/ensureWalletThenPublish.d.ts +21 -0
- package/dist/helpers/ensureWalletThenPublish.d.ts.map +1 -0
- package/dist/helpers/nameSchemaAttestation.d.ts +7 -0
- package/dist/helpers/nameSchemaAttestation.d.ts.map +1 -0
- package/dist/helpers/publishWalletRegistry.d.ts +19 -0
- package/dist/helpers/publishWalletRegistry.d.ts.map +1 -0
- package/dist/helpers/resolvePublishWallet.d.ts +7 -0
- package/dist/helpers/resolvePublishWallet.d.ts.map +1 -0
- package/dist/helpers/schemaRegistry.d.ts +11 -0
- package/dist/helpers/schemaRegistry.d.ts.map +1 -0
- package/dist/helpers/seedSigner.d.ts +62 -0
- package/dist/helpers/seedSigner.d.ts.map +1 -0
- package/dist/helpers/thirdweb.d.ts +14 -2
- package/dist/helpers/thirdweb.d.ts.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +283 -5171
- package/dist/index.js.map +1 -1
- package/dist/publishManager-1vLf1ZHv.js +3005 -0
- package/dist/publishManager-1vLf1ZHv.js.map +1 -0
- package/dist/publishManager-5hUL8Of5.js +3007 -0
- package/dist/publishManager-5hUL8Of5.js.map +1 -0
- package/dist/publishManager-BO4sSSvo.js +3007 -0
- package/dist/publishManager-BO4sSSvo.js.map +1 -0
- package/dist/publishManager-BOICv9Yl.js +3008 -0
- package/dist/publishManager-BOICv9Yl.js.map +1 -0
- package/dist/publishManager-CCXWxiT1.js +3008 -0
- package/dist/publishManager-CCXWxiT1.js.map +1 -0
- package/dist/publishManager-Ccot_poQ.js +3008 -0
- package/dist/publishManager-Ccot_poQ.js.map +1 -0
- package/dist/publishManager-De3uWE-p.js +3007 -0
- package/dist/publishManager-De3uWE-p.js.map +1 -0
- package/dist/react/ConnectButton.d.ts.map +1 -1
- package/dist/react/PublishConfigContext.d.ts +4 -0
- package/dist/react/PublishConfigContext.d.ts.map +1 -0
- package/dist/react/PublishProvider.d.ts +7 -1
- package/dist/react/PublishProvider.d.ts.map +1 -1
- package/dist/react/PublishProvider.thirdweb.d.ts +11 -0
- package/dist/react/PublishProvider.thirdweb.d.ts.map +1 -0
- package/dist/react/useSeedWallet.d.ts +17 -0
- package/dist/react/useSeedWallet.d.ts.map +1 -0
- package/dist/resolveRevokeAccount-BGVjf-kI.js +30 -0
- package/dist/resolveRevokeAccount-BGVjf-kI.js.map +1 -0
- package/dist/resolveRevokeAccount-BRwOBTJ4.js +30 -0
- package/dist/resolveRevokeAccount-BRwOBTJ4.js.map +1 -0
- package/dist/resolveRevokeAccount-C0ZWAcHX.js +30 -0
- package/dist/resolveRevokeAccount-C0ZWAcHX.js.map +1 -0
- package/dist/resolveRevokeAccount-CKcr55EY.js +30 -0
- package/dist/resolveRevokeAccount-CKcr55EY.js.map +1 -0
- package/dist/resolveRevokeAccount-DNvuOQ1c.js +30 -0
- package/dist/resolveRevokeAccount-DNvuOQ1c.js.map +1 -0
- package/dist/resolveRevokeAccount-DvEPXZKI.js +30 -0
- package/dist/resolveRevokeAccount-DvEPXZKI.js.map +1 -0
- package/dist/resolveRevokeAccount-rOof3dUA.js +30 -0
- package/dist/resolveRevokeAccount-rOof3dUA.js.map +1 -0
- package/dist/seedSigner-BvK5WjmV.js +66 -0
- package/dist/seedSigner-BvK5WjmV.js.map +1 -0
- package/dist/services/PublishManager/actions/createPublish.d.ts.map +1 -1
- package/dist/services/PublishManager/actions/retryAttestations.d.ts +3 -2
- package/dist/services/PublishManager/actions/retryAttestations.d.ts.map +1 -1
- package/dist/services/PublishManager/actors/restoreFromDb.d.ts.map +1 -1
- package/dist/services/PublishManager/index.d.ts +2 -2
- package/dist/services/PublishManager/index.d.ts.map +1 -1
- package/dist/services/publish/actors/checking.d.ts.map +1 -1
- package/dist/services/publish/actors/createArweaveDataItems.d.ts.map +1 -1
- package/dist/services/publish/actors/createAttestations.d.ts.map +1 -1
- package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts.map +1 -1
- package/dist/services/publish/actors/seedUidHelpers.d.ts +1 -17
- package/dist/services/publish/actors/seedUidHelpers.d.ts.map +1 -1
- package/dist/services/publish/helpers/ensureEasSchemas.d.ts +2 -5
- package/dist/services/publish/helpers/ensureEasSchemas.d.ts.map +1 -1
- package/dist/services/publish/helpers/receiptAttestationMs.d.ts +1 -3
- package/dist/services/publish/helpers/receiptAttestationMs.d.ts.map +1 -1
- package/dist/services/publish/index.d.ts.map +1 -1
- package/dist/services/revoke/revokeAttestations.d.ts +1 -3
- package/dist/services/revoke/revokeAttestations.d.ts.map +1 -1
- package/dist/services/upload/uploadMachine.d.ts +1 -1
- package/dist/thirdweb.d.ts +17 -0
- package/dist/thirdweb.d.ts.map +1 -0
- package/dist/thirdweb.js +176 -0
- package/dist/thirdweb.js.map +1 -0
- package/dist/types.d.ts +9 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/worker-B3R2zwxm.js +69 -0
- package/dist/worker-B3R2zwxm.js.map +1 -0
- package/dist/worker-BVc0OzNI.js +105 -0
- package/dist/worker-BVc0OzNI.js.map +1 -0
- package/dist/worker-BWERw2Le.js +69 -0
- package/dist/worker-BWERw2Le.js.map +1 -0
- package/dist/worker-Bb3a6nOf.js +69 -0
- package/dist/worker-Bb3a6nOf.js.map +1 -0
- package/dist/worker-BqeFFnN_.js +69 -0
- package/dist/worker-BqeFFnN_.js.map +1 -0
- package/dist/worker-CqCsdQeT.js +69 -0
- package/dist/worker-CqCsdQeT.js.map +1 -0
- package/dist/worker-QZN_HMAs.js +69 -0
- package/dist/worker-QZN_HMAs.js.map +1 -0
- package/dist/worker-VilzVQ8C.js +69 -0
- package/dist/worker-VilzVQ8C.js.map +1 -0
- package/dist/worker-j_9ajZZU.js +100 -0
- package/dist/worker-j_9ajZZU.js.map +1 -0
- package/package.json +20 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensureEasSchemas.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/helpers/ensureEasSchemas.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ensureEasSchemas.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/helpers/ensureEasSchemas.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAK9C,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAA;AA8C7B;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAChB,OAAO,EAAE,aAAa,GAAG,YAAY,GACpC,OAAO,CAAC,IAAI,CAAC,CAyNf"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import type { ThirdwebClient } from 'thirdweb';
|
|
2
|
-
import type { Chain } from 'thirdweb/chains';
|
|
3
1
|
/**
|
|
4
2
|
* Block time in milliseconds for the receipt's block, or `Date.now()` if unavailable.
|
|
5
3
|
*/
|
|
6
|
-
export declare function attestationMsFromReceipt(
|
|
4
|
+
export declare function attestationMsFromReceipt(receipt: {
|
|
7
5
|
blockNumber?: bigint;
|
|
8
6
|
}): Promise<number>;
|
|
9
7
|
//# sourceMappingURL=receiptAttestationMs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receiptAttestationMs.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/helpers/receiptAttestationMs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"receiptAttestationMs.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/helpers/receiptAttestationMs.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,MAAM,CAAC,CAKjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/publish/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/publish/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EAEtB,MAAiG,aAAa,CAAA;AAgD/G,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8lBzB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAA"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Revokes the Seed attestation and all Version and metadata attestations on EAS.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Order: metadata first, then versions, then seed (children before parents).
|
|
3
|
+
* Prefer the registered publish wallet; fall back to Thirdweb connected account when present.
|
|
6
4
|
*/
|
|
7
5
|
export declare function revokeAttestations(params: {
|
|
8
6
|
seedLocalId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revokeAttestations.d.ts","sourceRoot":"","sources":["../../../src/services/revoke/revokeAttestations.ts"],"names":[],"mappings":"AAeA
|
|
1
|
+
{"version":3,"file":"revokeAttestations.d.ts","sourceRoot":"","sources":["../../../src/services/revoke/revokeAttestations.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGhB"}
|
|
@@ -34,7 +34,7 @@ export declare const uploadMachine: import("xstate").StateMachine<UploadMachineC
|
|
|
34
34
|
}, {
|
|
35
35
|
type: "handleError";
|
|
36
36
|
params: unknown;
|
|
37
|
-
}, never, never, "success" | "failure" | "
|
|
37
|
+
}, never, never, "success" | "failure" | "reset" | "sendReimbursementRequest" | "pollForConfirmation" | "uploadData", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
38
38
|
id: "upload";
|
|
39
39
|
states: {
|
|
40
40
|
readonly sendReimbursementRequest: {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional Thirdweb adapter entry for `@seedprotocol/publish/thirdweb`.
|
|
3
|
+
* Import from here when using ConnectButton / in-app wallets / ModularCore bootstrap.
|
|
4
|
+
*/
|
|
5
|
+
export { fromThirdwebAccount, asThirdwebPublishWallet, asSeedSignerFromThirdweb } from './helpers/adapters/thirdwebAccount';
|
|
6
|
+
export { getClient, getManagedAccountWallet, getModularAccountWallet, getWalletsForConnectButton, getConnectedModularAccount, getConnectedAccount, getConnectedManagedAccountAddress, resolveSmartWalletForPublish, isSmartWalletDeployed, pollSmartWalletDeployed, deploySmartWalletContract, deployManagedAccountViaFactory, getSmartWalletAddressForAdmin, appMetadata, wallets, ExternalWalletsForDeploy, getSharedPublishInAppWalletStorage, useActiveSmartWalletContract, useLocalWalletAccount, } from './helpers/thirdweb';
|
|
7
|
+
export { default as ConnectButton } from './react/ConnectButton';
|
|
8
|
+
export { default as PublishProvider, usePublishConfig } from './react/PublishProvider.thirdweb';
|
|
9
|
+
export type { PublishProviderProps } from './react/PublishProvider';
|
|
10
|
+
export { ensureSmartWalletThenPublish, type EnsureSmartWalletResult, } from './helpers/ensureSmartWalletThenPublish';
|
|
11
|
+
export { ensureExecutorModuleInstalled } from './helpers/ensureExecutorModule';
|
|
12
|
+
export { ensureManagedAccountReady, tryDeployManagedAccount, runModularExecutorPublishPrep, type EnsureManagedAccountReadyResult, type ModularExecutorPublishPrepResult, } from './helpers/ensureManagedAccountReady';
|
|
13
|
+
export { ensureEip7702ModularAccountReady } from './helpers/ensureEip7702ModularAccountReady';
|
|
14
|
+
export { ensureManagedSignerSessionKey } from './helpers/ensureManagedSignerSessionKey';
|
|
15
|
+
export { ensureModularPublishBootstrap } from './helpers/ensureModularPublishBootstrap';
|
|
16
|
+
export { defaultApprovedTargetsForModularPublish } from './helpers/defaultApprovedTargetsForModularPublish';
|
|
17
|
+
//# sourceMappingURL=thirdweb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thirdweb.d.ts","sourceRoot":"","sources":["../src/thirdweb.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE3H,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,iCAAiC,EACjC,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,WAAW,EACX,OAAO,EACP,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAEnE,OAAO,EACL,4BAA4B,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,GACtC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAA;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAA"}
|
package/dist/thirdweb.js
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { C as e, F as t, I as n, J as r, L as i, M as a, N as o, P as s, S as c, X as l, _ as u, a as d, b as f, c as p, d as m, f as h, g, h as _, i as ee, l as v, m as y, n as b, o as x, p as S, r as C, s as w, u as T, v as E, x as D, y as O } from "./ensureManagedAccountEasConfigured-BxdK_Vhf.js";
|
|
2
|
+
import { a as k, i as A, o as j, r as M, t as N } from "./publishManager-Ccot_poQ.js";
|
|
3
|
+
import { t as P } from "./ensureSmartWalletThenPublish-DzOnwM-9.js";
|
|
4
|
+
import { a as F, i as I, r as L, t as R } from "./ensureModularPublishBootstrap-DHNo4j6X.js";
|
|
5
|
+
import { client as z } from "@seedprotocol/sdk";
|
|
6
|
+
import { optimismSepolia as B } from "thirdweb/chains";
|
|
7
|
+
import { useCallback as V, useEffect as H, useRef as U } from "react";
|
|
8
|
+
import { jsx as W } from "react/jsx-runtime";
|
|
9
|
+
import { SeedProvider as G } from "@seedprotocol/react";
|
|
10
|
+
import { ConnectButton as K, ThirdwebProvider as q, darkTheme as J, useActiveAccount as Y, useActiveWallet as X, useActiveWalletConnectionStatus as Z, useIsAutoConnecting as Q } from "thirdweb/react";
|
|
11
|
+
//#region src/react/ConnectButton.tsx
|
|
12
|
+
var $ = "seedProtocol:publish:userChoseWalletDisconnect";
|
|
13
|
+
function te(e) {
|
|
14
|
+
console.warn("[ConnectButton] Wallet setup / module install skipped:", e), o().onWalletSetupWarning?.(e);
|
|
15
|
+
}
|
|
16
|
+
function ne() {
|
|
17
|
+
return z.isInitialized() ? Promise.resolve() : new Promise((e) => {
|
|
18
|
+
z.onReady(() => e());
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async function re(e, t, n) {
|
|
22
|
+
if (n.modularAccountModuleContract) {
|
|
23
|
+
if (n.useModularExecutor) {
|
|
24
|
+
if (!t) return;
|
|
25
|
+
try {
|
|
26
|
+
E();
|
|
27
|
+
let e = T();
|
|
28
|
+
await e.autoConnect({
|
|
29
|
+
client: x(),
|
|
30
|
+
chain: B
|
|
31
|
+
});
|
|
32
|
+
let r = e.getAccount();
|
|
33
|
+
if (!r) return;
|
|
34
|
+
await j(t, r, n);
|
|
35
|
+
} catch {}
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
await j(e.address, e, n);
|
|
40
|
+
} catch (e) {
|
|
41
|
+
te(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var ie = () => {
|
|
46
|
+
let t = e(), n = X(), a = Y(), o = Z(), s = Q(), c = U(null), u = U(!1), d = U(!1);
|
|
47
|
+
H(() => {
|
|
48
|
+
if (typeof window > "u") return;
|
|
49
|
+
let e = u.current;
|
|
50
|
+
u.current = s;
|
|
51
|
+
let n;
|
|
52
|
+
try {
|
|
53
|
+
n = performance.getEntriesByType("navigation")[0]?.type;
|
|
54
|
+
} catch {
|
|
55
|
+
n = void 0;
|
|
56
|
+
}
|
|
57
|
+
if (n !== "reload") return;
|
|
58
|
+
let r = !1;
|
|
59
|
+
try {
|
|
60
|
+
r = sessionStorage.getItem($) === "1";
|
|
61
|
+
} catch {
|
|
62
|
+
r = !1;
|
|
63
|
+
}
|
|
64
|
+
r || !e || s || o !== "disconnected" || d.current || (d.current = !0, (t.useModularExecutor ? m() : T()).autoConnect({
|
|
65
|
+
client: x(),
|
|
66
|
+
chain: B
|
|
67
|
+
}).catch(() => {}));
|
|
68
|
+
}, [
|
|
69
|
+
o,
|
|
70
|
+
s,
|
|
71
|
+
t.useModularExecutor
|
|
72
|
+
]);
|
|
73
|
+
let f = V(async (e) => {
|
|
74
|
+
let n = e.getAccount();
|
|
75
|
+
if (!n) return;
|
|
76
|
+
await ne(), N.stopAll();
|
|
77
|
+
let r = new Set([n.address.toLowerCase()]), a;
|
|
78
|
+
if (t.useModularExecutor) {
|
|
79
|
+
E();
|
|
80
|
+
let t = e.getAdminAccount?.()?.address ?? n.address, i = async () => {
|
|
81
|
+
try {
|
|
82
|
+
return await p(B);
|
|
83
|
+
} catch {
|
|
84
|
+
try {
|
|
85
|
+
return await S(t);
|
|
86
|
+
} catch {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
a = await i(), a ||= (await new Promise((e) => queueMicrotask(() => e())), await i()), a && r.add(a.toLowerCase());
|
|
92
|
+
}
|
|
93
|
+
let o = [...r].sort().join(",");
|
|
94
|
+
if (c.current !== o) {
|
|
95
|
+
c.current = o;
|
|
96
|
+
try {
|
|
97
|
+
await l({
|
|
98
|
+
...i(n),
|
|
99
|
+
ownedAddresses: [...r],
|
|
100
|
+
publisherAddress: a ?? n.address
|
|
101
|
+
});
|
|
102
|
+
} catch (e) {
|
|
103
|
+
throw c.current = null, console.warn("[ConnectButton] Failed to set seed client addresses:", e), e;
|
|
104
|
+
}
|
|
105
|
+
await re(n, a, t);
|
|
106
|
+
}
|
|
107
|
+
}, [t]);
|
|
108
|
+
return H(() => {
|
|
109
|
+
if (s) return;
|
|
110
|
+
if (o !== "connected") {
|
|
111
|
+
c.current = null;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (!n) return;
|
|
115
|
+
let e = !1;
|
|
116
|
+
return (async () => {
|
|
117
|
+
try {
|
|
118
|
+
if (e) return;
|
|
119
|
+
await f(n);
|
|
120
|
+
} catch {}
|
|
121
|
+
})(), () => {
|
|
122
|
+
e = !0;
|
|
123
|
+
};
|
|
124
|
+
}, [
|
|
125
|
+
n,
|
|
126
|
+
a?.address,
|
|
127
|
+
o,
|
|
128
|
+
s,
|
|
129
|
+
f
|
|
130
|
+
]), /* @__PURE__ */ W(K, {
|
|
131
|
+
client: x(),
|
|
132
|
+
wallets: y(),
|
|
133
|
+
autoConnect: !0,
|
|
134
|
+
chain: B,
|
|
135
|
+
chains: [B],
|
|
136
|
+
onConnect: async (e, t) => {
|
|
137
|
+
let n = e.getAccount();
|
|
138
|
+
if (n) {
|
|
139
|
+
try {
|
|
140
|
+
sessionStorage.removeItem($);
|
|
141
|
+
} catch {}
|
|
142
|
+
console.log("[ConnectButton] Connected", n.address);
|
|
143
|
+
try {
|
|
144
|
+
await f(e);
|
|
145
|
+
} catch {}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
onDisconnect: () => {
|
|
149
|
+
try {
|
|
150
|
+
sessionStorage.setItem($, "1");
|
|
151
|
+
} catch {}
|
|
152
|
+
r(), N.stopAll();
|
|
153
|
+
},
|
|
154
|
+
theme: J({ colors: {
|
|
155
|
+
primaryButtonBg: "#1D2939",
|
|
156
|
+
primaryButtonText: "#FFFFFF",
|
|
157
|
+
secondaryButtonHoverBg: "#1D2939",
|
|
158
|
+
connectedButtonBg: "#101828",
|
|
159
|
+
connectedButtonBgHover: "#1D2939",
|
|
160
|
+
borderColor: "#344054"
|
|
161
|
+
} })
|
|
162
|
+
});
|
|
163
|
+
}, ae = ({ children: e, config: t, queryClient: n, queryClientRef: r }) => (H(() => {
|
|
164
|
+
t && s(t);
|
|
165
|
+
}, [t]), /* @__PURE__ */ W(c.Provider, {
|
|
166
|
+
value: t ?? a(),
|
|
167
|
+
children: /* @__PURE__ */ W(q, { children: /* @__PURE__ */ W(G, {
|
|
168
|
+
queryClient: n,
|
|
169
|
+
queryClientRef: r,
|
|
170
|
+
children: e
|
|
171
|
+
}) })
|
|
172
|
+
}));
|
|
173
|
+
//#endregion
|
|
174
|
+
export { ie as ConnectButton, b as ExternalWalletsForDeploy, ae as PublishProvider, C as appMetadata, t as asSeedSignerFromThirdweb, n as asThirdwebPublishWallet, I as defaultApprovedTargetsForModularPublish, ee as deployManagedAccountViaFactory, d as deploySmartWalletContract, F as ensureEip7702ModularAccountReady, j as ensureExecutorModuleInstalled, M as ensureManagedAccountReady, L as ensureManagedSignerSessionKey, R as ensureModularPublishBootstrap, P as ensureSmartWalletThenPublish, i as fromThirdwebAccount, x as getClient, w as getConnectedAccount, p as getConnectedManagedAccountAddress, v as getConnectedModularAccount, T as getManagedAccountWallet, m as getModularAccountWallet, h as getSharedPublishInAppWalletStorage, S as getSmartWalletAddressForAdmin, y as getWalletsForConnectButton, _ as isSmartWalletDeployed, g as pollSmartWalletDeployed, u as resolveSmartWalletForPublish, A as runModularExecutorPublishPrep, k as tryDeployManagedAccount, O as useActiveSmartWalletContract, f as useLocalWalletAccount, e as usePublishConfig, D as wallets };
|
|
175
|
+
|
|
176
|
+
//# sourceMappingURL=thirdweb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thirdweb.js","names":[],"sources":["../src/react/ConnectButton.tsx","../src/react/PublishProvider.thirdweb.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useRef } from \"react\"\nimport {\n ConnectButton as ConnectButtonThirdweb,\n darkTheme,\n useActiveAccount,\n useActiveWallet,\n useActiveWalletConnectionStatus,\n useIsAutoConnecting,\n} from \"thirdweb/react\"\nimport { client as seedClient } from \"@seedprotocol/sdk\"\nimport {\n getClient,\n getConnectedManagedAccountAddress,\n getManagedAccountWallet,\n getModularAccountWallet,\n getSmartWalletAddressForAdmin,\n getWalletsForConnectButton,\n syncPublishInAppAuthToken,\n} from \"../helpers/thirdweb\"\nimport { fromThirdwebAccount } from \"../helpers/adapters/thirdwebAccount\"\nimport { setPublishWallet, clearPublishWallet } from \"../helpers/publishWalletRegistry\"\nimport { usePublishConfig } from \"./PublishConfigContext\"\nimport { getPublishConfig } from \"../config\"\nimport { optimismSepolia } from \"thirdweb/chains\"\nimport type { Account, Wallet } from \"thirdweb/wallets\"\nimport type { PublishConfig } from \"../config\"\nimport { ensureExecutorModuleInstalled } from \"../helpers/ensureExecutorModule\"\nimport { PublishManager } from \"../services/publishManager\"\n\n/** Session flag so we do not force autoConnect after an explicit UI disconnect (survives reload). */\nconst USER_DISCONNECTED_SESSION_KEY = \"seedProtocol:publish:userChoseWalletDisconnect\"\n\nfunction reportWalletSetupWarning(err: unknown) {\n // Expected when managed-wallet autoConnect is still catching up; publish prep retries.\n console.warn(\"[ConnectButton] Wallet setup / module install skipped:\", err)\n getPublishConfig().onWalletSetupWarning?.(err)\n}\n\n/** Resolves after `ClientManager.init()` has finished; `setAddresses` requires this. */\nfunction waitUntilSeedInitialized(): Promise<void> {\n if (seedClient.isInitialized()) return Promise.resolve()\n return new Promise((resolve) => {\n seedClient.onReady(() => resolve())\n })\n}\n\n/**\n * Executor module (ModularCore) must be installed on the **ManagedAccount** (EIP-4337) contract.\n * The EIP-7702 modular wallet contract does not expose Thirdweb's installModule / Router API;\n * calling it there reverts with \"Router: function does not exist.\"\n */\nasync function ensureExecutorModulesForConnect(\n modularAccount: Account,\n managedAddress: string | undefined,\n config: PublishConfig,\n): Promise<void> {\n if (!config.modularAccountModuleContract) {\n return\n }\n\n if (config.useModularExecutor) {\n if (!managedAddress) {\n return\n }\n try {\n syncPublishInAppAuthToken()\n const mw = getManagedAccountWallet()\n await mw.autoConnect({ client: getClient(), chain: optimismSepolia })\n const ma = mw.getAccount()\n if (!ma) {\n return\n }\n await ensureExecutorModuleInstalled(managedAddress, ma, config)\n } catch {\n /* managed wallet session may lag modular connect; publish prep retries module install */\n }\n return\n }\n\n try {\n await ensureExecutorModuleInstalled(modularAccount.address, modularAccount, config)\n } catch (err) {\n reportWalletSetupWarning(err)\n }\n}\n\nconst ConnectButton: FC = () => {\n const config = usePublishConfig()\n const wallet = useActiveWallet()\n const activeAccount = useActiveAccount()\n const connectionStatus = useActiveWalletConnectionStatus()\n const isAutoConnecting = useIsAutoConnecting()\n /** Avoid duplicate setAddresses when onConnect and the reconcile effect both run. */\n const lastSyncedOwnedKey = useRef<string | null>(null)\n const prevIsAutoConnecting = useRef(false)\n const reloadAutoConnectRetried = useRef(false)\n\n /**\n * Thirdweb sometimes finishes autoConnect on full reload with `disconnected` and no wallet\n * (see debug: isAutoConnecting true→false then disconnected). One explicit in-app autoConnect\n * retry recovers without affecting users who chose Disconnect (sessionStorage gate).\n */\n useEffect(() => {\n if (typeof window === \"undefined\") return\n const prev = prevIsAutoConnecting.current\n prevIsAutoConnecting.current = isAutoConnecting\n\n let navType: string | undefined\n try {\n navType = (\n performance.getEntriesByType(\"navigation\")[0] as\n | PerformanceNavigationTiming\n | undefined\n )?.type\n } catch {\n navType = undefined\n }\n if (navType !== \"reload\") return\n\n let userChoseDisconnect = false\n try {\n userChoseDisconnect =\n sessionStorage.getItem(USER_DISCONNECTED_SESSION_KEY) === \"1\"\n } catch {\n userChoseDisconnect = false\n }\n if (userChoseDisconnect) return\n\n if (!prev || isAutoConnecting || connectionStatus !== \"disconnected\") return\n if (reloadAutoConnectRetried.current) return\n reloadAutoConnectRetried.current = true\n\n void (config.useModularExecutor ? getModularAccountWallet() : getManagedAccountWallet())\n .autoConnect({ client: getClient(), chain: optimismSepolia })\n .catch(() => {\n /* no session or iframe not ready; Connect UI can still sign in */\n })\n }, [connectionStatus, isAutoConnecting, config.useModularExecutor])\n\n const syncActiveWalletToSeed = useCallback(\n async (activeWallet: Wallet) => {\n const account = activeWallet.getAccount()\n if (!account) {\n return\n }\n await waitUntilSeedInitialized()\n PublishManager.stopAll()\n const owned = new Set<string>([account.address.toLowerCase()])\n let managedAddress: string | undefined\n if (config.useModularExecutor) {\n syncPublishInAppAuthToken()\n const adminAddress =\n activeWallet.getAdminAccount?.()?.address ?? account.address\n const tryManaged = async () => {\n try {\n return await getConnectedManagedAccountAddress(optimismSepolia)\n } catch {\n try {\n return await getSmartWalletAddressForAdmin(adminAddress)\n } catch {\n return undefined\n }\n }\n }\n managedAddress = await tryManaged()\n if (!managedAddress) {\n await new Promise<void>((r) => queueMicrotask(() => r()))\n managedAddress = await tryManaged()\n }\n if (managedAddress) {\n owned.add(managedAddress.toLowerCase())\n }\n }\n const ownedKey = [...owned].sort().join(\",\")\n if (lastSyncedOwnedKey.current === ownedKey) {\n return\n }\n lastSyncedOwnedKey.current = ownedKey\n try {\n const publishWallet = fromThirdwebAccount(account)\n await setPublishWallet({\n ...publishWallet,\n ownedAddresses: [...owned],\n publisherAddress: managedAddress ?? account.address,\n })\n } catch (err) {\n lastSyncedOwnedKey.current = null\n console.warn(\"[ConnectButton] Failed to set seed client addresses:\", err)\n throw err\n }\n await ensureExecutorModulesForConnect(account, managedAddress, config)\n },\n [config],\n )\n\n /**\n * Thirdweb autoConnect restores the wallet without calling onConnect. Seed addresses live in\n * SQLite (OPFS); after a wipe there is no app_state row until setAddresses runs again.\n */\n useEffect(() => {\n if (isAutoConnecting) {\n return\n }\n if (connectionStatus !== \"connected\") {\n lastSyncedOwnedKey.current = null\n return\n }\n if (!wallet) {\n return\n }\n let cancelled = false\n void (async () => {\n try {\n if (cancelled) return\n await syncActiveWalletToSeed(wallet)\n } catch {\n /* logged in syncActiveWalletToSeed */\n }\n })()\n return () => {\n cancelled = true\n }\n }, [\n wallet,\n activeAccount?.address,\n connectionStatus,\n isAutoConnecting,\n syncActiveWalletToSeed,\n ])\n\n const handleDisconnect = () => {\n try {\n sessionStorage.setItem(USER_DISCONNECTED_SESSION_KEY, \"1\")\n } catch {\n /* private mode / SSR */\n }\n clearPublishWallet()\n PublishManager.stopAll()\n }\n\n const handleConnect = async (activeWallet: Wallet, _allConnectedWallets: Wallet[]) => {\n const account = activeWallet.getAccount()\n if (!account) return\n try {\n sessionStorage.removeItem(USER_DISCONNECTED_SESSION_KEY)\n } catch {\n /* ignore */\n }\n console.log('[ConnectButton] Connected', account.address)\n try {\n await syncActiveWalletToSeed(activeWallet)\n } catch {\n /* syncActiveWalletToSeed logs */\n }\n }\n\n return (\n <ConnectButtonThirdweb\n client={getClient()}\n wallets={getWalletsForConnectButton()}\n autoConnect={true}\n chain={optimismSepolia}\n chains={[ optimismSepolia, ]}\n onConnect={handleConnect}\n onDisconnect={handleDisconnect}\n theme={darkTheme({\n colors: {\n primaryButtonBg: '#1D2939',\n primaryButtonText: '#FFFFFF',\n secondaryButtonHoverBg: '#1D2939',\n connectedButtonBg: '#101828',\n connectedButtonBgHover: '#1D2939',\n borderColor: '#344054',\n },\n })}\n />\n )\n}\n\nexport default ConnectButton\n","import React, { FC, useEffect } from \"react\"\nimport type { MutableRefObject } from \"react\"\nimport type { QueryClient } from \"@tanstack/react-query\"\nimport { ThirdwebProvider } from \"thirdweb/react\"\nimport { SeedProvider } from '@seedprotocol/react'\nimport { initPublish, getConfigRef, type PublishConfig } from \"../config\"\nimport { PublishConfigContext, usePublishConfig } from \"./PublishConfigContext\"\nimport type { PublishProviderProps } from \"./PublishProvider\"\n\nexport { usePublishConfig }\nexport type { PublishProviderProps }\n\n/**\n * Thirdweb-backed PublishProvider (includes ThirdwebProvider).\n */\nconst PublishProviderThirdweb: FC<PublishProviderProps> = ({\n children,\n config,\n queryClient,\n queryClientRef,\n}) => {\n useEffect(() => {\n if (config) {\n initPublish(config)\n }\n }, [config])\n\n return (\n <PublishConfigContext.Provider value={config ?? getConfigRef()}>\n <ThirdwebProvider>\n <SeedProvider queryClient={queryClient} queryClientRef={queryClientRef}>\n {children}\n </SeedProvider>\n </ThirdwebProvider>\n </PublishConfigContext.Provider>\n )\n}\n\nexport default PublishProviderThirdweb\n"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { IItem, TransactionTag } from '@seedprotocol/sdk';
|
|
|
3
3
|
export type PublishMode = 'patch' | 'new_version';
|
|
4
4
|
/** Aligns with `@seedprotocol/sdk` `HtmlEmbeddedDataUriPolicy`. */
|
|
5
5
|
export type HtmlEmbeddedDataUriPolicy = import('@seedprotocol/sdk').HtmlEmbeddedDataUriPolicy;
|
|
6
|
-
import type {
|
|
6
|
+
import type { SeedSigner, PublishWallet } from './helpers/seedSigner';
|
|
7
7
|
import type { ethers } from 'ethers';
|
|
8
8
|
export type ReimbursementResponse = {
|
|
9
9
|
transactionId: string;
|
|
@@ -34,8 +34,13 @@ export interface PublishMachineContext {
|
|
|
34
34
|
/** Plain model name so it survives XState snapshot persistence (Item.modelName is a getter). */
|
|
35
35
|
modelName?: string;
|
|
36
36
|
schemaId?: string;
|
|
37
|
-
/**
|
|
38
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Wallet used to sign DataItems and send on-chain txs (setEas / multiPublish).
|
|
39
|
+
* Prefer {@link PublishWallet}; legacy `account` alias accepted by createPublish coercion.
|
|
40
|
+
*/
|
|
41
|
+
wallet?: PublishWallet;
|
|
42
|
+
/** @deprecated Prefer `wallet`. Kept for snapshot restore during transition. */
|
|
43
|
+
account?: PublishWallet | SeedSigner;
|
|
39
44
|
seedId?: string;
|
|
40
45
|
existingSeedUid?: string;
|
|
41
46
|
arweaveTransactions?: ArweaveTransactionInfo[];
|
|
@@ -75,7 +80,7 @@ export interface PublishMachineContext {
|
|
|
75
80
|
*/
|
|
76
81
|
signDataItems?: (uploads: import('./services/publish/helpers/getPublishUploadData').PublishUploadData[]) => Promise<import('./config').ArweaveDataItemInfoResult[]>;
|
|
77
82
|
/** Per-publish: signer for DataItems when useArweaveBundler (from createPublish options). */
|
|
78
|
-
dataItemSigner?: ethers.Wallet |
|
|
83
|
+
dataItemSigner?: ethers.Wallet | SeedSigner | PublishWallet;
|
|
79
84
|
/** Per-publish: sign Arweave transactions when NOT useArweaveBundler (from createPublish options). */
|
|
80
85
|
signArweaveTransactions?: (uploads: import('./config').SerializedPublishUpload[]) => Promise<import('./config').ArweaveTransactionInfoResult[]>;
|
|
81
86
|
/** Per-publish: JWK for in-process signing when NOT useArweaveBundler (from createPublish options). */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE9D,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,CAAA;AAEjD,mEAAmE;AACnE,MAAM,MAAM,yBAAyB,GAAG,OAAO,mBAAmB,EAAE,yBAAyB,CAAA;AAC7F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { r as e } from "./config-bUKEs4Uf.js";
|
|
2
|
+
import { BaseDb as t, applyArweaveL1TransactionIdLocal as n, arweaveL1FinalizeJobs as r, getArweaveUploadStatus as i, isArweaveL1AnchoringComplete as a, queryArweaveGatewayTransactionWithFallback as o } from "@seedprotocol/sdk";
|
|
3
|
+
import s from "debug";
|
|
4
|
+
import { eq as c } from "drizzle-orm";
|
|
5
|
+
//#region src/services/arweaveL1Finalize/worker.ts
|
|
6
|
+
var l = s("seedProtocol:arweaveL1Finalize:worker"), u = 45e3, d = null;
|
|
7
|
+
function f() {
|
|
8
|
+
d ?? (d = setInterval(() => {
|
|
9
|
+
p();
|
|
10
|
+
}, u), p());
|
|
11
|
+
}
|
|
12
|
+
async function p() {
|
|
13
|
+
let s;
|
|
14
|
+
try {
|
|
15
|
+
s = e();
|
|
16
|
+
} catch {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (!s.useArweaveBundler) return;
|
|
20
|
+
let u = t.getAppDb();
|
|
21
|
+
if (!u) return;
|
|
22
|
+
let d = await u.select().from(r).where(c(r.phase, "pending_l1")).limit(25);
|
|
23
|
+
if (d.length === 0) return;
|
|
24
|
+
let f = s.arweaveUploadVerificationBaseUrl, p = s.arweaveGraphqlUrl;
|
|
25
|
+
for (let e of d) {
|
|
26
|
+
let t = e.dataItemId;
|
|
27
|
+
try {
|
|
28
|
+
let s = e.l1TransactionId;
|
|
29
|
+
if (!s) {
|
|
30
|
+
let n = (await o(p, t))?.bundledInId ?? null;
|
|
31
|
+
n && (s = n, await u.update(r).set({
|
|
32
|
+
l1TransactionId: n,
|
|
33
|
+
bundleId: n,
|
|
34
|
+
updatedAt: Date.now()
|
|
35
|
+
}).where(c(r.id, e.id)));
|
|
36
|
+
}
|
|
37
|
+
let l = await i(f, t), d = l ? JSON.stringify(l) : null;
|
|
38
|
+
if (l && a(l)) {
|
|
39
|
+
let i = s ?? l.bundleId ?? l.turbo?.bundleId ?? e.l1TransactionId ?? null;
|
|
40
|
+
i && await n({
|
|
41
|
+
seedLocalId: e.seedLocalId,
|
|
42
|
+
versionLocalId: e.versionLocalId,
|
|
43
|
+
dataItemId: t,
|
|
44
|
+
l1TransactionId: i
|
|
45
|
+
}), await u.update(r).set({
|
|
46
|
+
phase: "confirmed",
|
|
47
|
+
statusJson: d,
|
|
48
|
+
l1TransactionId: i ?? e.l1TransactionId,
|
|
49
|
+
bundleId: l.bundleId ?? e.bundleId,
|
|
50
|
+
updatedAt: Date.now()
|
|
51
|
+
}).where(c(r.id, e.id));
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
await u.update(r).set({
|
|
55
|
+
statusJson: d,
|
|
56
|
+
updatedAt: Date.now()
|
|
57
|
+
}).where(c(r.id, e.id));
|
|
58
|
+
} catch (t) {
|
|
59
|
+
l("tick error for job", e.id, t), await u.update(r).set({
|
|
60
|
+
errorMessage: t instanceof Error ? t.message : String(t),
|
|
61
|
+
updatedAt: Date.now()
|
|
62
|
+
}).where(c(r.id, e.id));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { f as startArweaveL1FinalizeWorker };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=worker-B3R2zwxm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-B3R2zwxm.js","names":[],"sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n applyArweaveL1TransactionIdLocal,\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransactionWithFallback,\n} from '@seedprotocol/sdk'\nimport { eq } from 'drizzle-orm'\nimport { getPublishConfig } from '~/config'\nimport debug from 'debug'\n\nconst logger = debug('seedProtocol:arweaveL1Finalize:worker')\n\nconst TICK_MS = 45_000\n\nlet intervalId: ReturnType<typeof setInterval> | null = null\n\nexport function startArweaveL1FinalizeWorker(): void {\n if (intervalId != null) return\n intervalId = setInterval(() => {\n void runArweaveL1FinalizeTick()\n }, TICK_MS)\n void runArweaveL1FinalizeTick()\n}\n\nexport function stopArweaveL1FinalizeWorker(): void {\n if (intervalId != null) {\n clearInterval(intervalId)\n intervalId = null\n }\n}\n\nasync function runArweaveL1FinalizeTick(): Promise<void> {\n let config: ReturnType<typeof getPublishConfig>\n try {\n config = getPublishConfig()\n } catch {\n return\n }\n if (!config.useArweaveBundler) return\n\n const db = BaseDb.getAppDb()\n if (!db) return\n\n const pending = await db\n .select()\n .from(arweaveL1FinalizeJobs)\n .where(eq(arweaveL1FinalizeJobs.phase, 'pending_l1'))\n .limit(25)\n\n if (pending.length === 0) return\n\n const uploadBase = config.arweaveUploadVerificationBaseUrl\n const graphqlUrl = config.arweaveGraphqlUrl\n\n for (const job of pending) {\n const dataItemId = job.dataItemId\n try {\n let l1TxId = job.l1TransactionId\n\n if (!l1TxId) {\n const gql = await queryArweaveGatewayTransactionWithFallback(graphqlUrl, dataItemId)\n const bundled = gql?.bundledInId ?? null\n if (bundled) {\n l1TxId = bundled\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n l1TransactionId: bundled,\n bundleId: bundled,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n }\n\n const status = await getArweaveUploadStatus(uploadBase, dataItemId)\n const statusStr = status ? JSON.stringify(status) : null\n\n if (status && isArweaveL1AnchoringComplete(status)) {\n const resolvedL1 =\n l1TxId ??\n status.bundleId ??\n status.turbo?.bundleId ??\n job.l1TransactionId ??\n null\n\n if (resolvedL1) {\n await applyArweaveL1TransactionIdLocal({\n seedLocalId: job.seedLocalId,\n versionLocalId: job.versionLocalId,\n dataItemId,\n l1TransactionId: resolvedL1,\n })\n }\n\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n phase: 'confirmed',\n statusJson: statusStr,\n l1TransactionId: resolvedL1 ?? job.l1TransactionId,\n bundleId: status.bundleId ?? job.bundleId,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n continue\n }\n\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n statusJson: statusStr,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n } catch (err) {\n logger('tick error for job', job.id, err)\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n errorMessage: err instanceof Error ? err.message : String(err),\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n }\n}\n"],"mappings":";;;;;AAYA,IAAM,IAAS,EAAM,uCAAuC,GAEtD,IAAU,MAEZ,IAAoD;AAExD,SAAgB,IAAqC;CAC/C,MACJ,IAAa,kBAAkB;EAC7B,EAA8B;CAChC,GAAG,CAAO,GACV,EAA8B;AAChC;AASA,eAAe,IAA0C;CACvD,IAAI;CACJ,IAAI;EACF,IAAS,EAAiB;CAC5B,QAAQ;EACN;CACF;CACA,IAAI,CAAC,EAAO,mBAAmB;CAE/B,IAAM,IAAK,EAAO,SAAS;CAC3B,IAAI,CAAC,GAAI;CAET,IAAM,IAAU,MAAM,EACnB,OAAO,EACP,KAAK,CAAqB,EAC1B,MAAM,EAAG,EAAsB,OAAO,YAAY,CAAC,EACnD,MAAM,EAAE;CAEX,IAAI,EAAQ,WAAW,GAAG;CAE1B,IAAM,IAAa,EAAO,kCACpB,IAAa,EAAO;CAE1B,KAAK,IAAM,KAAO,GAAS;EACzB,IAAM,IAAa,EAAI;EACvB,IAAI;GACF,IAAI,IAAS,EAAI;GAEjB,IAAI,CAAC,GAAQ;IAEX,IAAM,KAAU,MADE,EAA2C,GAAY,CAAU,IAC9D,eAAe;IACpC,AAAI,MACF,IAAS,GACT,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;KACH,iBAAiB;KACjB,UAAU;KACV,WAAW,KAAK,IAAI;IACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;GAElD;GAEA,IAAM,IAAS,MAAM,EAAuB,GAAY,CAAU,GAC5D,IAAY,IAAS,KAAK,UAAU,CAAM,IAAI;GAEpD,IAAI,KAAU,EAA6B,CAAM,GAAG;IAClD,IAAM,IACJ,KACA,EAAO,YACP,EAAO,OAAO,YACd,EAAI,mBACJ;IAWF,AATI,KACF,MAAM,EAAiC;KACrC,aAAa,EAAI;KACjB,gBAAgB,EAAI;KACpB;KACA,iBAAiB;IACnB,CAAC,GAGH,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;KACH,OAAO;KACP,YAAY;KACZ,iBAAiB,KAAc,EAAI;KACnC,UAAU,EAAO,YAAY,EAAI;KACjC,WAAW,KAAK,IAAI;IACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;IAC9C;GACF;GAEA,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;IACH,YAAY;IACZ,WAAW,KAAK,IAAI;GACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;EAChD,SAAS,GAAK;GAEZ,AADA,EAAO,sBAAsB,EAAI,IAAI,CAAG,GACxC,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;IACH,cAAc,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG;IAC7D,WAAW,KAAK,IAAI;GACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;EAChD;CACF;AACF"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { M as e } from "./ensureManagedAccountEasConfigured-DDFBEb-B.js";
|
|
2
|
+
import { BaseDb as t, applyArweaveL1TransactionIdLocal as n, arweaveL1FinalizeJobs as r, getArweaveUploadStatus as i, isArweaveL1AnchoringComplete as a, queryArweaveGatewayTransactionWithFallback as o } from "@seedprotocol/sdk";
|
|
3
|
+
import s from "debug";
|
|
4
|
+
import { eq as c } from "drizzle-orm";
|
|
5
|
+
//#region src/services/arweaveL1Finalize/worker.ts
|
|
6
|
+
var l = s("seedProtocol:arweaveL1Finalize:worker"), u = 45e3, d = null;
|
|
7
|
+
function f() {
|
|
8
|
+
d ?? (fetch("http://127.0.0.1:7754/ingest/2810478a-7cf0-49a8-bc23-760b81417972", {
|
|
9
|
+
method: "POST",
|
|
10
|
+
headers: {
|
|
11
|
+
"Content-Type": "application/json",
|
|
12
|
+
"X-Debug-Session-Id": "4111bf"
|
|
13
|
+
},
|
|
14
|
+
body: JSON.stringify({
|
|
15
|
+
sessionId: "4111bf",
|
|
16
|
+
runId: "db-race",
|
|
17
|
+
hypothesisId: "A",
|
|
18
|
+
location: "worker.ts:start",
|
|
19
|
+
message: "startArweaveL1FinalizeWorker",
|
|
20
|
+
data: {},
|
|
21
|
+
timestamp: Date.now()
|
|
22
|
+
})
|
|
23
|
+
}).catch(() => {}), d = setInterval(() => {
|
|
24
|
+
p();
|
|
25
|
+
}, u), p());
|
|
26
|
+
}
|
|
27
|
+
async function p() {
|
|
28
|
+
let s;
|
|
29
|
+
try {
|
|
30
|
+
s = e();
|
|
31
|
+
} catch {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!s.useArweaveBundler || (fetch("http://127.0.0.1:7754/ingest/2810478a-7cf0-49a8-bc23-760b81417972", {
|
|
35
|
+
method: "POST",
|
|
36
|
+
headers: {
|
|
37
|
+
"Content-Type": "application/json",
|
|
38
|
+
"X-Debug-Session-Id": "4111bf"
|
|
39
|
+
},
|
|
40
|
+
body: JSON.stringify({
|
|
41
|
+
sessionId: "4111bf",
|
|
42
|
+
runId: "post-fix-db",
|
|
43
|
+
hypothesisId: "A",
|
|
44
|
+
location: "worker.ts:tick-before-db",
|
|
45
|
+
message: "L1 finalize tick checking BaseDb readiness",
|
|
46
|
+
data: { isAppDbReady: (() => {
|
|
47
|
+
try {
|
|
48
|
+
return t.isAppDbReady();
|
|
49
|
+
} catch {
|
|
50
|
+
return "threw";
|
|
51
|
+
}
|
|
52
|
+
})() },
|
|
53
|
+
timestamp: Date.now()
|
|
54
|
+
})
|
|
55
|
+
}).catch(() => {}), !t.isAppDbReady())) return;
|
|
56
|
+
let u = t.getAppDb();
|
|
57
|
+
if (!u) return;
|
|
58
|
+
let d = await u.select().from(r).where(c(r.phase, "pending_l1")).limit(25);
|
|
59
|
+
if (d.length === 0) return;
|
|
60
|
+
let f = s.arweaveUploadVerificationBaseUrl, p = s.arweaveGraphqlUrl;
|
|
61
|
+
for (let e of d) {
|
|
62
|
+
let t = e.dataItemId;
|
|
63
|
+
try {
|
|
64
|
+
let s = e.l1TransactionId;
|
|
65
|
+
if (!s) {
|
|
66
|
+
let n = (await o(p, t))?.bundledInId ?? null;
|
|
67
|
+
n && (s = n, await u.update(r).set({
|
|
68
|
+
l1TransactionId: n,
|
|
69
|
+
bundleId: n,
|
|
70
|
+
updatedAt: Date.now()
|
|
71
|
+
}).where(c(r.id, e.id)));
|
|
72
|
+
}
|
|
73
|
+
let l = await i(f, t), d = l ? JSON.stringify(l) : null;
|
|
74
|
+
if (l && a(l)) {
|
|
75
|
+
let i = s ?? l.bundleId ?? l.turbo?.bundleId ?? e.l1TransactionId ?? null;
|
|
76
|
+
i && await n({
|
|
77
|
+
seedLocalId: e.seedLocalId,
|
|
78
|
+
versionLocalId: e.versionLocalId,
|
|
79
|
+
dataItemId: t,
|
|
80
|
+
l1TransactionId: i
|
|
81
|
+
}), await u.update(r).set({
|
|
82
|
+
phase: "confirmed",
|
|
83
|
+
statusJson: d,
|
|
84
|
+
l1TransactionId: i ?? e.l1TransactionId,
|
|
85
|
+
bundleId: l.bundleId ?? e.bundleId,
|
|
86
|
+
updatedAt: Date.now()
|
|
87
|
+
}).where(c(r.id, e.id));
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
await u.update(r).set({
|
|
91
|
+
statusJson: d,
|
|
92
|
+
updatedAt: Date.now()
|
|
93
|
+
}).where(c(r.id, e.id));
|
|
94
|
+
} catch (t) {
|
|
95
|
+
l("tick error for job", e.id, t), await u.update(r).set({
|
|
96
|
+
errorMessage: t instanceof Error ? t.message : String(t),
|
|
97
|
+
updatedAt: Date.now()
|
|
98
|
+
}).where(c(r.id, e.id));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { f as startArweaveL1FinalizeWorker };
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=worker-BVc0OzNI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-BVc0OzNI.js","names":[],"sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n applyArweaveL1TransactionIdLocal,\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransactionWithFallback,\n} from '@seedprotocol/sdk'\nimport { eq } from 'drizzle-orm'\nimport { getPublishConfig } from '~/config'\nimport debug from 'debug'\n\nconst logger = debug('seedProtocol:arweaveL1Finalize:worker')\n\nconst TICK_MS = 45_000\n\nlet intervalId: ReturnType<typeof setInterval> | null = null\n\nexport function startArweaveL1FinalizeWorker(): void {\n if (intervalId != null) return\n // #region agent log\n fetch('http://127.0.0.1:7754/ingest/2810478a-7cf0-49a8-bc23-760b81417972',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'4111bf'},body:JSON.stringify({sessionId:'4111bf',runId:'db-race',hypothesisId:'A',location:'worker.ts:start',message:'startArweaveL1FinalizeWorker',data:{},timestamp:Date.now()})}).catch(()=>{});\n // #endregion\n intervalId = setInterval(() => {\n void runArweaveL1FinalizeTick()\n }, TICK_MS)\n void runArweaveL1FinalizeTick()\n}\n\nexport function stopArweaveL1FinalizeWorker(): void {\n if (intervalId != null) {\n clearInterval(intervalId)\n intervalId = null\n }\n}\n\nasync function runArweaveL1FinalizeTick(): Promise<void> {\n let config: ReturnType<typeof getPublishConfig>\n try {\n config = getPublishConfig()\n } catch {\n return\n }\n if (!config.useArweaveBundler) return\n\n // #region agent log\n fetch('http://127.0.0.1:7754/ingest/2810478a-7cf0-49a8-bc23-760b81417972',{method:'POST',headers:{'Content-Type':'application/json','X-Debug-Session-Id':'4111bf'},body:JSON.stringify({sessionId:'4111bf',runId:'post-fix-db',hypothesisId:'A',location:'worker.ts:tick-before-db',message:'L1 finalize tick checking BaseDb readiness',data:{isAppDbReady:(()=>{try{return BaseDb.isAppDbReady()}catch{return 'threw'}})()},timestamp:Date.now()})}).catch(()=>{});\n // #endregion\n // initPublish may start this worker before Seed platformClassesInit configures BaseDb.\n if (!BaseDb.isAppDbReady()) return\n const db = BaseDb.getAppDb()\n if (!db) return\n\n const pending = await db\n .select()\n .from(arweaveL1FinalizeJobs)\n .where(eq(arweaveL1FinalizeJobs.phase, 'pending_l1'))\n .limit(25)\n\n if (pending.length === 0) return\n\n const uploadBase = config.arweaveUploadVerificationBaseUrl\n const graphqlUrl = config.arweaveGraphqlUrl\n\n for (const job of pending) {\n const dataItemId = job.dataItemId\n try {\n let l1TxId = job.l1TransactionId\n\n if (!l1TxId) {\n const gql = await queryArweaveGatewayTransactionWithFallback(graphqlUrl, dataItemId)\n const bundled = gql?.bundledInId ?? null\n if (bundled) {\n l1TxId = bundled\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n l1TransactionId: bundled,\n bundleId: bundled,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n }\n\n const status = await getArweaveUploadStatus(uploadBase, dataItemId)\n const statusStr = status ? JSON.stringify(status) : null\n\n if (status && isArweaveL1AnchoringComplete(status)) {\n const resolvedL1 =\n l1TxId ??\n status.bundleId ??\n status.turbo?.bundleId ??\n job.l1TransactionId ??\n null\n\n if (resolvedL1) {\n await applyArweaveL1TransactionIdLocal({\n seedLocalId: job.seedLocalId,\n versionLocalId: job.versionLocalId,\n dataItemId,\n l1TransactionId: resolvedL1,\n })\n }\n\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n phase: 'confirmed',\n statusJson: statusStr,\n l1TransactionId: resolvedL1 ?? job.l1TransactionId,\n bundleId: status.bundleId ?? job.bundleId,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n continue\n }\n\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n statusJson: statusStr,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n } catch (err) {\n logger('tick error for job', job.id, err)\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n errorMessage: err instanceof Error ? err.message : String(err),\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { M as e } from "./ensureManagedAccountEasConfigured-CZGguM7q.js";
|
|
2
|
+
import { BaseDb as t, applyArweaveL1TransactionIdLocal as n, arweaveL1FinalizeJobs as r, getArweaveUploadStatus as i, isArweaveL1AnchoringComplete as a, queryArweaveGatewayTransactionWithFallback as o } from "@seedprotocol/sdk";
|
|
3
|
+
import s from "debug";
|
|
4
|
+
import { eq as c } from "drizzle-orm";
|
|
5
|
+
//#region src/services/arweaveL1Finalize/worker.ts
|
|
6
|
+
var l = s("seedProtocol:arweaveL1Finalize:worker"), u = 45e3, d = null;
|
|
7
|
+
function f() {
|
|
8
|
+
d ?? (d = setInterval(() => {
|
|
9
|
+
p();
|
|
10
|
+
}, u), p());
|
|
11
|
+
}
|
|
12
|
+
async function p() {
|
|
13
|
+
let s;
|
|
14
|
+
try {
|
|
15
|
+
s = e();
|
|
16
|
+
} catch {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (!s.useArweaveBundler || !t.isAppDbReady()) return;
|
|
20
|
+
let u = t.getAppDb();
|
|
21
|
+
if (!u) return;
|
|
22
|
+
let d = await u.select().from(r).where(c(r.phase, "pending_l1")).limit(25);
|
|
23
|
+
if (d.length === 0) return;
|
|
24
|
+
let f = s.arweaveUploadVerificationBaseUrl, p = s.arweaveGraphqlUrl;
|
|
25
|
+
for (let e of d) {
|
|
26
|
+
let t = e.dataItemId;
|
|
27
|
+
try {
|
|
28
|
+
let s = e.l1TransactionId;
|
|
29
|
+
if (!s) {
|
|
30
|
+
let n = (await o(p, t))?.bundledInId ?? null;
|
|
31
|
+
n && (s = n, await u.update(r).set({
|
|
32
|
+
l1TransactionId: n,
|
|
33
|
+
bundleId: n,
|
|
34
|
+
updatedAt: Date.now()
|
|
35
|
+
}).where(c(r.id, e.id)));
|
|
36
|
+
}
|
|
37
|
+
let l = await i(f, t), d = l ? JSON.stringify(l) : null;
|
|
38
|
+
if (l && a(l)) {
|
|
39
|
+
let i = s ?? l.bundleId ?? l.turbo?.bundleId ?? e.l1TransactionId ?? null;
|
|
40
|
+
i && await n({
|
|
41
|
+
seedLocalId: e.seedLocalId,
|
|
42
|
+
versionLocalId: e.versionLocalId,
|
|
43
|
+
dataItemId: t,
|
|
44
|
+
l1TransactionId: i
|
|
45
|
+
}), await u.update(r).set({
|
|
46
|
+
phase: "confirmed",
|
|
47
|
+
statusJson: d,
|
|
48
|
+
l1TransactionId: i ?? e.l1TransactionId,
|
|
49
|
+
bundleId: l.bundleId ?? e.bundleId,
|
|
50
|
+
updatedAt: Date.now()
|
|
51
|
+
}).where(c(r.id, e.id));
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
await u.update(r).set({
|
|
55
|
+
statusJson: d,
|
|
56
|
+
updatedAt: Date.now()
|
|
57
|
+
}).where(c(r.id, e.id));
|
|
58
|
+
} catch (t) {
|
|
59
|
+
l("tick error for job", e.id, t), await u.update(r).set({
|
|
60
|
+
errorMessage: t instanceof Error ? t.message : String(t),
|
|
61
|
+
updatedAt: Date.now()
|
|
62
|
+
}).where(c(r.id, e.id));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { f as startArweaveL1FinalizeWorker };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=worker-BWERw2Le.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-BWERw2Le.js","names":[],"sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n applyArweaveL1TransactionIdLocal,\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransactionWithFallback,\n} from '@seedprotocol/sdk'\nimport { eq } from 'drizzle-orm'\nimport { getPublishConfig } from '~/config'\nimport debug from 'debug'\n\nconst logger = debug('seedProtocol:arweaveL1Finalize:worker')\n\nconst TICK_MS = 45_000\n\nlet intervalId: ReturnType<typeof setInterval> | null = null\n\nexport function startArweaveL1FinalizeWorker(): void {\n if (intervalId != null) return\n intervalId = setInterval(() => {\n void runArweaveL1FinalizeTick()\n }, TICK_MS)\n void runArweaveL1FinalizeTick()\n}\n\nexport function stopArweaveL1FinalizeWorker(): void {\n if (intervalId != null) {\n clearInterval(intervalId)\n intervalId = null\n }\n}\n\nasync function runArweaveL1FinalizeTick(): Promise<void> {\n let config: ReturnType<typeof getPublishConfig>\n try {\n config = getPublishConfig()\n } catch {\n return\n }\n if (!config.useArweaveBundler) return\n\n // initPublish may start this worker before Seed platformClassesInit configures BaseDb.\n if (!BaseDb.isAppDbReady()) return\n const db = BaseDb.getAppDb()\n if (!db) return\n\n const pending = await db\n .select()\n .from(arweaveL1FinalizeJobs)\n .where(eq(arweaveL1FinalizeJobs.phase, 'pending_l1'))\n .limit(25)\n\n if (pending.length === 0) return\n\n const uploadBase = config.arweaveUploadVerificationBaseUrl\n const graphqlUrl = config.arweaveGraphqlUrl\n\n for (const job of pending) {\n const dataItemId = job.dataItemId\n try {\n let l1TxId = job.l1TransactionId\n\n if (!l1TxId) {\n const gql = await queryArweaveGatewayTransactionWithFallback(graphqlUrl, dataItemId)\n const bundled = gql?.bundledInId ?? null\n if (bundled) {\n l1TxId = bundled\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n l1TransactionId: bundled,\n bundleId: bundled,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n }\n\n const status = await getArweaveUploadStatus(uploadBase, dataItemId)\n const statusStr = status ? JSON.stringify(status) : null\n\n if (status && isArweaveL1AnchoringComplete(status)) {\n const resolvedL1 =\n l1TxId ??\n status.bundleId ??\n status.turbo?.bundleId ??\n job.l1TransactionId ??\n null\n\n if (resolvedL1) {\n await applyArweaveL1TransactionIdLocal({\n seedLocalId: job.seedLocalId,\n versionLocalId: job.versionLocalId,\n dataItemId,\n l1TransactionId: resolvedL1,\n })\n }\n\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n phase: 'confirmed',\n statusJson: statusStr,\n l1TransactionId: resolvedL1 ?? job.l1TransactionId,\n bundleId: status.bundleId ?? job.bundleId,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n continue\n }\n\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n statusJson: statusStr,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n } catch (err) {\n logger('tick error for job', job.id, err)\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n errorMessage: err instanceof Error ? err.message : String(err),\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n }\n}\n"],"mappings":";;;;;AAYA,IAAM,IAAS,EAAM,uCAAuC,GAEtD,IAAU,MAEZ,IAAoD;AAExD,SAAgB,IAAqC;CAC/C,MACJ,IAAa,kBAAkB;EAC7B,EAA8B;CAChC,GAAG,CAAO,GACV,EAA8B;AAChC;AASA,eAAe,IAA0C;CACvD,IAAI;CACJ,IAAI;EACF,IAAS,EAAiB;CAC5B,QAAQ;EACN;CACF;CAIA,IAHI,CAAC,EAAO,qBAGR,CAAC,EAAO,aAAa,GAAG;CAC5B,IAAM,IAAK,EAAO,SAAS;CAC3B,IAAI,CAAC,GAAI;CAET,IAAM,IAAU,MAAM,EACnB,OAAO,EACP,KAAK,CAAqB,EAC1B,MAAM,EAAG,EAAsB,OAAO,YAAY,CAAC,EACnD,MAAM,EAAE;CAEX,IAAI,EAAQ,WAAW,GAAG;CAE1B,IAAM,IAAa,EAAO,kCACpB,IAAa,EAAO;CAE1B,KAAK,IAAM,KAAO,GAAS;EACzB,IAAM,IAAa,EAAI;EACvB,IAAI;GACF,IAAI,IAAS,EAAI;GAEjB,IAAI,CAAC,GAAQ;IAEX,IAAM,KAAU,MADE,EAA2C,GAAY,CAAU,IAC9D,eAAe;IACpC,AAAI,MACF,IAAS,GACT,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;KACH,iBAAiB;KACjB,UAAU;KACV,WAAW,KAAK,IAAI;IACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;GAElD;GAEA,IAAM,IAAS,MAAM,EAAuB,GAAY,CAAU,GAC5D,IAAY,IAAS,KAAK,UAAU,CAAM,IAAI;GAEpD,IAAI,KAAU,EAA6B,CAAM,GAAG;IAClD,IAAM,IACJ,KACA,EAAO,YACP,EAAO,OAAO,YACd,EAAI,mBACJ;IAWF,AATI,KACF,MAAM,EAAiC;KACrC,aAAa,EAAI;KACjB,gBAAgB,EAAI;KACpB;KACA,iBAAiB;IACnB,CAAC,GAGH,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;KACH,OAAO;KACP,YAAY;KACZ,iBAAiB,KAAc,EAAI;KACnC,UAAU,EAAO,YAAY,EAAI;KACjC,WAAW,KAAK,IAAI;IACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;IAC9C;GACF;GAEA,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;IACH,YAAY;IACZ,WAAW,KAAK,IAAI;GACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;EAChD,SAAS,GAAK;GAEZ,AADA,EAAO,sBAAsB,EAAI,IAAI,CAAG,GACxC,MAAM,EACH,OAAO,CAAqB,EAC5B,IAAI;IACH,cAAc,aAAe,QAAQ,EAAI,UAAU,OAAO,CAAG;IAC7D,WAAW,KAAK,IAAI;GACtB,CAAC,EACA,MAAM,EAAG,EAAsB,IAAI,EAAI,EAAG,CAAC;EAChD;CACF;AACF"}
|