@recoillink/deploy-sdk 0.0.0-stage → 11.0.1

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 (103) hide show
  1. package/LICENSE.md +193 -0
  2. package/dist/AltVMFileSubmitter.d.ts +12 -0
  3. package/dist/AltVMFileSubmitter.d.ts.map +1 -0
  4. package/dist/AltVMFileSubmitter.js +35 -0
  5. package/dist/AltVMFileSubmitter.js.map +1 -0
  6. package/dist/AltVMFileSubmitter.test.d.ts +2 -0
  7. package/dist/AltVMFileSubmitter.test.d.ts.map +1 -0
  8. package/dist/AltVMFileSubmitter.test.js +46 -0
  9. package/dist/AltVMFileSubmitter.test.js.map +1 -0
  10. package/dist/AltVMJsonRpcSubmitter.d.ts +2 -0
  11. package/dist/AltVMJsonRpcSubmitter.d.ts.map +1 -0
  12. package/dist/AltVMJsonRpcSubmitter.js +2 -0
  13. package/dist/AltVMJsonRpcSubmitter.js.map +1 -0
  14. package/dist/core/core-artifact-reader.d.ts +67 -0
  15. package/dist/core/core-artifact-reader.d.ts.map +1 -0
  16. package/dist/core/core-artifact-reader.js +118 -0
  17. package/dist/core/core-artifact-reader.js.map +1 -0
  18. package/dist/core/core-artifact-reader.test.d.ts +2 -0
  19. package/dist/core/core-artifact-reader.test.d.ts.map +1 -0
  20. package/dist/core/core-artifact-reader.test.js +310 -0
  21. package/dist/core/core-artifact-reader.test.js.map +1 -0
  22. package/dist/core/core-writer.d.ts +43 -0
  23. package/dist/core/core-writer.d.ts.map +1 -0
  24. package/dist/core/core-writer.js +238 -0
  25. package/dist/core/core-writer.js.map +1 -0
  26. package/dist/core/core-writer.test.d.ts +2 -0
  27. package/dist/core/core-writer.test.d.ts.map +1 -0
  28. package/dist/core/core-writer.test.js +1315 -0
  29. package/dist/core/core-writer.test.js.map +1 -0
  30. package/dist/fee/fee-reader.d.ts +25 -0
  31. package/dist/fee/fee-reader.d.ts.map +1 -0
  32. package/dist/fee/fee-reader.js +35 -0
  33. package/dist/fee/fee-reader.js.map +1 -0
  34. package/dist/fee/fee-writer.d.ts +31 -0
  35. package/dist/fee/fee-writer.d.ts.map +1 -0
  36. package/dist/fee/fee-writer.js +45 -0
  37. package/dist/fee/fee-writer.js.map +1 -0
  38. package/dist/hook/hook-reader.d.ts +41 -0
  39. package/dist/hook/hook-reader.d.ts.map +1 -0
  40. package/dist/hook/hook-reader.js +52 -0
  41. package/dist/hook/hook-reader.js.map +1 -0
  42. package/dist/hook/hook-writer.d.ts +101 -0
  43. package/dist/hook/hook-writer.d.ts.map +1 -0
  44. package/dist/hook/hook-writer.js +140 -0
  45. package/dist/hook/hook-writer.js.map +1 -0
  46. package/dist/hook/hook-writer.test.d.ts +2 -0
  47. package/dist/hook/hook-writer.test.d.ts.map +1 -0
  48. package/dist/hook/hook-writer.test.js +70 -0
  49. package/dist/hook/hook-writer.test.js.map +1 -0
  50. package/dist/index.d.ts +14 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +17 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/ism/generic-ism-context.test.d.ts +2 -0
  55. package/dist/ism/generic-ism-context.test.d.ts.map +1 -0
  56. package/dist/ism/generic-ism-context.test.js +112 -0
  57. package/dist/ism/generic-ism-context.test.js.map +1 -0
  58. package/dist/ism/generic-ism-writer.d.ts +62 -0
  59. package/dist/ism/generic-ism-writer.d.ts.map +1 -0
  60. package/dist/ism/generic-ism-writer.js +100 -0
  61. package/dist/ism/generic-ism-writer.js.map +1 -0
  62. package/dist/ism/generic-ism.d.ts +43 -0
  63. package/dist/ism/generic-ism.d.ts.map +1 -0
  64. package/dist/ism/generic-ism.js +105 -0
  65. package/dist/ism/generic-ism.js.map +1 -0
  66. package/dist/ism/generic-ism.test.d.ts +2 -0
  67. package/dist/ism/generic-ism.test.d.ts.map +1 -0
  68. package/dist/ism/generic-ism.test.js +145 -0
  69. package/dist/ism/generic-ism.test.js.map +1 -0
  70. package/dist/ism/routing-ism.d.ts +21 -0
  71. package/dist/ism/routing-ism.d.ts.map +1 -0
  72. package/dist/ism/routing-ism.js +149 -0
  73. package/dist/ism/routing-ism.js.map +1 -0
  74. package/dist/protocol.d.ts +3 -0
  75. package/dist/protocol.d.ts.map +1 -0
  76. package/dist/protocol.js +38 -0
  77. package/dist/protocol.js.map +1 -0
  78. package/dist/protocol.test.d.ts +2 -0
  79. package/dist/protocol.test.d.ts.map +1 -0
  80. package/dist/protocol.test.js +14 -0
  81. package/dist/protocol.test.js.map +1 -0
  82. package/dist/utils/validation.d.ts +46 -0
  83. package/dist/utils/validation.d.ts.map +1 -0
  84. package/dist/utils/validation.js +132 -0
  85. package/dist/utils/validation.js.map +1 -0
  86. package/dist/utils/validation.test.d.ts +2 -0
  87. package/dist/utils/validation.test.d.ts.map +1 -0
  88. package/dist/utils/validation.test.js +160 -0
  89. package/dist/utils/validation.test.js.map +1 -0
  90. package/dist/warp/warp-reader.d.ts +57 -0
  91. package/dist/warp/warp-reader.d.ts.map +1 -0
  92. package/dist/warp/warp-reader.js +135 -0
  93. package/dist/warp/warp-reader.js.map +1 -0
  94. package/dist/warp/warp-writer.d.ts +67 -0
  95. package/dist/warp/warp-writer.d.ts.map +1 -0
  96. package/dist/warp/warp-writer.js +381 -0
  97. package/dist/warp/warp-writer.js.map +1 -0
  98. package/dist/warp/warp-writer.test.d.ts +2 -0
  99. package/dist/warp/warp-writer.test.d.ts.map +1 -0
  100. package/dist/warp/warp-writer.test.js +1855 -0
  101. package/dist/warp/warp-writer.test.js.map +1 -0
  102. package/package.json +54 -3
  103. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-writer.test.js","sourceRoot":"","sources":["../../src/core/core-writer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ChainMetadataForAltVM } from '@recoillink/provider-sdk';
