@seedprotocol/publish 0.7.8 → 0.7.9-next.1177.ga3e08ed

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.
Files changed (86) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +9 -24
  3. package/dist/{chainConfig-D9VBbk0H.js → chainConfig-D801ynuH.js} +1388 -1859
  4. package/dist/chainConfig-D801ynuH.js.map +1 -0
  5. package/dist/config.d.ts +9 -53
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/{ensureAutomationSessionKey-CiAto4jZ.js → ensureAutomationSessionKey-DqAS9J9s.js} +19 -19
  8. package/dist/{ensureAutomationSessionKey-CiAto4jZ.js.map → ensureAutomationSessionKey-DqAS9J9s.js.map} +1 -1
  9. package/dist/{ensureModularPublishBootstrap-CDBZqcsZ.js → ensureModularPublishBootstrap-DqmBSJ7_.js} +8 -8
  10. package/dist/{ensureModularPublishBootstrap-CDBZqcsZ.js.map → ensureModularPublishBootstrap-DqmBSJ7_.js.map} +1 -1
  11. package/dist/{ensureSmartWalletThenPublish-hIBtsKXM.js → ensureSmartWalletThenPublish-DcuHyKXL.js} +4 -4
  12. package/dist/{ensureSmartWalletThenPublish-hIBtsKXM.js.map → ensureSmartWalletThenPublish-DcuHyKXL.js.map} +1 -1
  13. package/dist/helpers/constants.d.ts +1 -1
  14. package/dist/helpers/constants.d.ts.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +35 -35
  18. package/dist/index.js.map +1 -1
  19. package/dist/{managedAccountAdmin-Cn1E82-b.js → managedAccountAdmin-IdudyXSZ.js} +6 -6
  20. package/dist/{managedAccountAdmin-Cn1E82-b.js.map → managedAccountAdmin-IdudyXSZ.js.map} +1 -1
  21. package/dist/payment.d.ts +7 -10
  22. package/dist/payment.d.ts.map +1 -1
  23. package/dist/{publishAuthorization-D0HD1CgM.js → publishAuthorization-D1aMORBP.js} +9 -9
  24. package/dist/{publishAuthorization-D0HD1CgM.js.map → publishAuthorization-D1aMORBP.js.map} +1 -1
  25. package/dist/{resolveRevokeAccount-BPZey06q.js → resolveRevokeAccount-zYQmsure.js} +12 -12
  26. package/dist/{resolveRevokeAccount-BPZey06q.js.map → resolveRevokeAccount-zYQmsure.js.map} +1 -1
  27. package/dist/services/arweaveL1Finalize/enqueue.d.ts.map +1 -1
  28. package/dist/services/arweaveL1Finalize/worker.d.ts.map +1 -1
  29. package/dist/services/publish/actors/checking.d.ts.map +1 -1
  30. package/dist/services/publish/actors/createArweaveDataItems.d.ts.map +1 -1
  31. package/dist/services/publish/actors/createArweaveDataItemsPhase2.d.ts.map +1 -1
  32. package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts +5 -3
  33. package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts.map +1 -1
  34. package/dist/services/publish/actors/index.d.ts +0 -5
  35. package/dist/services/publish/actors/index.d.ts.map +1 -1
  36. package/dist/services/publish/actors/multiPublishReceipt.d.ts +3 -0
  37. package/dist/services/publish/actors/multiPublishReceipt.d.ts.map +1 -1
  38. package/dist/services/publish/actors/preparingHtmlEmbedded.d.ts +1 -1
  39. package/dist/services/publish/actors/publishRequestNormalize.d.ts.map +1 -1
  40. package/dist/services/publish/actors/recordMultiPublishReceipt.d.ts.map +1 -1
  41. package/dist/services/publish/actors/uploadViaBundler.d.ts.map +1 -1
  42. package/dist/services/publish/actors/utils.d.ts +0 -24
  43. package/dist/services/publish/actors/utils.d.ts.map +1 -1
  44. package/dist/services/publish/helpers/getPublishUploadData.d.ts +3 -4
  45. package/dist/services/publish/helpers/getPublishUploadData.d.ts.map +1 -1
  46. package/dist/services/publish/helpers/itemNeedsArweave.d.ts +1 -1
  47. package/dist/services/publish/helpers/itemNeedsArweave.d.ts.map +1 -1
  48. package/dist/services/publish/index.d.ts +3 -77
  49. package/dist/services/publish/index.d.ts.map +1 -1
  50. package/dist/services/publishCost/estimatePublishCost.d.ts +5 -4
  51. package/dist/services/publishCost/estimatePublishCost.d.ts.map +1 -1
  52. package/dist/services/publishCost/types.d.ts +5 -5
  53. package/dist/services/publishCost/types.d.ts.map +1 -1
  54. package/dist/services/publishManager/actions/createPublish.d.ts.map +1 -1
  55. package/dist/services/publishManager/actors/restorableSnapshot.d.ts +0 -4
  56. package/dist/services/publishManager/actors/restorableSnapshot.d.ts.map +1 -1
  57. package/dist/thirdweb.js +94 -94
  58. package/dist/thirdweb.js.map +1 -1
  59. package/dist/types.d.ts +4 -30
  60. package/dist/types.d.ts.map +1 -1
  61. package/dist/worker-DaG8XHbB.js +78 -0
  62. package/dist/worker-DaG8XHbB.js.map +1 -0
  63. package/package.json +8 -8
  64. package/dist/chainConfig-D9VBbk0H.js.map +0 -1
  65. package/dist/helpers/uploadApi.d.ts +0 -37
  66. package/dist/helpers/uploadApi.d.ts.map +0 -1
  67. package/dist/services/publish/actors/createArweaveTransactions.d.ts +0 -12
  68. package/dist/services/publish/actors/createArweaveTransactions.d.ts.map +0 -1
  69. package/dist/services/publish/actors/createArweaveTransactionsPhase2.d.ts +0 -8
  70. package/dist/services/publish/actors/createArweaveTransactionsPhase2.d.ts.map +0 -1
  71. package/dist/services/publish/actors/pollForConfirmation.d.ts +0 -20
  72. package/dist/services/publish/actors/pollForConfirmation.d.ts.map +0 -1
  73. package/dist/services/publish/actors/sendReimbursementRequest.d.ts +0 -7
  74. package/dist/services/publish/actors/sendReimbursementRequest.d.ts.map +0 -1
  75. package/dist/services/publish/actors/uploadData.d.ts +0 -6
  76. package/dist/services/publish/actors/uploadData.d.ts.map +0 -1
  77. package/dist/services/upload/actors.d.ts +0 -11
  78. package/dist/services/upload/actors.d.ts.map +0 -1
  79. package/dist/services/upload/index.d.ts +0 -5
  80. package/dist/services/upload/index.d.ts.map +0 -1
  81. package/dist/services/upload/uploadMachine.d.ts +0 -48
  82. package/dist/services/upload/uploadMachine.d.ts.map +0 -1
  83. package/dist/services/upload/utils.d.ts +0 -21
  84. package/dist/services/upload/utils.d.ts.map +0 -1
  85. package/dist/worker-WIMx6RTs.js +0 -87
  86. package/dist/worker-WIMx6RTs.js.map +0 -1
