@seedprotocol/publish 0.4.17 → 0.4.20

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 (71) hide show
  1. package/README.md +6 -0
  2. package/dist/config.d.ts +40 -3
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/errors.d.ts +27 -0
  5. package/dist/errors.d.ts.map +1 -1
  6. package/dist/helpers/arweave.d.ts +3 -2
  7. package/dist/helpers/arweave.d.ts.map +1 -1
  8. package/dist/helpers/arweave.test.d.ts +2 -0
  9. package/dist/helpers/arweave.test.d.ts.map +1 -0
  10. package/dist/helpers/constants.d.ts +6 -0
  11. package/dist/helpers/constants.d.ts.map +1 -1
  12. package/dist/helpers/debugPublishIngest.d.ts +2 -0
  13. package/dist/helpers/debugPublishIngest.d.ts.map +1 -0
  14. package/dist/helpers/ensureExecutorModule.d.ts +15 -0
  15. package/dist/helpers/ensureExecutorModule.d.ts.map +1 -0
  16. package/dist/helpers/ensureManagedAccountReady.d.ts +36 -0
  17. package/dist/helpers/ensureManagedAccountReady.d.ts.map +1 -0
  18. package/dist/helpers/ensureManagedAccountReady.test.d.ts +2 -0
  19. package/dist/helpers/ensureManagedAccountReady.test.d.ts.map +1 -0
  20. package/dist/helpers/ensureSmartWalletThenPublish.d.ts +11 -1
  21. package/dist/helpers/ensureSmartWalletThenPublish.d.ts.map +1 -1
  22. package/dist/helpers/publishDisplayHelpers.d.ts +22 -0
  23. package/dist/helpers/publishDisplayHelpers.d.ts.map +1 -1
  24. package/dist/hooks/useArweaveL1Finalize.d.ts +23 -0
  25. package/dist/hooks/useArweaveL1Finalize.d.ts.map +1 -0
  26. package/dist/hooks/useItemPublishStatus.d.ts +8 -0
  27. package/dist/hooks/useItemPublishStatus.d.ts.map +1 -1
  28. package/dist/hooks/usePublishProcess.d.ts.map +1 -1
  29. package/dist/index-BfABV7U1.js +4840 -0
  30. package/dist/index-BfABV7U1.js.map +1 -0
  31. package/dist/index-DhVUuOO3.js +4824 -0
  32. package/dist/index-DhVUuOO3.js.map +1 -0
  33. package/dist/index-P7oBN4Yu.js +4785 -0
  34. package/dist/index-P7oBN4Yu.js.map +1 -0
  35. package/dist/index.d.ts +11 -4
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +110 -4338
  38. package/dist/index.js.map +1 -1
  39. package/dist/react/ConnectButton.d.ts.map +1 -1
  40. package/dist/react/PublishModeButtons.d.ts +15 -0
  41. package/dist/react/PublishModeButtons.d.ts.map +1 -0
  42. package/dist/services/PublishManager/actions/createPublish.d.ts.map +1 -1
  43. package/dist/services/PublishManager/actions/stopAll.d.ts +2 -1
  44. package/dist/services/PublishManager/actions/stopAll.d.ts.map +1 -1
  45. package/dist/services/PublishManager/actors/savePublish.d.ts.map +1 -1
  46. package/dist/services/PublishManager/actors/subscribe.d.ts.map +1 -1
  47. package/dist/services/arweaveL1Finalize/enqueue.d.ts +7 -0
  48. package/dist/services/arweaveL1Finalize/enqueue.d.ts.map +1 -0
  49. package/dist/services/arweaveL1Finalize/worker.d.ts +3 -0
  50. package/dist/services/arweaveL1Finalize/worker.d.ts.map +1 -0
  51. package/dist/services/publish/actors/checking.d.ts.map +1 -1
  52. package/dist/services/publish/actors/createArweaveDataItems.d.ts.map +1 -1
  53. package/dist/services/publish/actors/createArweaveTransactions.d.ts.map +1 -1
  54. package/dist/services/publish/actors/createAttestations.d.ts.map +1 -1
  55. package/dist/services/publish/actors/createAttestationsDirectToEas.d.ts.map +1 -1
  56. package/dist/services/publish/actors/persistSeedUid.d.ts +4 -2
  57. package/dist/services/publish/actors/persistSeedUid.d.ts.map +1 -1
  58. package/dist/services/publish/actors/publishRequestNormalize.d.ts +13 -0
  59. package/dist/services/publish/actors/publishRequestNormalize.d.ts.map +1 -0
  60. package/dist/services/publish/helpers/getPublishUploadData.d.ts +8 -2
  61. package/dist/services/publish/helpers/getPublishUploadData.d.ts.map +1 -1
  62. package/dist/services/upload/uploadMachine.d.ts +1 -1
  63. package/dist/types.d.ts +19 -2
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/worker-BxY09Tmw.js +73 -0
  66. package/dist/worker-BxY09Tmw.js.map +1 -0
  67. package/dist/worker-Ce8qDQKc.js +73 -0
  68. package/dist/worker-Ce8qDQKc.js.map +1 -0
  69. package/dist/worker-F-UKvyIU.js +73 -0
  70. package/dist/worker-F-UKvyIU.js.map +1 -0
  71. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectButton.d.ts","sourceRoot":"","sources":["../../src/react/ConnectButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AA8CjC,QAAA,MAAM,aAAa,EAAE,EAsFpB,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"ConnectButton.d.ts","sourceRoot":"","sources":["../../src/react/ConnectButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AA6DjC,QAAA,MAAM,aAAa,EAAE,EAuDpB,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { type FC } from 'react';
2
+ import type { PublishMode } from '../types';
3
+ export type PublishModeButtonsProps = {
4
+ value: PublishMode;
5
+ onChange: (mode: PublishMode) => void;
6
+ disabled?: boolean;
7
+ /** Accessible label for the group */
8
+ 'aria-label'?: string;
9
+ };
10
+ /**
11
+ * Optional control to choose patch (same Version) vs new Version before calling
12
+ * `ensureSmartWalletThenPublish(item, …, { publishMode })` or `PublishManager.createPublish(…, { publishMode })`.
13
+ */
14
+ export declare const PublishModeButtons: FC<PublishModeButtonsProps>;
15
+ //# sourceMappingURL=PublishModeButtons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishModeButtons.d.ts","sourceRoot":"","sources":["../../src/react/PublishModeButtons.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CA0C1D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createPublish.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actions/createPublish.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,qTAiExB,CAAA"}
1
+ {"version":3,"file":"createPublish.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actions/createPublish.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,qTA+ExB,CAAA"}
@@ -1,2 +1,3 @@
1
- export declare const stopAll: 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>;
1
+ import type { EventObject } from 'xstate';
2
+ export declare const stopAll: import("xstate").ActionFunction<import("xstate").MachineContext, EventObject, EventObject, import("xstate").NonReducibleUnknown, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, never, EventObject>;
2
3
  //# sourceMappingURL=stopAll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stopAll.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actions/stopAll.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,qTAclB,CAAA"}
1
+ {"version":3,"file":"stopAll.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actions/stopAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,WAAW,EAAE,MAAM,QAAQ,CAAA;AAMnD,eAAO,MAAM,OAAO,kQAclB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"savePublish.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actors/savePublish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AA8ClD,eAAO,MAAM,WAAW;kBACQ,MAAM;yBAAuB,OAAO;;uBAC7C,OAAO;iBAAe,MAAM;yBAAuB,OAAO;eAwE/E,CAAA"}
1
+ {"version":3,"file":"savePublish.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actors/savePublish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAyElD,eAAO,MAAM,WAAW;kBACQ,MAAM;yBAAuB,OAAO;;uBAC7C,OAAO;iBAAe,MAAM;yBAAuB,OAAO;eAwG/E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actors/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,MAAM,QAAQ,CAAA;AAwBlD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnD,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,+EA8CrB,CAAA"}
1
+ {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../../src/services/publishManager/actors/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,MAAM,QAAQ,CAAA;AAwBlD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnD,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,+EA+DrB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { PublishMachineContext } from '../../types';
2
+ /**
3
+ * Inserts one row per bundler DataItem id so the L1 finalize worker can resolve the L1 tx
4
+ * and wait for anchoring. Idempotent on `data_item_id`.
5
+ */
6
+ export declare function enqueueArweaveL1FinalizeJobsFromPublishContext(context: PublishMachineContext): Promise<void>;
7
+ //# sourceMappingURL=enqueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enqueue.d.ts","sourceRoot":"","sources":["../../../src/services/arweaveL1Finalize/enqueue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,qBAAqB,EAAiB,MAAM,aAAa,CAAA;AAK/F;;;GAGG;AACH,wBAAsB,8CAA8C,CAClE,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqCf"}
@@ -0,0 +1,3 @@
1
+ export declare function startArweaveL1FinalizeWorker(): void;
2
+ export declare function stopArweaveL1FinalizeWorker(): void;
3
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/services/arweaveL1Finalize/worker.ts"],"names":[],"mappings":"AAkBA,wBAAgB,4BAA4B,IAAI,IAAI,CAMnD;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAKlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"checking.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/checking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAE3D,KAAK,iBAAiB,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAC;AAUnD,eAAO,MAAM,QAAQ,yGA6DnB,CAAA"}
1
+ {"version":3,"file":"checking.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/checking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAE3D,KAAK,iBAAiB,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAC;AAUnD,eAAO,MAAM,QAAQ,yGA+DnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createArweaveDataItems.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createArweaveDataItems.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;AAEnD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAa9F,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,EAAE,sBAAsB,EAAE,CAAA;IAC7C,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACvC,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;CAC5B,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,sBAAsB;aANK,qBAAqB;WAAS,OAAO;gCAiF5E,CAAA"}
1
+ {"version":3,"file":"createArweaveDataItems.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createArweaveDataItems.ts"],"names":[],"mappings":"AAGA,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;AAEnD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAc9F,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,EAAE,sBAAsB,EAAE,CAAA;IAC7C,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACvC,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;CAC5B,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,sBAAsB;aANK,qBAAqB;WAAS,OAAO;gCAwF5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createArweaveTransactions.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createArweaveTransactions.ts"],"names":[],"mappings":"AACA,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;gCAuE5E,CAAA"}
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;gCA2E5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAttestations.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createAttestations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAkD3D,eAAO,MAAM,kBAAkB;gBAC8C,OAAO;;aAH5C,qBAAqB;WAAS,OAAO;gCAwN5E,CAAA"}
1
+ {"version":3,"file":"createAttestations.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createAttestations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AA+B3D,eAAO,MAAM,kBAAkB;gBAC8C,OAAO;;aAH5C,qBAAqB;WAAS,OAAO;gCA2P5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAttestationsDirectToEas.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createAttestationsDirectToEas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAuG3D,eAAO,MAAM,6BAA6B;gBACmC,OAAO;;aAxB5C,qBAAqB;WAAS,OAAO;gCAgQ5E,CAAA"}
1
+ {"version":3,"file":"createAttestationsDirectToEas.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/createAttestationsDirectToEas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAwG3D,eAAO,MAAM,6BAA6B;gBACmC,OAAO;;aAxB5C,qBAAqB;WAAS,OAAO;gCAwQ5E,CAAA"}
@@ -1,12 +1,14 @@
1
1
  export type RequestWithSeedUid = {
2
2
  seedUid?: string;
3
+ localId?: string;
3
4
  };
