diff --git a/src/common/data-item.ts b/src/common/data-item.ts index 6532934..aecd175 100644 --- a/src/common/data-item.ts +++ b/src/common/data-item.ts @@ -12,8 +12,15 @@ export default class DataItemFactory { ): Promise { if (this.signer instanceof InjectedArweaveSigner) { const signed = await window.arweaveWallet.signDataItem({ data, tags }) + const dataItem = new DataItem(Buffer.from(signed)) + + // NB: ArConnect requires the above method of signing DataItem, but they + // fail arbundle's .isSigned() check when re-instantiated because + // ._id isn't set. So we set it by assigning .rawId to itself. + // eslint-disable-next-line no-self-assign + dataItem.rawId = dataItem.rawId - return new DataItem(Buffer.from(signed)) + return dataItem } const dataItem = createData(data, this.signer, { tags })