@@ -1,37 +0,0 @@
1
- /**
2
- * Serialized form part for IPC to main process (avoids CORS by proxying uploads).
3
- */
4
- export type UploadFormPart = {
5
- name: string;
6
- value: string;
7
- encoding?: 'base64';
8
- filename?: string;
9
- };
10
- /**
11
- * Convert FormData to a serializable array for IPC. Blobs are base64-encoded.
12
- */
13
- export declare function formDataToSerializableParts(formData: FormData): Promise<UploadFormPart[]>;
14
- /** Result from upload POST (status 0 = network/proxy error). */
15
- export type PostUploadResult = {
16
- status: number;
17
- body: unknown;
18
- error?: string;
19
- message?: string;
20
- };
21
- /** Build a user-facing message when the upload API returns a non-2xx status. */
22
- export declare function uploadServerErrorMessage(status: number, body: unknown, transactionKeys?: string | null): string;
23
- /** Map technical network error messages to a short, user-facing message. */
24
- export declare function uploadNetworkErrorMessage(technicalMessage?: string | null): string;
25
- /**
26
- * POST to the upload API. Uses main-process proxy in Electron to avoid CORS;
27
- * falls back to fetch when not in Electron (e.g. browser tests).
28
- */
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>;
32
- /**
33
- * POST to Arweave bundler for instant uploads. Same FormData format as upload API.
34
- * Uses main-process proxy in Electron to avoid CORS.
35
- */
36
- export declare function postUploadBundler(url: string, formData: FormData): Promise<PostUploadResult>;
37
- //# sourceMappingURL=uploadApi.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,12 +0,0 @@
1
- import type { PublishMachineContext } from '../../../types';
2
- import type { ArweaveTransactionInfo } from '../../../types';
3
- import type { PublishUpload } from '../../../types';
4
- export type CreateArweaveTransactionsResult = {
5
- arweaveTransactions: ArweaveTransactionInfo[];
6
- publishUploads: PublishUpload[];
7
- };
8
- export declare const createArweaveTransactions: import("xstate").PromiseActorLogic<CreateArweaveTransactionsResult, {
9
- context: PublishMachineContext;
10
- event: unknown;
11
- }, import("xstate").EventObject>;
12
- //# sourceMappingURL=createArweaveTransactions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createArweaveTransactions.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createArweaveTransactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAMnD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,mBAAmB,EAAE,sBAAsB,EAAE,CAAA;IAC7C,cAAc,EAAE,aAAa,EAAE,CAAA;CAChC,CAAA;AAID,eAAO,MAAM,yBAAyB;aAFE,qBAAqB;WAAS,OAAO;gCAiF5E,CAAA"}
@@ -1,8 +0,0 @@
1
- import type { PublishMachineContext } from '../../../types';
2
- import type { CreateArweaveTransactionsResult } from './createArweaveTransactions';
3
- /** Phase 2: deferred Html storage files only (after embedded images uploaded + Html rewritten). */
4
- export declare const createArweaveTransactionsPhase2: import("xstate").PromiseActorLogic<CreateArweaveTransactionsResult, {
5
- context: PublishMachineContext;
6
- event: unknown;
7
- }, import("xstate").EventObject>;
8
- //# sourceMappingURL=createArweaveTransactionsPhase2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createArweaveTransactionsPhase2.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createArweaveTransactionsPhase2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAO3D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAA;AAIlF,mGAAmG;AACnG,eAAO,MAAM,+BAA+B;aAHJ,qBAAqB;WAAS,OAAO;gCAoF5E,CAAA"}
@@ -1,20 +0,0 @@
1
- import type { PublishMachineContext } from '../../../types';
2
- export type WaitForConfirmationOptions = {
3
- intervalMs?: number;
4
- /** Give up after this long. Default 30 min: Arweave usually confirms within minutes. */
5
- timeoutMs?: number;
6
- /** Give up after this many failed status requests in a row (default 12, about a minute). */
7
- maxConsecutiveErrors?: number;
8
- };
9
- /**
10
- * Polls `getStatus` until it reports `confirmed`. Rejects on timeout, or with the last error once
11
- * the status request has failed `maxConsecutiveErrors` times in a row; a success resets the count.
12
- */
13
- export declare function waitForArweaveConfirmation(getStatus: () => Promise<{
14
- confirmed?: unknown;
15
- } | null | undefined>, label: string, { intervalMs, timeoutMs, maxConsecutiveErrors }?: WaitForConfirmationOptions): Promise<void>;
16
- export declare const pollForConfirmation: import("xstate").PromiseActorLogic<void, {
17
- context: PublishMachineContext;
18
- event: unknown;
19
- }, import("xstate").EventObject>;
20
- //# sourceMappingURL=pollForConfirmation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pollForConfirmation.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/pollForConfirmation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAK3D,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC,EACpE,KAAK,EAAE,MAAM,EACb,EAAE,UAAiB,EAAE,SAAuB,EAAE,oBAAyB,EAAE,GAAE,0BAA+B,GACzG,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,eAAO,MAAM,mBAAmB;aAjDQ,qBAAqB;WAAS,OAAO;gCAiE3E,CAAA"}
@@ -1,7 +0,0 @@
1
- import type { PublishMachineContext } from '../../../types';
2
- import type { ReimbursementResponse } from '../../../types';
3
- export declare const sendReimbursementRequest: import("xstate").PromiseActorLogic<ReimbursementResponse, {
4
- context: PublishMachineContext;
5
- event: unknown;
6
- }, import("xstate").EventObject>;
7
- //# sourceMappingURL=sendReimbursementRequest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendReimbursementRequest.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/sendReimbursementRequest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAU3D,eAAO,MAAM,wBAAwB;aAFG,qBAAqB;WAAS,OAAO;gCAgD5E,CAAA"}
@@ -1,6 +0,0 @@
1
- import { EventObject } from 'xstate';
2
- import type { PublishMachineContext } from '../../../types';
3
- export declare const uploadData: import("xstate").CallbackActorLogic<EventObject, {
4
- context: PublishMachineContext;
5
- }, EventObject>;
6
- //# sourceMappingURL=uploadData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uploadData.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/uploadData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAa3D,eAAO,MAAM,UAAU;aAAwC,qBAAqB;eAkEnF,CAAA"}
@@ -1,11 +0,0 @@
1
- import { ActorRefFrom, EventObject } from 'xstate';
2
- import type { ReimbursementResponse, UploadMachineContext } from './uploadMachine';
3
- export type UploadActor = ActorRefFrom<typeof import('./uploadMachine').uploadMachine>;
4
- export declare const sendReimbursementRequest: import("xstate").PromiseActorLogic<ReimbursementResponse, {
5
- context: UploadMachineContext;
6
- event?: unknown;
7
- }, EventObject>;
8
- export declare const uploadData: import("xstate").CallbackActorLogic<EventObject, {
9
- context: UploadMachineContext;
10
- }, EventObject>;
11
- //# sourceMappingURL=actors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actors.d.ts","sourceRoot":"","sources":["../../../src/services/upload/actors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAA6B,MAAM,QAAQ,CAAA;AAS7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAIlF,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,iBAAiB,EAAE,aAAa,CAAC,CAAA;AAEtF,eAAO,MAAM,wBAAwB;aAIf,oBAAoB;YAAU,OAAO;eA6C1D,CAAA;AAED,eAAO,MAAM,UAAU;aAAwC,oBAAoB;eAuClF,CAAA"}
@@ -1,5 +0,0 @@
1
- export type { ReimbursementResponse } from '../../types';
2
- export { uploadMachine } from './uploadMachine';
3
- export type { UploadMachineContext } from './uploadMachine';
4
- export { saveUploadProcessToDb, getUploadProcess, startUpload, type UploadProcessRecord, } from './utils';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/upload/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,KAAK,mBAAmB,GACzB,MAAM,SAAS,CAAA"}
@@ -1,48 +0,0 @@
1
- import type { ArweaveTransactionInfo } from '../../types';
2
- export type ReimbursementResponse = {
3
- transactionId: string;
4
- };
5
- export type UploadMachineContext = {
6
- uploadTransactions: ArweaveTransactionInfo[];
7
- reimbursementTransactionId?: string;
8
- reimbursementConfirmed?: boolean;
9
- transactionKeys?: string;
10
- requestResponse?: ReimbursementResponse;
11
- endpoint?: string;
12
- completionPercentage?: number;
13
- };
14
- export declare const uploadMachine: import("xstate").StateMachine<UploadMachineContext, import("xstate").AnyEventObject, {
15
- [x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<ReimbursementResponse, {
16
- context: UploadMachineContext;
17
- event?: unknown;
18
- }, import("xstate").EventObject> | import("xstate").CallbackActorLogic<import("xstate").EventObject, {
19
- context: UploadMachineContext;
20
- }, import("xstate").EventObject>> | undefined;
21
- }, {
22
- src: "sendReimbursementRequest";
23
- logic: import("xstate").PromiseActorLogic<ReimbursementResponse, {
24
- context: UploadMachineContext;
25
- event?: unknown;
26
- }, import("xstate").EventObject>;
27
- id: string | undefined;
28
- } | {
29
- src: "uploadData";
30
- logic: import("xstate").CallbackActorLogic<import("xstate").EventObject, {
31
- context: UploadMachineContext;
32
- }, import("xstate").EventObject>;
33
- id: string | undefined;
34
- }, {
35
- type: "handleError";
36
- params: unknown;
37
- }, never, never, "success" | "failure" | "sendReimbursementRequest" | "pollForConfirmation" | "uploadData" | "reset", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
38
- id: "upload";
39
- states: {
40
- readonly sendReimbursementRequest: {};
41
- readonly pollForConfirmation: {};
42
- readonly uploadData: {};
43
- readonly reset: {};
44
- readonly success: {};
45
- readonly failure: {};
46
- };
47
- }, import("xstate").MetaObject>;
48
- //# sourceMappingURL=uploadMachine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uploadMachine.d.ts","sourceRoot":"","sources":["../../../src/services/upload/uploadMachine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,qBAAqB,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;IAC5C,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAiFxB,CAAA"}
@@ -1,21 +0,0 @@
1
- import { uploadMachine } from './uploadMachine';
2
- import type { UploadMachineContext } from './uploadMachine';
3
- import type { SnapshotFrom } from 'xstate';
4
- export interface UploadProcessRecord {
5
- id?: number;
6
- reimbursementConfirmed: boolean;
7
- reimbursementTransactionId?: string;
8
- transactionKeys?: string;
9
- persistedSnapshot: unknown;
10
- createdAt?: number;
11
- updatedAt?: number;
12
- }
13
- export declare function saveUploadProcessToDb(params: {
14
- persistedSnapshot: SnapshotFrom<typeof uploadMachine>;
15
- reimbursementTransactionId?: string;
16
- transactionKeys?: string;
17
- reimbursementConfirmed?: boolean;
18
- }): Promise<void>;
19
- export declare function getUploadProcess(context: Partial<UploadMachineContext>): Promise<import('xstate').ActorRefFrom<typeof uploadMachine> | undefined>;
20
- export declare function startUpload(context: Partial<UploadMachineContext>): Promise<import('xstate').ActorRefFrom<typeof uploadMachine> | undefined>;
21
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/services/upload/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,sBAAsB,EAAE,OAAO,CAAA;IAC/B,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAkDD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,iBAAiB,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;IACrD,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,OAAO,CAAC,OAAO,QAAQ,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG,SAAS,CAAC,CA0B1E;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,OAAO,CAAC,OAAO,QAAQ,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG,SAAS,CAAC,CAgB1E"}
@@ -1,87 +0,0 @@
1
- import { a as e, nn as t } from "./chainConfig-D9VBbk0H.js";
2
- import { BaseDb as n, arweaveL1FinalizeJobs as r, getArweaveUploadStatus as i, isArweaveL1AnchoringComplete as a, queryArweaveGatewayTransactionWithFallback as o, restoreDataItemIdsOverwrittenByL1 as s } from "@seedprotocol/sdk";
3
- import c from "debug";
4
- import { eq as l } from "drizzle-orm";
5
- //#region src/services/arweaveL1Finalize/worker.ts
6
- var u = c("seedProtocol:arweaveL1Finalize:worker"), d = 45e3, f = null, p = !1;
7
- function m() {
8
- f ?? (f = setInterval(() => {
9
- g();
10
- }, d), g());
11
- }
12
- function h() {
13
- f != null && (clearInterval(f), f = null);
14
- }
15
- async function g() {
16
- let c;
17
- try {
18
- c = e();
19
- } catch {
20
- return;
21
- }
22
- if (!c.useArweaveBundler || !n.isAppDbReady()) return;
23
- let d = n.getAppDb();
24
- if (!d) return;
25
- if (!p) {
26
- p = !0;
27
- try {
28
- let { restored: e, ambiguous: t } = await s();
29
- (e || t) && u(`restored ${e} data item ids overwritten by L1 ids; ${t} bundles ambiguous, left as they are`);
30
- } catch (e) {
31
- u("restoring data item ids failed", e);
32
- }
33
- }
34
- let f = await d.select().from(r).where(l(r.phase, "pending_l1")).limit(25);
35
- if (f.length === 0) return;
36
- let m = c.arweaveUploadVerificationBaseUrl, h = c.arweaveGraphqlUrl, g = t(c).storage.uploadTo === "turbo";
37
- for (let e of f) {
38
- let t = e.dataItemId;
39
- try {
40
- let n = e.l1TransactionId;
41
- if (g) {
42
- let i = await o(h, t), a = i?.bundledInId ?? n ?? null;
43
- a && i?.blockHeight != null && await d.update(r).set({
44
- phase: "confirmed",
45
- statusJson: JSON.stringify(i),
46
- l1TransactionId: a,
47
- bundleId: a,
48
- updatedAt: Date.now()
49
- }).where(l(r.id, e.id));
50
- continue;
51
- }
52
- if (!n) {
53
- let i = (await o(h, t))?.bundledInId ?? null;
54
- i && (n = i, await d.update(r).set({
55
- l1TransactionId: i,
56
- bundleId: i,
57
- updatedAt: Date.now()
58
- }).where(l(r.id, e.id)));
59
- }
60
- let s = await i(m, t), c = s ? JSON.stringify(s) : null;
61
- if (s && a(s)) {
62
- let t = n ?? s.bundleId ?? s.turbo?.bundleId ?? e.l1TransactionId ?? null;
63
- await d.update(r).set({
64
- phase: "confirmed",
65
- statusJson: c,
66
- l1TransactionId: t ?? e.l1TransactionId,
67
- bundleId: s.bundleId ?? e.bundleId,
68
- updatedAt: Date.now()
69
- }).where(l(r.id, e.id));
70
- continue;
71
- }
72
- await d.update(r).set({
73
- statusJson: c,
74
- updatedAt: Date.now()
75
- }).where(l(r.id, e.id));
76
- } catch (t) {
77
- u("tick error for job", e.id, t), await d.update(r).set({
78
- errorMessage: t instanceof Error ? t.message : String(t),
79
- updatedAt: Date.now()
80
- }).where(l(r.id, e.id));
81
- }
82
- }
83
- }
84
- //#endregion
85
- export { m as startArweaveL1FinalizeWorker, h as stopArweaveL1FinalizeWorker };
86
-
87
- //# sourceMappingURL=worker-WIMx6RTs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-WIMx6RTs.js","names":["getPublishConfig","resolvePublishPayment","debug","logger","TICK_MS","intervalId","restoredOverwrittenIds","startArweaveL1FinalizeWorker","runArweaveL1FinalizeTick","stopArweaveL1FinalizeWorker","config","BaseDb","db","restoreDataItemIdsOverwrittenByL1","restored","ambiguous","error","pending","arweaveL1FinalizeJobs","eq","uploadBase","graphqlUrl","uploadedToTurbo","job","dataItemId","l1TxId","gql","queryArweaveGatewayTransactionWithFallback","bundled","status","getArweaveUploadStatus","statusStr","isArweaveL1AnchoringComplete","resolvedL1","err"],"sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransactionWithFallback,\n restoreDataItemIdsOverwrittenByL1,\n} from '@seedprotocol/sdk'\nimport { eq } from 'drizzle-orm'\nimport { getPublishConfig } from '~/config'\nimport { resolvePublishPayment } from '~/payment'\nimport debug from 'debug'\n\nconst logger = debug('seedProtocol:arweaveL1Finalize:worker')\n\n/**\n * Tracks bundler uploads until their bundle is anchored on Arweave L1, recording the L1 / bundle id\n * in `arweave_l1_finalize_jobs`. Local metadata keeps the data item id, which is what was attested\n * and what gateways serve the item under.\n */\nconst TICK_MS = 45_000\n\nlet intervalId: ReturnType<typeof setInterval> | null = null\nlet restoredOverwrittenIds = false\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 // The worker used to replace local data item ids with the bundle's L1 id; put them back once.\n if (!restoredOverwrittenIds) {\n restoredOverwrittenIds = true\n try {\n const { restored, ambiguous } = await restoreDataItemIdsOverwrittenByL1()\n if (restored || ambiguous) {\n logger(`restored ${restored} data item ids overwritten by L1 ids; ${ambiguous} bundles ambiguous, left as they are`)\n }\n } catch (error) {\n logger('restoring data item ids failed', error)\n }\n }\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 // User-paid uploads went to Turbo; the upload API doesn't know them, so finish from GraphQL.\n const uploadedToTurbo = resolvePublishPayment(config).storage.uploadTo === 'turbo'\n\n for (const job of pending) {\n const dataItemId = job.dataItemId\n try {\n let l1TxId = job.l1TransactionId\n\n if (uploadedToTurbo) {\n const gql = await queryArweaveGatewayTransactionWithFallback(graphqlUrl, dataItemId)\n const bundled = gql?.bundledInId ?? l1TxId ?? null\n if (bundled && gql?.blockHeight != null) {\n await db\n .update(arweaveL1FinalizeJobs)\n .set({\n phase: 'confirmed',\n statusJson: JSON.stringify(gql),\n l1TransactionId: bundled,\n bundleId: bundled,\n updatedAt: Date.now(),\n })\n .where(eq(arweaveL1FinalizeJobs.id, job.id!))\n }\n continue\n }\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 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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"}