4
5
  /**
5
- * Assigns the first request's non-zero seedUid to the item so the SDK's
6
- * in-memory context is updated after a successful publish.
6
+ * Assigns the published item's seedUid from the matching request (by item.seedLocalId).
7
+ * Multi-publish payloads are ordered so the first request is not always the root item (e.g. Image before Post).
7
8
  */
8
9
  export declare function persistSeedUidFromPublishResult(item: {
9
10
  seedUid?: string;
11
+ seedLocalId?: string;
10
12
  }, normalizedRequests: RequestWithSeedUid[]): void;
11
13
  /**
12
14
  * Wraps item.persistSeedUid with timeout and error handling. Attestations are already
@@ -1 +1 @@
1
- {"version":3,"file":"persistSeedUid.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/persistSeedUid.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1B,kBAAkB,EAAE,kBAAkB,EAAE,GACvC,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAChE,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"persistSeedUid.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/persistSeedUid.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,kBAAkB,EAAE,kBAAkB,EAAE,GACvC,IAAI,CAYN;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAChE,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,13 @@
1
+ export declare const toHex32: (v: unknown) => string;
2
+ export declare const toBytesHex: (v: unknown) => string;
3
+ /** True when an attestation still references another seed in this batch by localId (needs client-side resolution between txs). */
4
+ export declare function hasCrossPayloadUnresolved(reqs: unknown[]): boolean;
5
+ /** Keep only propertiesToUpdate whose target is in the same multiPublish batch (same tx). */
6
+ export declare function filterPropertiesToUpdateForBatch<T extends {
7
+ publishLocalId?: string;
8
+ }>(propertiesToUpdate: T[] | undefined, batchLocalIds: Set<string>): T[];
9
+ /** Normalize one publish request for SeedProtocol multiPublish (same rules as createAttestations). */
10
+ export declare function normalizePublishRequest(req: any): any;
11
+ /** Ensure placeholder attestation data for contract injection targets (full batch). */
12
+ export declare function applyPropertiesToUpdatePlaceholders(normalizedRequests: any[], byLocalId: Map<string, any>): void;
13
+ //# sourceMappingURL=publishRequestNormalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishRequestNormalize.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/actors/publishRequestNormalize.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,MAapC,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,MAYvC,CAAA;AAED,kIAAkI;AAClI,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAclE;AAED,6FAA6F;AAC7F,wBAAgB,gCAAgC,CAAC,CAAC,SAAS;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EACpF,kBAAkB,EAAE,CAAC,EAAE,GAAG,SAAS,EACnC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,CAAC,EAAE,CAIL;AAWD,sGAAsG;AACtG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CA2BrD;AAED,uFAAuF;AACvF,wBAAgB,mCAAmC,CACjD,kBAAkB,EAAE,GAAG,EAAE,EACzB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,IAAI,CAiBN"}
@@ -1,12 +1,18 @@
1
- import type { IItem, IItemProperty } from '@seedprotocol/sdk';
1
+ import type { IItem, IItemProperty, TransactionTag } from '@seedprotocol/sdk';
2
+ /** Optional extra tags appended after Content-SHA-256 / Content-Type (mirrors SDK getPublishUploads). */
3
+ export type GetPublishUploadDataOptions = {
4
+ arweaveUploadTags?: TransactionTag[];
5
+ };
2
6
  export type PublishUploadData = {
3
7
  data: Uint8Array;
4
8
  contentHash?: string;
5
9
  contentType?: string;
10
+ /** Full tag list for DataItem / bundler: content tags then configured arweaveUploadTags. */
11
+ tags: TransactionTag[];
6
12
  itemPropertyName: string;
7
13
  itemPropertyLocalId: string;
8
14
  seedLocalId: string;
9
15
  versionLocalId: string;
10
16
  };