2
+ import { ArtifactReader } from '@recoillink/provider-sdk/artifact';
3
+ import { DeployedFeeAddress, DeployedFeeArtifact, FeeArtifactConfig, FeeReadContext, IRawFeeArtifactManager } from '@recoillink/provider-sdk/fee';
4
+ /**
5
+ * Factory function to create a FeeReader instance.
6
+ * Returns null if the protocol does not support fee programs.
7
+ *
8
+ * @param chainMetadata Chain metadata for the target chain
9
+ * @param context Required fee read context with domains and routers to check
10
+ * @returns A FeeReader instance, or null if the protocol does not support fees
11
+ */
12
+ export declare function createFeeReader(chainMetadata: ChainMetadataForAltVM, context: FeeReadContext): FeeReader | null;
13
+ /**
14
+ * Generic Fee Reader that reads fee configurations from on-chain state.
15
+ *
16
+ * The FeeReadContext is required at construction time to ensure the reader always
17
+ * knows which domains and routers to check (some fee contracts are not enumerable).
18
+ */
19
+ export declare class FeeReader implements ArtifactReader<FeeArtifactConfig, DeployedFeeAddress> {
20
+ protected readonly artifactManager: IRawFeeArtifactManager;
21
+ protected readonly context: FeeReadContext;
22
+ constructor(artifactManager: IRawFeeArtifactManager, context: FeeReadContext);
23
+ read(address: string): Promise<DeployedFeeArtifact>;
24
+ }
25
+ //# sourceMappingURL=fee-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-reader.d.ts","sourceRoot":"","sources":["../../src/fee/fee-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,cAAc,GACtB,SAAS,GAAG,IAAI,CAUlB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,YAAW,cAAc,CAC9C,iBAAiB,EACjB,kBAAkB,CACnB;IAEG,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB;IAC1D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc;IAF5C,YACqB,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,cAAc,EACxC;IAEE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAExD;CACF"}
@@ -0,0 +1,35 @@
1
+ import { getProtocolProvider, } from '@recoillink/provider-sdk';
2
+ /**
3
+ * Factory function to create a FeeReader instance.
4
+ * Returns null if the protocol does not support fee programs.
5
+ *
6
+ * @param chainMetadata Chain metadata for the target chain
7
+ * @param context Required fee read context with domains and routers to check
8
+ * @returns A FeeReader instance, or null if the protocol does not support fees
9
+ */
10
+ export function createFeeReader(chainMetadata, context) {
11
+ const protocolProvider = getProtocolProvider(chainMetadata.protocol);
12
+ const artifactManager = protocolProvider.createFeeArtifactManager(chainMetadata, context);
13
+ if (!artifactManager) {
14
+ return null;
15
+ }
16
+ return new FeeReader(artifactManager, context);
17
+ }
18
+ /**
19
+ * Generic Fee Reader that reads fee configurations from on-chain state.
20
+ *
21
+ * The FeeReadContext is required at construction time to ensure the reader always
22
+ * knows which domains and routers to check (some fee contracts are not enumerable).
23
+ */
24
+ export class FeeReader {
25
+ artifactManager;
26
+ context;
27
+ constructor(artifactManager, context) {
28
+ this.artifactManager = artifactManager;
29
+ this.context = context;
30
+ }
31
+ async read(address) {
32
+ return this.artifactManager.readFee(address, this.context);
33
+ }
34
+ }
35
+ //# sourceMappingURL=fee-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-reader.js","sourceRoot":"","sources":["../../src/fee/fee-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAUlC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,aAAoC,EACpC,OAAuB;IAEvB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,eAAe,GACnB,gBAAgB,CAAC,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IAKC,eAAe;IACf,OAAO;IAF5B,YACqB,eAAuC,EACvC,OAAuB;+BADvB,eAAe;uBACf,OAAO;IACzB,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import { ChainMetadataForAltVM } from '@recoillink/provider-sdk';
2
+ import { ISigner } from '@recoillink/provider-sdk/altvm';
3
+ import { ArtifactNew, ArtifactWriter } from '@recoillink/provider-sdk/artifact';
4
+ import { DeployedFeeAddress, DeployedFeeArtifact, FeeArtifactConfig, FeeReadContext, IRawFeeArtifactManager } from '@recoillink/provider-sdk/fee';
5
+ import { AnnotatedTx, TxReceipt } from '@recoillink/provider-sdk/module';
6
+ import { FeeReader } from './fee-reader.js';
7
+ /**
8
+ * Factory function to create a FeeWriter instance.
9
+ * Returns null if the protocol does not support fee programs.
10
+ *
11
+ * @param chainMetadata Chain metadata for the target chain
12
+ * @param signer Signer interface for signing transactions
13
+ * @param context Required fee read context with domains and routers to check
14
+ * @returns A FeeWriter instance, or null if the protocol does not support fees
15
+ */
16
+ export declare function createFeeWriter(chainMetadata: ChainMetadataForAltVM, signer: ISigner<AnnotatedTx, TxReceipt>, context: FeeReadContext): FeeWriter | null;
17
+ /**
18
+ * FeeWriter handles creation and updates of fee configurations using the Artifact API.
19
+ * It delegates to protocol-specific artifact writers for individual fee types.
20
+ *
21
+ * Extends FeeReader to inherit read() functionality.
22
+ * The FeeReadContext is required at construction time to ensure the reader always
23
+ * knows which domains and routers to check (some fee contracts are not enumerable).
24
+ */
25
+ export declare class FeeWriter extends FeeReader implements ArtifactWriter<FeeArtifactConfig, DeployedFeeAddress> {
26
+ private readonly signer;
27
+ constructor(artifactManager: IRawFeeArtifactManager, context: FeeReadContext, signer: ISigner<AnnotatedTx, TxReceipt>);
28
+ create(artifact: ArtifactNew<FeeArtifactConfig>): Promise<[DeployedFeeArtifact, TxReceipt[]]>;
29
+ update(artifact: DeployedFeeArtifact): Promise<AnnotatedTx[]>;
30
+ }
31
+ //# sourceMappingURL=fee-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-writer.d.ts","sourceRoot":"","sources":["../../src/fee/fee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,OAAO,EAAE,cAAc,GACtB,SAAS,GAAG,IAAI,CAUlB;AAED;;;;;;;GAOG;AACH,qBAAa,SACX,SAAQ,SACR,YAAW,cAAc,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAK9D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,YACE,eAAe,EAAE,sBAAsB,EACvC,OAAO,EAAE,cAAc,EACN,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EAGzD;IAEK,MAAM,CACV,QAAQ,EAAE,WAAW,CAAC,iBAAiB,CAAC,GACvC,OAAO,CAAC,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,CAAC,CAI7C;IAEK,MAAM,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAIlE;CACF"}
@@ -0,0 +1,45 @@
1
+ import { getProtocolProvider, } from '@recoillink/provider-sdk';
2
+ import { FeeReader } from './fee-reader.js';
3
+ /**
4
+ * Factory function to create a FeeWriter instance.
5
+ * Returns null if the protocol does not support fee programs.
6
+ *
7
+ * @param chainMetadata Chain metadata for the target chain
8
+ * @param signer Signer interface for signing transactions
9
+ * @param context Required fee read context with domains and routers to check
10
+ * @returns A FeeWriter instance, or null if the protocol does not support fees
11
+ */
12
+ export function createFeeWriter(chainMetadata, signer, context) {
13
+ const protocolProvider = getProtocolProvider(chainMetadata.protocol);
14
+ const artifactManager = protocolProvider.createFeeArtifactManager(chainMetadata, context);
15
+ if (!artifactManager) {
16
+ return null;
17
+ }
18
+ return new FeeWriter(artifactManager, context, signer);
19
+ }
20
+ /**
21
+ * FeeWriter handles creation and updates of fee configurations using the Artifact API.
22
+ * It delegates to protocol-specific artifact writers for individual fee types.
23
+ *
24
+ * Extends FeeReader to inherit read() functionality.
25
+ * The FeeReadContext is required at construction time to ensure the reader always
26
+ * knows which domains and routers to check (some fee contracts are not enumerable).
27
+ */
28
+ export class FeeWriter extends FeeReader {
29
+ signer;
30
+ constructor(artifactManager, context, signer) {
31
+ super(artifactManager, context);
32
+ this.signer = signer;
33
+ }
34
+ async create(artifact) {
35
+ const { config } = artifact;
36
+ const writer = this.artifactManager.createWriter(config.type, this.signer);
37
+ return writer.create(artifact);
38
+ }
39
+ async update(artifact) {
40
+ const { config } = artifact;
41
+ const writer = this.artifactManager.createWriter(config.type, this.signer);
42
+ return writer.update(artifact);
43
+ }
44
+ }
45
+ //# sourceMappingURL=fee-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-writer.js","sourceRoot":"","sources":["../../src/fee/fee-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,aAAoC,EACpC,MAAuC,EACvC,OAAuB;IAEvB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,eAAe,GACnB,gBAAgB,CAAC,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,SACX,SAAQ,SAAS;IAME,MAAM;IAHzB,YACE,eAAuC,EACvC,OAAuB,EACN,MAAuC;QAExD,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;sBAFf,MAAM;IAGzB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAwC;QAExC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAA6B;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ import { ChainMetadataForAltVM } from '@recoillink/provider-sdk';
2
+ import { ArtifactReader } from '@recoillink/provider-sdk/artifact';
3
+ import { ChainLookup } from '@recoillink/provider-sdk/chain';
4
+ import { DeployedHookAddress, DeployedHookArtifact, DerivedHookConfig, HookArtifactConfig, IRawHookArtifactManager } from '@recoillink/provider-sdk/hook';
5
+ import { Logger } from '@recoillink/utils';
6
+ /**
7
+ * Factory function to create a HookReader instance.
8
+ * This helper centralizes the creation of artifact managers and hook readers,
9
+ * making it easier to instantiate readers across the codebase.
10
+ *
11
+ * @param chainMetadata Chain metadata for the target chain (protocol type is extracted from metadata.protocol)
12
+ * @param chainLookup Chain lookup interface for resolving chain names and domain IDs
13
+ * @param context Optional deployment context (e.g. mailbox address needed by SVM for merkle tree hook detection)
14
+ * @returns A HookReader instance
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const reader = createHookReader(chainMetadata, chainLookup, { mailbox: mailboxAddress });
19
+ * const hookConfig = await reader.read(hookAddress);
20
+ * ```
21
+ */
22
+ export declare function createHookReader(chainMetadata: ChainMetadataForAltVM, chainLookup: ChainLookup, context?: {
23
+ mailbox?: string;
24
+ }): HookReader;
25
+ /**
26
+ * Generic Hook Reader that can read any hook type by detecting its type.
27
+ * Unlike ISMs, hooks don't have composite/nested types, so no recursive expansion needed.
28
+ */
29
+ export declare class HookReader implements ArtifactReader<HookArtifactConfig, DeployedHookAddress> {
30
+ protected readonly artifactManager: IRawHookArtifactManager;
31
+ protected readonly chainLookup: ChainLookup;
32
+ protected readonly logger: Logger;
33
+ constructor(artifactManager: IRawHookArtifactManager, chainLookup: ChainLookup);
34
+ read(address: string): Promise<DeployedHookArtifact>;
35
+ /**
36
+ * Backward compatibility method that converts DeployedHookArtifact to DerivedHookConfig.
37
+ * This allows HookReader to be used as a drop-in replacement for the old AltVMHookReader.
38
+ */
39
+ deriveHookConfig(address: string): Promise<DerivedHookConfig>;
40
+ }
41
+ //# sourceMappingURL=hook-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-reader.d.ts","sourceRoot":"","sources":["../../src/hook/hook-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EAExB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,qBAAqB,EACpC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,UAAU,CAMZ;AAED;;;GAGG;AACH,qBAAa,UAAW,YAAW,cAAc,CAC/C,kBAAkB,EAClB,mBAAmB,CACpB;IAMG,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,uBAAuB;IAC3D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAN7C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAE9B;IAEH,YACqB,eAAe,EAAE,uBAAuB,EACxC,WAAW,EAAE,WAAW,EACzC;IAEE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAGzD;IAED;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGlE;CACF"}
@@ -0,0 +1,52 @@
1
+ import { getProtocolProvider, } from '@recoillink/provider-sdk';
2
+ import { hookArtifactToDerivedConfig, } from '@recoillink/provider-sdk/hook';
3
+ import { rootLogger } from '@recoillink/utils';
4
+ /**
5
+ * Factory function to create a HookReader instance.
6
+ * This helper centralizes the creation of artifact managers and hook readers,
7
+ * making it easier to instantiate readers across the codebase.
8
+ *
9
+ * @param chainMetadata Chain metadata for the target chain (protocol type is extracted from metadata.protocol)
10
+ * @param chainLookup Chain lookup interface for resolving chain names and domain IDs
11
+ * @param context Optional deployment context (e.g. mailbox address needed by SVM for merkle tree hook detection)
12
+ * @returns A HookReader instance
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const reader = createHookReader(chainMetadata, chainLookup, { mailbox: mailboxAddress });
17
+ * const hookConfig = await reader.read(hookAddress);
18
+ * ```
19
+ */
20
+ export function createHookReader(chainMetadata, chainLookup, context) {
21
+ const protocolProvider = getProtocolProvider(chainMetadata.protocol);
22
+ const artifactManager = protocolProvider.createHookArtifactManager(chainMetadata, context);
23
+ return new HookReader(artifactManager, chainLookup);
24
+ }
25
+ /**
26
+ * Generic Hook Reader that can read any hook type by detecting its type.
27
+ * Unlike ISMs, hooks don't have composite/nested types, so no recursive expansion needed.
28
+ */
29
+ export class HookReader {
30
+ artifactManager;
31
+ chainLookup;
32
+ logger = rootLogger.child({
33
+ module: HookReader.name,
34
+ });
35
+ constructor(artifactManager, chainLookup) {
36
+ this.artifactManager = artifactManager;
37
+ this.chainLookup = chainLookup;
38
+ }
39
+ async read(address) {
40
+ // Read hook via artifactManager - detects type and returns config
41
+ return this.artifactManager.readHook(address);
42
+ }
43
+ /**
44
+ * Backward compatibility method that converts DeployedHookArtifact to DerivedHookConfig.
45
+ * This allows HookReader to be used as a drop-in replacement for the old AltVMHookReader.
46
+ */
47
+ async deriveHookConfig(address) {
48
+ const artifact = await this.read(address);
49
+ return hookArtifactToDerivedConfig(artifact, this.chainLookup);
50
+ }
51
+ }
52
+ //# sourceMappingURL=hook-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-reader.js","sourceRoot":"","sources":["../../src/hook/hook-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAML,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC9B,aAAoC,EACpC,WAAwB,EACxB,OAA8B;IAE9B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,eAAe,GACnB,gBAAgB,CAAC,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAErE,OAAO,IAAI,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,UAAU;IASA,eAAe;IACf,WAAW;IANb,MAAM,GAAW,UAAU,CAAC,KAAK,CAAC;QACnD,MAAM,EAAE,UAAU,CAAC,IAAI;KACxB,CAAC,CAAC;IAEH,YACqB,eAAwC,EACxC,WAAwB;+BADxB,eAAe;2BACf,WAAW;IAC7B,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,kEAAkE;QAClE,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -0,0 +1,101 @@
1
+ import { ChainMetadataForAltVM } from '@recoillink/provider-sdk';
2
+ import { ISigner } from '@recoillink/provider-sdk/altvm';
3
+ import { ArtifactNew, ArtifactWriter } from '@recoillink/provider-sdk/artifact';
4
+ import { ChainLookup } from '@recoillink/provider-sdk/chain';
5
+ import { DeployedHookAddress, DeployedHookArtifact, HookArtifactConfig, HookConfig, IRawHookArtifactManager } from '@recoillink/provider-sdk/hook';
6
+ import { AnnotatedTx, TxReceipt } from '@recoillink/provider-sdk/module';
7
+ import { Address } from '@recoillink/utils';
8
+ import { HookReader } from './hook-reader.js';
9
+ /**
10
+ * Deployment context for hooks that need environment information.
11
+ * Different protocols may require different context fields.
12
+ */
13
+ export type HookDeploymentContext = {
14
+ /** Mailbox address on the chain where hooks are being deployed */
15
+ mailbox?: string;
16
+ };
17
+ /**
18
+ * Factory function to create a HookWriter instance.
19
+ *
20
+ * @param chainMetadata Chain metadata for the target chain
21
+ * @param chainLookup Chain lookup interface for resolving chain names and domain IDs
22
+ * @param signer Signer interface for signing transactions
23
+ * @param context Optional deployment context (mailbox address, etc.) required by some protocols
24
+ * @returns A HookWriter instance
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Creating hooks during core deployment (with mailbox context)
29
+ * const writer = createHookWriter(chainMetadata, chainLookup, signer, {
30
+ * mailbox: mailboxAddress
31
+ * });
32
+ * const [deployed] = await writer.create(hookArtifact);
33
+ *
34
+ * // Reading hooks (no context needed)
35
+ * const reader = createHookReader(chainMetadata, chainLookup);
36
+ * const hookConfig = await reader.deriveHookConfig(hookAddress);
37
+ * ```
38
+ */
39
+ export declare function createHookWriter(chainMetadata: ChainMetadataForAltVM, chainLookup: ChainLookup, signer: ISigner<AnnotatedTx, TxReceipt>, context?: HookDeploymentContext): HookWriter;
40
+ /**
41
+ * HookWriter handles creation and updates of hooks using the Artifact API.
42
+ * It delegates to protocol-specific artifact writers for individual hook types.
43
+ *
44
+ * Key features:
45
+ * - Extends HookReader to inherit read() functionality
46
+ * - Works with pure Artifact API (HookArtifactConfig)
47
+ * - Delegates to typed writers from artifact manager for specific hook types
48
+ * - Protocol-agnostic through artifact manager abstraction
49
+ * - Supports mutable hook updates (e.g. IGP gas configs, protocol fee updates)
50
+ * - MerkleTree hooks are immutable (no updates)
51
+ *
52
+ * Note: In the future, the Artifact API will include an explicit check
53
+ * to verify if an artifact type is updatable before attempting updates.
54
+ */
55
+ export declare class HookWriter extends HookReader implements ArtifactWriter<HookArtifactConfig, DeployedHookAddress> {
56
+ protected readonly artifactManager: IRawHookArtifactManager;
57
+ protected readonly chainLookup: ChainLookup;
58
+ protected readonly signer: ISigner<AnnotatedTx, TxReceipt>;
59
+ constructor(artifactManager: IRawHookArtifactManager, chainLookup: ChainLookup, signer: ISigner<AnnotatedTx, TxReceipt>);
60
+ /**
61
+ * Creates a new hook by deploying it on-chain.
62
+ * Delegates to the typed writer from the artifact manager based on hook type.
63
+ *
64
+ * @param artifact The hook configuration to deploy
65
+ * @returns A tuple of [deployed artifact, transaction receipts]
66
+ */
67
+ create(artifact: ArtifactNew<HookArtifactConfig>): Promise<[DeployedHookArtifact, TxReceipt[]]>;
68
+ /**
69
+ * Updates an existing hook to match the desired configuration.
70
+ * Mutable hooks delegate to their protocol-specific writers.
71
+ * MerkleTree hooks are immutable - returns empty array.
72
+ *
73
+ * Note: In the future, the Artifact API will provide an explicit
74
+ * isUpdatable() check to determine if an artifact can be updated.
75
+ *
76
+ * @param artifact The desired hook state (must include deployed address)
77
+ * @returns Array of transactions needed to perform the update
78
+ */
79
+ update(artifact: DeployedHookArtifact): Promise<AnnotatedTx[]>;
80
+ /**
81
+ * Deploys a new hook or updates an existing one based on configuration comparison.
82
+ *
83
+ * This method encapsulates the logic to:
84
+ * 1. If no existing hook, deploy a new one
85
+ * 2. If existing hook exists, read its state and compare with expected config
86
+ * 3. If configs differ significantly, deploy a new hook
87
+ * 4. If configs can be updated in-place, generate update transactions
88
+ *
89
+ * @param params.actualAddress - The address of the existing hook (if any)
90
+ * @param params.expectedConfig - The desired hook configuration
91
+ * @returns Object with the deployed hook address and any update transactions
92
+ */
93
+ deployOrUpdate(params: {
94
+ actualAddress: string | undefined;
95
+ expectedConfig: HookConfig;
96
+ }): Promise<{
97
+ address: Address;
98
+ transactions: AnnotatedTx[];
99
+ }>;
100
+ }
101
+ //# sourceMappingURL=hook-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-writer.d.ts","sourceRoot":"","sources":["../../src/hook/hook-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EACL,WAAW,EAEX,cAAc,EACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,uBAAuB,EAIxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAkB,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,qBAAqB,EACpC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,UAAU,CAMZ;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UACX,SAAQ,UACR,YAAW,cAAc,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;uBAGpC,eAAe,EAAE,uBAAuB;uBACxC,WAAW,EAAE,WAAW;IACpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;IAH5D,YAC8B,eAAe,EAAE,uBAAuB,EACxC,WAAW,EAAE,WAAW,EACjC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,EAG3D;IAED;;;;;;OAMG;IACG,MAAM,CACV,QAAQ,EAAE,WAAW,CAAC,kBAAkB,CAAC,GACxC,OAAO,CAAC,CAAC,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC,CAM9C;IAED;;;;;;;;;;OAUG;IACG,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CASnE;IAED;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,MAAM,EAAE;QAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,cAAc,EAAE,UAAU,CAAC;KAC5B,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,WAAW,EAAE,CAAC;KAC7B,CAAC,CA4CD;CACF"}
@@ -0,0 +1,140 @@
1
+ import { getProtocolProvider, } from '@recoillink/provider-sdk';
2
+ import { ArtifactState, } from '@recoillink/provider-sdk/artifact';
3
+ import { MUTABLE_HOOK_TYPE, hookConfigToArtifact, shouldDeployNewHook, } from '@recoillink/provider-sdk/hook';
4
+ import { isEmptyAddress } from '@recoillink/utils';
5
+ import { HookReader } from './hook-reader.js';
6
+ /**
7
+ * Factory function to create a HookWriter instance.
8
+ *
9
+ * @param chainMetadata Chain metadata for the target chain
10
+ * @param chainLookup Chain lookup interface for resolving chain names and domain IDs
11
+ * @param signer Signer interface for signing transactions
12
+ * @param context Optional deployment context (mailbox address, etc.) required by some protocols
13
+ * @returns A HookWriter instance
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Creating hooks during core deployment (with mailbox context)
18
+ * const writer = createHookWriter(chainMetadata, chainLookup, signer, {
19
+ * mailbox: mailboxAddress
20
+ * });
21
+ * const [deployed] = await writer.create(hookArtifact);
22
+ *
23
+ * // Reading hooks (no context needed)
24
+ * const reader = createHookReader(chainMetadata, chainLookup);
25
+ * const hookConfig = await reader.deriveHookConfig(hookAddress);
26
+ * ```
27
+ */
28
+ export function createHookWriter(chainMetadata, chainLookup, signer, context) {
29
+ const protocolProvider = getProtocolProvider(chainMetadata.protocol);
30
+ const artifactManager = protocolProvider.createHookArtifactManager(chainMetadata, context);
31
+ return new HookWriter(artifactManager, chainLookup, signer);
32
+ }
33
+ /**
34
+ * HookWriter handles creation and updates of hooks using the Artifact API.
35
+ * It delegates to protocol-specific artifact writers for individual hook types.
36
+ *
37
+ * Key features:
38
+ * - Extends HookReader to inherit read() functionality
39
+ * - Works with pure Artifact API (HookArtifactConfig)
40
+ * - Delegates to typed writers from artifact manager for specific hook types
41
+ * - Protocol-agnostic through artifact manager abstraction
42
+ * - Supports mutable hook updates (e.g. IGP gas configs, protocol fee updates)
43
+ * - MerkleTree hooks are immutable (no updates)
44
+ *
45
+ * Note: In the future, the Artifact API will include an explicit check
46
+ * to verify if an artifact type is updatable before attempting updates.
47
+ */
48
+ export class HookWriter extends HookReader {
49
+ artifactManager;
50
+ chainLookup;
51
+ signer;
52
+ constructor(artifactManager, chainLookup, signer) {
53
+ super(artifactManager, chainLookup);
54
+ this.artifactManager = artifactManager;
55
+ this.chainLookup = chainLookup;
56
+ this.signer = signer;
57
+ }
58
+ /**
59
+ * Creates a new hook by deploying it on-chain.
60
+ * Delegates to the typed writer from the artifact manager based on hook type.
61
+ *
62
+ * @param artifact The hook configuration to deploy
63
+ * @returns A tuple of [deployed artifact, transaction receipts]
64
+ */
65
+ async create(artifact) {
66
+ const { config } = artifact;
67
+ // Get the typed writer for this hook type
68
+ const writer = this.artifactManager.createWriter(config.type, this.signer);
69
+ return writer.create(artifact);
70
+ }
71
+ /**
72
+ * Updates an existing hook to match the desired configuration.
73
+ * Mutable hooks delegate to their protocol-specific writers.
74
+ * MerkleTree hooks are immutable - returns empty array.
75
+ *
76
+ * Note: In the future, the Artifact API will provide an explicit
77
+ * isUpdatable() check to determine if an artifact can be updated.
78
+ *
79
+ * @param artifact The desired hook state (must include deployed address)
80
+ * @returns Array of transactions needed to perform the update
81
+ */
82
+ async update(artifact) {
83
+ const { artifactState, config, deployed } = artifact;
84
+ if (!MUTABLE_HOOK_TYPE.includes(config.type)) {
85
+ return [];
86
+ }
87
+ const writer = this.artifactManager.createWriter(config.type, this.signer);
88
+ return writer.update({ artifactState, config, deployed });
89
+ }
90
+ /**
91
+ * Deploys a new hook or updates an existing one based on configuration comparison.
92
+ *
93
+ * This method encapsulates the logic to:
94
+ * 1. If no existing hook, deploy a new one
95
+ * 2. If existing hook exists, read its state and compare with expected config
96
+ * 3. If configs differ significantly, deploy a new hook
97
+ * 4. If configs can be updated in-place, generate update transactions
98
+ *
99
+ * @param params.actualAddress - The address of the existing hook (if any)
100
+ * @param params.expectedConfig - The desired hook configuration
101
+ * @returns Object with the deployed hook address and any update transactions
102
+ */
103
+ async deployOrUpdate(params) {
104
+ const { actualAddress, expectedConfig } = params;
105
+ // Convert expected config to artifact format
106
+ const expectedArtifact = hookConfigToArtifact(expectedConfig, this.chainLookup);
107
+ // If no existing hook, deploy new one directly
108
+ if (!actualAddress || isEmptyAddress(actualAddress)) {
109
+ const [deployed] = await this.create(expectedArtifact);
110
+ return {
111
+ address: deployed.deployed.address,
112
+ transactions: [],
113
+ };
114
+ }
115
+ // Read actual hook state
116
+ const actualArtifact = await this.read(actualAddress);
117
+ // Decide: deploy new hook or update existing one
118
+ if (shouldDeployNewHook(actualArtifact.config, expectedArtifact.config)) {
119
+ // Deploy new hook
120
+ const [deployed] = await this.create(expectedArtifact);
121
+ return {
122
+ address: deployed.deployed.address,
123
+ transactions: [],
124
+ };
125
+ }
126
+ // Update existing hook in place when the hook type is mutable.
127
+ const deployedArtifact = {
128
+ ...expectedArtifact,
129
+ artifactState: ArtifactState.DEPLOYED,
130
+ config: expectedArtifact.config,
131
+ deployed: actualArtifact.deployed,
132
+ };
133
+ const transactions = await this.update(deployedArtifact);
134
+ return {
135
+ address: actualAddress,
136
+ transactions,
137
+ };
138
+ }
139
+ }
140
+ //# sourceMappingURL=hook-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-writer.js","sourceRoot":"","sources":["../../src/hook/hook-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hook-writer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-writer.test.d.ts","sourceRoot":"","sources":["../../src/hook/hook-writer.test.ts"],"names":[],"mappings":""}