diff --git a/CHANGELOG.md b/CHANGELOG.md
index 888b4561..2193a346 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Fixed
### Removed
+## 2024-09-26: v0.18.0-dev.11
+### Added
+- Util function to compare two cell ids `isSameCell`.
+### Changed
+- **BREAKING**: Clone cell ids have changed from accepting a `CellId` to a `DnaHash`.
+
## 2024-08-05: v0.18.0-dev.10
### Changed
- Signal listeners changed from only returning an `AppSignal` to a `Signal` which can be either an app or system signal.
diff --git a/docs/client.deleteclonecellrequest.clone_cell_id.md b/docs/client.deleteclonecellrequest.clone_cell_id.md
index a365547c..2819e0ef 100644
--- a/docs/client.deleteclonecellrequest.clone_cell_id.md
+++ b/docs/client.deleteclonecellrequest.clone_cell_id.md
@@ -9,5 +9,5 @@ The clone id or cell id of the clone cell
**Signature:**
```typescript
-clone_cell_id: RoleName | CellId;
+clone_cell_id: RoleName | DnaHash;
```
diff --git a/docs/client.deleteclonecellrequest.md b/docs/client.deleteclonecellrequest.md
index 33469921..e0c66907 100644
--- a/docs/client.deleteclonecellrequest.md
+++ b/docs/client.deleteclonecellrequest.md
@@ -63,7 +63,7 @@ The app id that the clone cell belongs to
-[RoleName](./client.rolename.md) \| [CellId](./client.cellid.md)
+[RoleName](./client.rolename.md) \| [DnaHash](./client.dnahash.md)
|
diff --git a/docs/client.disableclonecellrequest.clone_cell_id.md b/docs/client.disableclonecellrequest.clone_cell_id.md
index f7786276..c333888b 100644
--- a/docs/client.disableclonecellrequest.clone_cell_id.md
+++ b/docs/client.disableclonecellrequest.clone_cell_id.md
@@ -9,5 +9,5 @@ The clone id or cell id of the clone cell
**Signature:**
```typescript
-clone_cell_id: RoleName | CellId;
+clone_cell_id: RoleName | DnaHash;
```
diff --git a/docs/client.disableclonecellrequest.md b/docs/client.disableclonecellrequest.md
index 298fc17a..e5228b81 100644
--- a/docs/client.disableclonecellrequest.md
+++ b/docs/client.disableclonecellrequest.md
@@ -44,7 +44,7 @@ Description
|
-[RoleName](./client.rolename.md) \| [CellId](./client.cellid.md)
+[RoleName](./client.rolename.md) \| [DnaHash](./client.dnahash.md)
|
diff --git a/docs/client.issamecell.md b/docs/client.issamecell.md
new file mode 100644
index 00000000..d0928d6c
--- /dev/null
+++ b/docs/client.issamecell.md
@@ -0,0 +1,71 @@
+
+
+[Home](./index.md) > [@holochain/client](./client.md) > [isSameCell](./client.issamecell.md)
+
+## isSameCell() function
+
+Check if two cell ids are identical.
+
+**Signature:**
+
+```typescript
+isSameCell: (cellId1: CellId, cellId2: CellId) => boolean
+```
+
+## Parameters
+
+
+
+Parameter
+
+
+ |
+
+Type
+
+
+ |
+
+Description
+
+
+ |
+
+
+cellId1
+
+
+ |
+
+[CellId](./client.cellid.md)
+
+
+ |
+
+Cell id 1 to compare.
+
+
+ |
+
+
+cellId2
+
+
+ |
+
+[CellId](./client.cellid.md)
+
+
+ |
+
+Cell id 1 to compare.
+
+
+ |
+
+**Returns:**
+
+boolean
+
+True if the cell ids are identical.
+
diff --git a/docs/client.md b/docs/client.md
index b4cce9cd..a6a8a5d8 100644
--- a/docs/client.md
+++ b/docs/client.md
@@ -363,6 +363,17 @@ From https://github.com/holochain/holochain/blob/develop/crates/holo\_hash/src/h
Check if a cell's role name is a valid clone id.
+ |
+
+
+[isSameCell(cellId1, cellId2)](./client.issamecell.md)
+
+
+ |
+
+Check if two cell ids are identical.
+
+
|
diff --git a/package-lock.json b/package-lock.json
index aeb207d2..d8ac58d7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@holochain/client",
- "version": "0.18.0-dev.10",
+ "version": "0.18.0-dev.11",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@holochain/client",
- "version": "0.18.0-dev.10",
+ "version": "0.18.0-dev.11",
"license": "CAL-1.0",
"dependencies": {
"@bitgo/blake2b": "^3.2.4",
diff --git a/package.json b/package.json
index 42241497..02327bfc 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@holochain/client",
- "version": "0.18.0-dev.10",
+ "version": "0.18.0-dev.11",
"description": "A JavaScript client for the Holochain Conductor API",
"author": "Holochain Foundation (https://holochain.org)",
"license": "CAL-1.0",
diff --git a/src/api/app/types.ts b/src/api/app/types.ts
index fe45f26a..04f72980 100644
--- a/src/api/app/types.ts
+++ b/src/api/app/types.ts
@@ -249,22 +249,22 @@ export const SignalType = {
*/
export type RawSignal =
| {
- [SignalType.App]: EncodedAppSignal;
- }
+ [SignalType.App]: EncodedAppSignal;
+ }
| {
- [SignalType.System]: SystemSignal;
- };
+ [SignalType.System]: SystemSignal;
+ };
/**
* @public
*/
export type Signal =
| {
- [SignalType.App]: AppSignal;
- }
+ [SignalType.App]: AppSignal;
+ }
| {
- [SignalType.System]: SystemSignal;
- };
+ [SignalType.System]: SystemSignal;
+ };
/**
* @public
diff --git a/src/utils/cell.ts b/src/utils/cell.ts
index 67c369b4..560ccda7 100644
--- a/src/utils/cell.ts
+++ b/src/utils/cell.ts
@@ -1,6 +1,15 @@
import { CellId } from "../types.js";
import { encodeHashToBase64 } from "./base64.js";
+/**
+ * Check if two cell ids are identical.
+ *
+ * @param cellId1 - Cell id 1 to compare.
+ * @param cellId2 - Cell id 1 to compare.
+ * @returns True if the cell ids are identical.
+ *
+ * @public
+ */
export const isSameCell = (cellId1: CellId, cellId2: CellId) => {
const dnaHashB64_1 = encodeHashToBase64(cellId1[0]);
const agentPubKeyB64_1 = encodeHashToBase64(cellId1[1]);
|