11
- export declare const getPublishUploadData: (item: IItem<any>, uploads?: PublishUploadData[], relatedItemProperty?: IItemProperty<any>) => Promise<PublishUploadData[]>;
17
+ export declare const getPublishUploadData: (item: IItem<any>, uploads?: PublishUploadData[], relatedItemProperty?: IItemProperty<any>, options?: GetPublishUploadDataOptions) => Promise<PublishUploadData[]>;
12
18
  //# sourceMappingURL=getPublishUploadData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPublishUploadData.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/helpers/getPublishUploadData.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAkD7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AA6ID,eAAO,MAAM,oBAAoB,GAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,EAChB,UAAS,iBAAiB,EAAO,EACjC,sBAAsB,aAAa,CAAC,GAAG,CAAC,KACvC,OAAO,CAAC,iBAAiB,EAAE,CA4B7B,CAAA"}
1
+ {"version":3,"file":"getPublishUploadData.d.ts","sourceRoot":"","sources":["../../../../src/services/publish/helpers/getPublishUploadData.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE7E,yGAAyG;AACzG,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAA;CACrC,CAAA;AA8DD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4FAA4F;IAC5F,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAmJD,eAAO,MAAM,oBAAoB,GAC/B,MAAM,KAAK,CAAC,GAAG,CAAC,EAChB,UAAS,iBAAiB,EAAO,EACjC,sBAAsB,aAAa,CAAC,GAAG,CAAC,EACxC,UAAU,2BAA2B,KACpC,OAAO,CAAC,iBAAiB,EAAE,CAiC7B,CAAA"}
@@ -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" | "sendReimbursementRequest" | "uploadData" | "pollForConfirmation" | "reset", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
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: {};
package/dist/types.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import type { IItem } from '@seedprotocol/sdk';
1
+ import type { IItem, TransactionTag } from '@seedprotocol/sdk';
2
+ /** Aligns with `@seedprotocol/sdk` `PublishMode`. */
3
+ export type PublishMode = 'patch' | 'new_version';
2
4
  import type { Account } from 'thirdweb/wallets';
3
5
  import type { ethers } from 'ethers';
4
6
  export type ReimbursementResponse = {
@@ -61,7 +63,10 @@ export interface PublishMachineContext {
61
63
  id: string;
62
64
  raw: Uint8Array;
63
65
  }[];
64
- /** Per-publish: sign DataItems when useArweaveBundler (from createPublish options). */
66
+ /**
67
+ * Per-publish: sign DataItems when useArweaveBundler (from createPublish options).
68
+ * Each upload has `tags` (content + arweaveUploadTags); use when building DataItems.
69
+ */
65
70
  signDataItems?: (uploads: import('./services/publish/helpers/getPublishUploadData').PublishUploadData[]) => Promise<import('./config').ArweaveDataItemInfoResult[]>;
66
71
  /** Per-publish: signer for DataItems when useArweaveBundler (from createPublish options). */
67
72
  dataItemSigner?: ethers.Wallet | Account;
@@ -75,6 +80,18 @@ export interface PublishMachineContext {
75
80
  d?: string;
76
81
  [key: string]: unknown;
77
82
  };
83
+ /**
84
+ * Resolved Arweave tags for this run: initPublish defaults then createPublish extras.
85
+ * Appended after Content-SHA-256 / Content-Type on each upload.
86
+ */
87
+ arweaveUploadTags?: TransactionTag[];
88
+ /** `patch` (default): attest only pending properties on current Version. `new_version`: new Version + full snapshot. */
89
+ publishMode?: PublishMode;
90
+ /**
91
+ * Unique id for this publish actor run. Used to ignore async stale DB writes that would
92
+ * INSERT a duplicate row after the same run already completed.
93
+ */
94
+ publishRunId?: string;
78
95
  [key: string]: unknown;
79
96
  }
80
97
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { BaseDb as g, arweaveL1FinalizeJobs as t, queryArweaveGatewayTransaction as v, getArweaveUploadStatus as b, isArweaveL1AnchoringComplete as m, applyArweaveL1TransactionIdLocal as h } from "@seedprotocol/sdk";
2
+ import { eq as o } from "drizzle-orm";
3
+ import { g as A } from "./index-P7oBN4Yu.js";
4
+ import L from "debug";
5
+ const T = L("seedProtocol:arweaveL1Finalize:worker"), y = 45e3;
6
+ let i = null;
7
+ function F() {
8
+ i == null && (i = setInterval(() => {
9
+ p();
10
+ }, y), p());
11
+ }
12
+ function S() {
13
+ i != null && (clearInterval(i), i = null);
14
+ }
15
+ async function p() {
16
+ let d;
17
+ try {
18
+ d = A();
19
+ } catch {
20
+ return;
21
+ }
22
+ if (!d.useArweaveBundler) return;
23
+ const r = g.getAppDb();
24
+ if (!r) return;
25
+ const u = await r.select().from(t).where(o(t.phase, "pending_l1")).limit(25);
26
+ if (u.length === 0) return;
27
+ const I = d.arweaveUploadVerificationBaseUrl, f = d.arweaveGraphqlUrl;
28
+ for (const e of u) {
29
+ const c = e.dataItemId;
30
+ try {
31
+ let a = e.l1TransactionId;
32
+ if (!a) {
33
+ const s = (await v(f, c))?.bundledInId ?? null;
34
+ s && (a = s, await r.update(t).set({
35
+ l1TransactionId: s,
36
+ bundleId: s,
37
+ updatedAt: Date.now()
38
+ }).where(o(t.id, e.id)));
39
+ }
40
+ const n = await b(I, c), w = n ? JSON.stringify(n) : null;
41
+ if (n && m(n)) {
42
+ const l = a ?? n.bundleId ?? n.turbo?.bundleId ?? e.l1TransactionId ?? null;
43
+ l && await h({
44
+ seedLocalId: e.seedLocalId,
45
+ versionLocalId: e.versionLocalId,
46
+ dataItemId: c,
47
+ l1TransactionId: l
48
+ }), await r.update(t).set({
49
+ phase: "confirmed",
50
+ statusJson: w,
51
+ l1TransactionId: l ?? e.l1TransactionId,
52
+ bundleId: n.bundleId ?? e.bundleId,
53
+ updatedAt: Date.now()
54
+ }).where(o(t.id, e.id));
55
+ continue;
56
+ }
57
+ await r.update(t).set({
58
+ statusJson: w,
59
+ updatedAt: Date.now()
60
+ }).where(o(t.id, e.id));
61
+ } catch (a) {
62
+ T("tick error for job", e.id, a), await r.update(t).set({
63
+ errorMessage: a instanceof Error ? a.message : String(a),
64
+ updatedAt: Date.now()
65
+ }).where(o(t.id, e.id));
66
+ }
67
+ }
68
+ }
69
+ export {
70
+ F as startArweaveL1FinalizeWorker,
71
+ S as stopArweaveL1FinalizeWorker
72
+ };
73
+ //# sourceMappingURL=worker-BxY09Tmw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-BxY09Tmw.js","sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n applyArweaveL1TransactionIdLocal,\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransaction,\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 queryArweaveGatewayTransaction(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"],"names":["logger","debug","TICK_MS","intervalId","startArweaveL1FinalizeWorker","runArweaveL1FinalizeTick","stopArweaveL1FinalizeWorker","config","getPublishConfig","db","BaseDb","pending","arweaveL1FinalizeJobs","eq","uploadBase","graphqlUrl","job","dataItemId","l1TxId","bundled","queryArweaveGatewayTransaction","status","getArweaveUploadStatus","statusStr","isArweaveL1AnchoringComplete","resolvedL1","applyArweaveL1TransactionIdLocal","err"],"mappings":";;;;AAYA,MAAMA,IAASC,EAAM,uCAAuC,GAEtDC,IAAU;AAEhB,IAAIC,IAAoD;AAEjD,SAASC,IAAqC;AACnD,EAAID,KAAc,SAClBA,IAAa,YAAY,MAAM;AAC7B,IAAKE,EAAA;AAAA,EACP,GAAGH,CAAO,GACLG,EAAA;AACP;AAEO,SAASC,IAAoC;AAClD,EAAIH,KAAc,SAChB,cAAcA,CAAU,GACxBA,IAAa;AAEjB;AAEA,eAAeE,IAA0C;AACvD,MAAIE;AACJ,MAAI;AACF,IAAAA,IAASC,EAAA;AAAA,EACX,QAAQ;AACN;AAAA,EACF;AACA,MAAI,CAACD,EAAO,kBAAmB;AAE/B,QAAME,IAAKC,EAAO,SAAA;AAClB,MAAI,CAACD,EAAI;AAET,QAAME,IAAU,MAAMF,EACnB,OAAA,EACA,KAAKG,CAAqB,EAC1B,MAAMC,EAAGD,EAAsB,OAAO,YAAY,CAAC,EACnD,MAAM,EAAE;AAEX,MAAID,EAAQ,WAAW,EAAG;AAE1B,QAAMG,IAAaP,EAAO,kCACpBQ,IAAaR,EAAO;AAE1B,aAAWS,KAAOL,GAAS;AACzB,UAAMM,IAAaD,EAAI;AACvB,QAAI;AACF,UAAIE,IAASF,EAAI;AAEjB,UAAI,CAACE,GAAQ;AAEX,cAAMC,KADM,MAAMC,EAA+BL,GAAYE,CAAU,IAClD,eAAe;AACpC,QAAIE,MACFD,IAASC,GACT,MAAMV,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,UACH,iBAAiBO;AAAA,UACjB,UAAUA;AAAA,UACV,WAAW,KAAK,IAAA;AAAA,QAAI,CACrB,EACA,MAAMN,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,MAElD;AAEA,YAAMK,IAAS,MAAMC,EAAuBR,GAAYG,CAAU,GAC5DM,IAAYF,IAAS,KAAK,UAAUA,CAAM,IAAI;AAEpD,UAAIA,KAAUG,EAA6BH,CAAM,GAAG;AAClD,cAAMI,IACJP,KACAG,EAAO,YACPA,EAAO,OAAO,YACdL,EAAI,mBACJ;AAEF,QAAIS,KACF,MAAMC,EAAiC;AAAA,UACrC,aAAaV,EAAI;AAAA,UACjB,gBAAgBA,EAAI;AAAA,UACpB,YAAAC;AAAA,UACA,iBAAiBQ;AAAA,QAAA,CAClB,GAGH,MAAMhB,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,UACH,OAAO;AAAA,UACP,YAAYW;AAAA,UACZ,iBAAiBE,KAAcT,EAAI;AAAA,UACnC,UAAUK,EAAO,YAAYL,EAAI;AAAA,UACjC,WAAW,KAAK,IAAA;AAAA,QAAI,CACrB,EACA,MAAMH,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAC9C;AAAA,MACF;AAEA,YAAMP,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,QACH,YAAYW;AAAA,QACZ,WAAW,KAAK,IAAA;AAAA,MAAI,CACrB,EACA,MAAMV,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,IAChD,SAASW,GAAK;AACZ,MAAA3B,EAAO,sBAAsBgB,EAAI,IAAIW,CAAG,GACxC,MAAMlB,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,QACH,cAAce,aAAe,QAAQA,EAAI,UAAU,OAAOA,CAAG;AAAA,QAC7D,WAAW,KAAK,IAAA;AAAA,MAAI,CACrB,EACA,MAAMd,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,IAChD;AAAA,EACF;AACF;"}
@@ -0,0 +1,73 @@
1
+ import { BaseDb as g, arweaveL1FinalizeJobs as t, queryArweaveGatewayTransaction as v, getArweaveUploadStatus as b, isArweaveL1AnchoringComplete as m, applyArweaveL1TransactionIdLocal as h } from "@seedprotocol/sdk";
2
+ import { eq as o } from "drizzle-orm";
3
+ import { g as A } from "./index-DhVUuOO3.js";
4
+ import L from "debug";
5
+ const T = L("seedProtocol:arweaveL1Finalize:worker"), y = 45e3;
6
+ let i = null;
7
+ function F() {
8
+ i == null && (i = setInterval(() => {
9
+ p();
10
+ }, y), p());
11
+ }
12
+ function S() {
13
+ i != null && (clearInterval(i), i = null);
14
+ }
15
+ async function p() {
16
+ let d;
17
+ try {
18
+ d = A();
19
+ } catch {
20
+ return;
21
+ }
22
+ if (!d.useArweaveBundler) return;
23
+ const r = g.getAppDb();
24
+ if (!r) return;
25
+ const u = await r.select().from(t).where(o(t.phase, "pending_l1")).limit(25);
26
+ if (u.length === 0) return;
27
+ const I = d.arweaveUploadVerificationBaseUrl, f = d.arweaveGraphqlUrl;
28
+ for (const e of u) {
29
+ const c = e.dataItemId;
30
+ try {
31
+ let a = e.l1TransactionId;
32
+ if (!a) {
33
+ const s = (await v(f, c))?.bundledInId ?? null;
34
+ s && (a = s, await r.update(t).set({
35
+ l1TransactionId: s,
36
+ bundleId: s,
37
+ updatedAt: Date.now()
38
+ }).where(o(t.id, e.id)));
39
+ }
40
+ const n = await b(I, c), w = n ? JSON.stringify(n) : null;
41
+ if (n && m(n)) {
42
+ const l = a ?? n.bundleId ?? n.turbo?.bundleId ?? e.l1TransactionId ?? null;
43
+ l && await h({
44
+ seedLocalId: e.seedLocalId,
45
+ versionLocalId: e.versionLocalId,
46
+ dataItemId: c,
47
+ l1TransactionId: l
48
+ }), await r.update(t).set({
49
+ phase: "confirmed",
50
+ statusJson: w,
51
+ l1TransactionId: l ?? e.l1TransactionId,
52
+ bundleId: n.bundleId ?? e.bundleId,
53
+ updatedAt: Date.now()
54
+ }).where(o(t.id, e.id));
55
+ continue;
56
+ }
57
+ await r.update(t).set({
58
+ statusJson: w,
59
+ updatedAt: Date.now()
60
+ }).where(o(t.id, e.id));
61
+ } catch (a) {
62
+ T("tick error for job", e.id, a), await r.update(t).set({
63
+ errorMessage: a instanceof Error ? a.message : String(a),
64
+ updatedAt: Date.now()
65
+ }).where(o(t.id, e.id));
66
+ }
67
+ }
68
+ }
69
+ export {
70
+ F as startArweaveL1FinalizeWorker,
71
+ S as stopArweaveL1FinalizeWorker
72
+ };
73
+ //# sourceMappingURL=worker-Ce8qDQKc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-Ce8qDQKc.js","sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n applyArweaveL1TransactionIdLocal,\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransaction,\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 queryArweaveGatewayTransaction(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"],"names":["logger","debug","TICK_MS","intervalId","startArweaveL1FinalizeWorker","runArweaveL1FinalizeTick","stopArweaveL1FinalizeWorker","config","getPublishConfig","db","BaseDb","pending","arweaveL1FinalizeJobs","eq","uploadBase","graphqlUrl","job","dataItemId","l1TxId","bundled","queryArweaveGatewayTransaction","status","getArweaveUploadStatus","statusStr","isArweaveL1AnchoringComplete","resolvedL1","applyArweaveL1TransactionIdLocal","err"],"mappings":";;;;AAYA,MAAMA,IAASC,EAAM,uCAAuC,GAEtDC,IAAU;AAEhB,IAAIC,IAAoD;AAEjD,SAASC,IAAqC;AACnD,EAAID,KAAc,SAClBA,IAAa,YAAY,MAAM;AAC7B,IAAKE,EAAA;AAAA,EACP,GAAGH,CAAO,GACLG,EAAA;AACP;AAEO,SAASC,IAAoC;AAClD,EAAIH,KAAc,SAChB,cAAcA,CAAU,GACxBA,IAAa;AAEjB;AAEA,eAAeE,IAA0C;AACvD,MAAIE;AACJ,MAAI;AACF,IAAAA,IAASC,EAAA;AAAA,EACX,QAAQ;AACN;AAAA,EACF;AACA,MAAI,CAACD,EAAO,kBAAmB;AAE/B,QAAME,IAAKC,EAAO,SAAA;AAClB,MAAI,CAACD,EAAI;AAET,QAAME,IAAU,MAAMF,EACnB,OAAA,EACA,KAAKG,CAAqB,EAC1B,MAAMC,EAAGD,EAAsB,OAAO,YAAY,CAAC,EACnD,MAAM,EAAE;AAEX,MAAID,EAAQ,WAAW,EAAG;AAE1B,QAAMG,IAAaP,EAAO,kCACpBQ,IAAaR,EAAO;AAE1B,aAAWS,KAAOL,GAAS;AACzB,UAAMM,IAAaD,EAAI;AACvB,QAAI;AACF,UAAIE,IAASF,EAAI;AAEjB,UAAI,CAACE,GAAQ;AAEX,cAAMC,KADM,MAAMC,EAA+BL,GAAYE,CAAU,IAClD,eAAe;AACpC,QAAIE,MACFD,IAASC,GACT,MAAMV,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,UACH,iBAAiBO;AAAA,UACjB,UAAUA;AAAA,UACV,WAAW,KAAK,IAAA;AAAA,QAAI,CACrB,EACA,MAAMN,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,MAElD;AAEA,YAAMK,IAAS,MAAMC,EAAuBR,GAAYG,CAAU,GAC5DM,IAAYF,IAAS,KAAK,UAAUA,CAAM,IAAI;AAEpD,UAAIA,KAAUG,EAA6BH,CAAM,GAAG;AAClD,cAAMI,IACJP,KACAG,EAAO,YACPA,EAAO,OAAO,YACdL,EAAI,mBACJ;AAEF,QAAIS,KACF,MAAMC,EAAiC;AAAA,UACrC,aAAaV,EAAI;AAAA,UACjB,gBAAgBA,EAAI;AAAA,UACpB,YAAAC;AAAA,UACA,iBAAiBQ;AAAA,QAAA,CAClB,GAGH,MAAMhB,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,UACH,OAAO;AAAA,UACP,YAAYW;AAAA,UACZ,iBAAiBE,KAAcT,EAAI;AAAA,UACnC,UAAUK,EAAO,YAAYL,EAAI;AAAA,UACjC,WAAW,KAAK,IAAA;AAAA,QAAI,CACrB,EACA,MAAMH,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAC9C;AAAA,MACF;AAEA,YAAMP,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,QACH,YAAYW;AAAA,QACZ,WAAW,KAAK,IAAA;AAAA,MAAI,CACrB,EACA,MAAMV,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,IAChD,SAASW,GAAK;AACZ,MAAA3B,EAAO,sBAAsBgB,EAAI,IAAIW,CAAG,GACxC,MAAMlB,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,QACH,cAAce,aAAe,QAAQA,EAAI,UAAU,OAAOA,CAAG;AAAA,QAC7D,WAAW,KAAK,IAAA;AAAA,MAAI,CACrB,EACA,MAAMd,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,IAChD;AAAA,EACF;AACF;"}
@@ -0,0 +1,73 @@
1
+ import { BaseDb as g, arweaveL1FinalizeJobs as t, queryArweaveGatewayTransaction as v, getArweaveUploadStatus as b, isArweaveL1AnchoringComplete as m, applyArweaveL1TransactionIdLocal as h } from "@seedprotocol/sdk";
2
+ import { eq as o } from "drizzle-orm";
3
+ import { g as A } from "./index-BfABV7U1.js";
4
+ import L from "debug";
5
+ const T = L("seedProtocol:arweaveL1Finalize:worker"), y = 45e3;
6
+ let i = null;
7
+ function F() {
8
+ i == null && (i = setInterval(() => {
9
+ p();
10
+ }, y), p());
11
+ }
12
+ function S() {
13
+ i != null && (clearInterval(i), i = null);
14
+ }
15
+ async function p() {
16
+ let d;
17
+ try {
18
+ d = A();
19
+ } catch {
20
+ return;
21
+ }
22
+ if (!d.useArweaveBundler) return;
23
+ const r = g.getAppDb();
24
+ if (!r) return;
25
+ const u = await r.select().from(t).where(o(t.phase, "pending_l1")).limit(25);
26
+ if (u.length === 0) return;
27
+ const I = d.arweaveUploadVerificationBaseUrl, f = d.arweaveGraphqlUrl;
28
+ for (const e of u) {
29
+ const c = e.dataItemId;
30
+ try {
31
+ let a = e.l1TransactionId;
32
+ if (!a) {
33
+ const s = (await v(f, c))?.bundledInId ?? null;
34
+ s && (a = s, await r.update(t).set({
35
+ l1TransactionId: s,
36
+ bundleId: s,
37
+ updatedAt: Date.now()
38
+ }).where(o(t.id, e.id)));
39
+ }
40
+ const n = await b(I, c), w = n ? JSON.stringify(n) : null;
41
+ if (n && m(n)) {
42
+ const l = a ?? n.bundleId ?? n.turbo?.bundleId ?? e.l1TransactionId ?? null;
43
+ l && await h({
44
+ seedLocalId: e.seedLocalId,
45
+ versionLocalId: e.versionLocalId,
46
+ dataItemId: c,
47
+ l1TransactionId: l
48
+ }), await r.update(t).set({
49
+ phase: "confirmed",
50
+ statusJson: w,
51
+ l1TransactionId: l ?? e.l1TransactionId,
52
+ bundleId: n.bundleId ?? e.bundleId,
53
+ updatedAt: Date.now()
54
+ }).where(o(t.id, e.id));
55
+ continue;
56
+ }
57
+ await r.update(t).set({
58
+ statusJson: w,
59
+ updatedAt: Date.now()
60
+ }).where(o(t.id, e.id));
61
+ } catch (a) {
62
+ T("tick error for job", e.id, a), await r.update(t).set({
63
+ errorMessage: a instanceof Error ? a.message : String(a),
64
+ updatedAt: Date.now()
65
+ }).where(o(t.id, e.id));
66
+ }
67
+ }
68
+ }
69
+ export {
70
+ F as startArweaveL1FinalizeWorker,
71
+ S as stopArweaveL1FinalizeWorker
72
+ };
73
+ //# sourceMappingURL=worker-F-UKvyIU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-F-UKvyIU.js","sources":["../src/services/arweaveL1Finalize/worker.ts"],"sourcesContent":["import {\n applyArweaveL1TransactionIdLocal,\n arweaveL1FinalizeJobs,\n BaseDb,\n getArweaveUploadStatus,\n isArweaveL1AnchoringComplete,\n queryArweaveGatewayTransaction,\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 queryArweaveGatewayTransaction(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"],"names":["logger","debug","TICK_MS","intervalId","startArweaveL1FinalizeWorker","runArweaveL1FinalizeTick","stopArweaveL1FinalizeWorker","config","getPublishConfig","db","BaseDb","pending","arweaveL1FinalizeJobs","eq","uploadBase","graphqlUrl","job","dataItemId","l1TxId","bundled","queryArweaveGatewayTransaction","status","getArweaveUploadStatus","statusStr","isArweaveL1AnchoringComplete","resolvedL1","applyArweaveL1TransactionIdLocal","err"],"mappings":";;;;AAYA,MAAMA,IAASC,EAAM,uCAAuC,GAEtDC,IAAU;AAEhB,IAAIC,IAAoD;AAEjD,SAASC,IAAqC;AACnD,EAAID,KAAc,SAClBA,IAAa,YAAY,MAAM;AAC7B,IAAKE,EAAA;AAAA,EACP,GAAGH,CAAO,GACLG,EAAA;AACP;AAEO,SAASC,IAAoC;AAClD,EAAIH,KAAc,SAChB,cAAcA,CAAU,GACxBA,IAAa;AAEjB;AAEA,eAAeE,IAA0C;AACvD,MAAIE;AACJ,MAAI;AACF,IAAAA,IAASC,EAAA;AAAA,EACX,QAAQ;AACN;AAAA,EACF;AACA,MAAI,CAACD,EAAO,kBAAmB;AAE/B,QAAME,IAAKC,EAAO,SAAA;AAClB,MAAI,CAACD,EAAI;AAET,QAAME,IAAU,MAAMF,EACnB,OAAA,EACA,KAAKG,CAAqB,EAC1B,MAAMC,EAAGD,EAAsB,OAAO,YAAY,CAAC,EACnD,MAAM,EAAE;AAEX,MAAID,EAAQ,WAAW,EAAG;AAE1B,QAAMG,IAAaP,EAAO,kCACpBQ,IAAaR,EAAO;AAE1B,aAAWS,KAAOL,GAAS;AACzB,UAAMM,IAAaD,EAAI;AACvB,QAAI;AACF,UAAIE,IAASF,EAAI;AAEjB,UAAI,CAACE,GAAQ;AAEX,cAAMC,KADM,MAAMC,EAA+BL,GAAYE,CAAU,IAClD,eAAe;AACpC,QAAIE,MACFD,IAASC,GACT,MAAMV,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,UACH,iBAAiBO;AAAA,UACjB,UAAUA;AAAA,UACV,WAAW,KAAK,IAAA;AAAA,QAAI,CACrB,EACA,MAAMN,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,MAElD;AAEA,YAAMK,IAAS,MAAMC,EAAuBR,GAAYG,CAAU,GAC5DM,IAAYF,IAAS,KAAK,UAAUA,CAAM,IAAI;AAEpD,UAAIA,KAAUG,EAA6BH,CAAM,GAAG;AAClD,cAAMI,IACJP,KACAG,EAAO,YACPA,EAAO,OAAO,YACdL,EAAI,mBACJ;AAEF,QAAIS,KACF,MAAMC,EAAiC;AAAA,UACrC,aAAaV,EAAI;AAAA,UACjB,gBAAgBA,EAAI;AAAA,UACpB,YAAAC;AAAA,UACA,iBAAiBQ;AAAA,QAAA,CAClB,GAGH,MAAMhB,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,UACH,OAAO;AAAA,UACP,YAAYW;AAAA,UACZ,iBAAiBE,KAAcT,EAAI;AAAA,UACnC,UAAUK,EAAO,YAAYL,EAAI;AAAA,UACjC,WAAW,KAAK,IAAA;AAAA,QAAI,CACrB,EACA,MAAMH,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAC9C;AAAA,MACF;AAEA,YAAMP,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,QACH,YAAYW;AAAA,QACZ,WAAW,KAAK,IAAA;AAAA,MAAI,CACrB,EACA,MAAMV,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,IAChD,SAASW,GAAK;AACZ,MAAA3B,EAAO,sBAAsBgB,EAAI,IAAIW,CAAG,GACxC,MAAMlB,EACH,OAAOG,CAAqB,EAC5B,IAAI;AAAA,QACH,cAAce,aAAe,QAAQA,EAAI,UAAU,OAAOA,CAAG;AAAA,QAC7D,WAAW,KAAK,IAAA;AAAA,MAAI,CACrB,EACA,MAAMd,EAAGD,EAAsB,IAAII,EAAI,EAAG,CAAC;AAAA,IAChD;AAAA,EACF;AACF;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedprotocol/publish",
3
- "version": "0.4.17",
3
+ "version": "0.4.20",
4
4
  "description": "Publish UI components and helpers for Seed Protocol",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,13 +22,13 @@
22
22
  ],
23
23
  "scripts": {
24
24
  "build": "tsc -p tsconfig.build.json && vite build",
25
- "prepublishOnly": "npm run build && node ../../scripts/sync-versions.js && npm pkg set dependencies.@seedprotocol/sdk=$(node -e \"console.log(require('../../packages/sdk/package.json').version)\") && npm pkg set dependencies.@seedprotocol/react=$(node -e \"console.log(require('../react/package.json').version)\")",
26
- "postpublish": "git checkout -- package.json"
25
+ "prepublishOnly": "npm run build && node ../../scripts/sync-versions.js",
26
+ "test": "bun test src/helpers/*.test.ts"
27
27
  },
28
28
  "dependencies": {
29
29
  "@ethereum-attestation-service/eas-sdk": "^2.9.0",
30
- "@seedprotocol/react": "0.4.17",
31
- "@seedprotocol/sdk": "0.4.17",
30
+ "@seedprotocol/react": "0.4.20",
31
+ "@seedprotocol/sdk": "0.4.20",
32
32
  "@xstate/react": "^6.1.0",
33
33
  "arweave": "^1.15.7",
34
34
  "debug": "^4.4.1",