Skip to content

Commit b9e744b

Browse files
paulbalajiclaude
andauthored
chore(relayer): add metadata subpath export and re-export types (#8610)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3ee3250 commit b9e744b

5 files changed

Lines changed: 41 additions & 4 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@hyperlane-xyz/relayer": patch
3+
---
4+
5+
Re-exported metadata build result types from the relayer public API and added a
6+
`@hyperlane-xyz/relayer/metadata` subpath export for metadata-only imports.

typescript/relayer/README.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ await relayer.relayMessage(dispatchTx);
3434
relayer.start();
3535
```
3636

37+
### Metadata-Only Usage
38+
39+
For metadata builders without the relayer runtime API, use the `/metadata` export:
40+
41+
```typescript
42+
import { BaseMetadataBuilder } from '@hyperlane-xyz/relayer/metadata';
43+
```
44+
3745
### Node.js Daemon Mode
3846

3947
For Node.js environments with filesystem access, use the `/fs` export:
@@ -104,10 +112,11 @@ cacheFile: ./relayer-cache.json
104112
105113
## Package Exports
106114
107-
| Export | Description | Browser-safe |
108-
| --------------------------- | ----------------------------------------- | ------------ |
109-
| `@hyperlane-xyz/relayer` | Core relayer, metadata builders, schemas | Yes |
110-
| `@hyperlane-xyz/relayer/fs` | RelayerService, loadConfig (file loading) | No (Node.js) |
115+
| Export | Description | Browser-safe |
116+
| --------------------------------- | ----------------------------------------- | ------------ |
117+
| `@hyperlane-xyz/relayer` | Core relayer, metadata builders, schemas | Yes |
118+
| `@hyperlane-xyz/relayer/metadata` | Metadata builders only | Yes |
119+
| `@hyperlane-xyz/relayer/fs` | RelayerService, loadConfig (file loading) | No (Node.js) |
111120

112121
## Prometheus Metrics
113122

typescript/relayer/package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
"types": "./dist/index.d.ts",
2222
"typesVersions": {
2323
"*": {
24+
"metadata": [
25+
"./dist/metadata/index.d.ts"
26+
],
2427
"fs": [
2528
"./dist/fs/index.d.ts"
2629
]
@@ -31,6 +34,10 @@
3134
"types": "./dist/index.d.ts",
3235
"default": "./dist/index.js"
3336
},
37+
"./metadata": {
38+
"types": "./dist/metadata/index.d.ts",
39+
"default": "./dist/metadata/index.js"
40+
},
3441
"./fs": {
3542
"types": "./dist/fs/index.d.ts",
3643
"default": "./dist/fs/index.js"

typescript/relayer/src/metadata/builder.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export class BaseMetadataBuilder implements MetadataBuilder {
6565
case IsmType.TEST_ISM:
6666
case IsmType.OP_STACK:
6767
case IsmType.PAUSABLE:
68+
case IsmType.CCIP:
6869
return this.nullMetadataBuilder.build({ ...context, ism });
6970

7071
case IsmType.MERKLE_ROOT_MULTISIG:

typescript/relayer/src/metadata/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,21 @@ export { MultisigMetadata, MultisigMetadataBuilder } from './multisig.js';
1010
export { NullMetadata, NullMetadataBuilder } from './null.js';
1111
export { DynamicRoutingMetadataBuilder, RoutingMetadata } from './routing.js';
1212
export type {
13+
AggregationMetadataBuildResult,
14+
ArbL2ToL1MetadataBuildResult,
15+
CcipReadMetadataBuildResult,
16+
MetadataBuildResult,
1317
MetadataBuilder,
1418
MetadataContext,
19+
MultisigMetadataBuildResult,
20+
NullMetadataBuildResult,
21+
RoutingMetadataBuildResult,
1522
StructuredMetadata,
23+
ValidatorInfo,
24+
} from './types.js';
25+
export {
26+
ValidatorStatus,
27+
getSignedValidatorCount,
28+
isMetadataBuildable,
29+
isQuorumMet,
1630
} from './types.js';

0 commit comments

Comments
 (0)