@hyperlane-xyz/provider-sdk 5.0.3 → 6.0.0

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.
package/dist/altvm.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { MinimumRequiredGasByAction } from './mingas.js';
2
- import type { ProtocolType } from './protocol.js';
2
+ import type { ProtocolType } from './protocolType.js';
3
3
  export type ReqGetBalance = {
4
4
  address: string;
5
5
  denom?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"altvm.d.ts","sourceRoot":"","sources":["../src/altvm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"altvm.d.ts","sourceRoot":"","sources":["../src/altvm.ts"],"names":[],"mappings":"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"}
package/dist/chain.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ChainId, Domain } from '@hyperlane-xyz/utils';
2
- import { ProtocolType } from './protocol.js';
2
+ import { ProtocolType } from './protocolType.js';
3
3
  type ChainNameOrId = string | number;
4
4
  /**
5
5
  * Consolidated chain metadata interface for all AltVM modules.
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAGJ,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,aAAa,KACjB,qBAAqB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAElE,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,MAAM,MAAM,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAGJ,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,aAAa,KACjB,qBAAqB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAElE,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,MAAM,MAAM,EAAE,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC"}
package/dist/fee.d.ts ADDED
@@ -0,0 +1,116 @@
1
+ import { ArtifactDeployed, ArtifactNew, IArtifactManager } from './artifact.js';
2
+ import { ChainLookup } from './chain.js';
3
+ export declare const FeeStrategyType: {
4
+ readonly linear: "linear";
5
+ readonly regressive: "regressive";
6
+ readonly progressive: "progressive";
7
+ readonly offchainQuotedLinear: "offchainQuotedLinear";
8
+ };
9
+ export type FeeStrategyType = (typeof FeeStrategyType)[keyof typeof FeeStrategyType];
10
+ export interface FeeParams {
11
+ maxFee: string;
12
+ halfAmount: string;
13
+ }
14
+ export interface LinearFeeStrategy extends FeeParams {
15
+ type: typeof FeeStrategyType.linear;
16
+ }
17
+ export interface RegressiveFeeStrategy extends FeeParams {
18
+ type: typeof FeeStrategyType.regressive;
19
+ }
20
+ export interface ProgressiveFeeStrategy extends FeeParams {
21
+ type: typeof FeeStrategyType.progressive;
22
+ }
23
+ export interface OffchainQuotedLinearFeeStrategy extends FeeParams {
24
+ type: typeof FeeStrategyType.offchainQuotedLinear;
25
+ quoteSigners: string[];
26
+ }
27
+ export type FeeStrategy = LinearFeeStrategy | RegressiveFeeStrategy | ProgressiveFeeStrategy | OffchainQuotedLinearFeeStrategy;
28
+ export declare const FeeType: {
29
+ readonly linear: "linear";
30
+ readonly regressive: "regressive";
31
+ readonly progressive: "progressive";
32
+ readonly offchainQuotedLinear: "offchainQuotedLinear";
33
+ readonly routing: "routing";
34
+ readonly crossCollateralRouting: "crossCollateralRouting";
35
+ };
36
+ export type FeeType = (typeof FeeType)[keyof typeof FeeType];
37
+ export type BaseFeeConfig<T = {}> = {
38
+ owner: string;
39
+ beneficiary: string;
40
+ } & T;
41
+ export interface LinearFeeConfig extends BaseFeeConfig<FeeParams> {
42
+ type: typeof FeeType.linear;
43
+ }
44
+ export interface RegressiveFeeConfig extends BaseFeeConfig<FeeParams> {
45
+ type: typeof FeeType.regressive;
46
+ }
47
+ export interface ProgressiveFeeConfig extends BaseFeeConfig<FeeParams> {
48
+ type: typeof FeeType.progressive;
49
+ }
50
+ export interface OffchainQuotedLinearFeeConfig extends BaseFeeConfig<FeeParams> {
51
+ type: typeof FeeType.offchainQuotedLinear;
52
+ quoteSigners: string[];
53
+ }
54
+ export interface RoutingFeeConfig extends BaseFeeConfig {
55
+ type: typeof FeeType.routing;
56
+ routes: Record<string, FeeStrategy>;
57
+ }
58
+ export interface CrossCollateralRoutingFeeConfig extends BaseFeeConfig {
59
+ type: typeof FeeType.crossCollateralRouting;
60
+ routes: Record<string, Record<string, FeeStrategy>>;
61
+ }
62
+ export type FeeConfig = LinearFeeConfig | RegressiveFeeConfig | ProgressiveFeeConfig | OffchainQuotedLinearFeeConfig | RoutingFeeConfig | CrossCollateralRoutingFeeConfig;
63
+ export type DerivedFeeConfig = FeeConfig & {
64
+ address: string;
65
+ };
66
+ export interface RoutingFeeArtifactConfig extends BaseFeeConfig {
67
+ type: typeof FeeType.routing;
68
+ routes: Record<number, FeeStrategy>;
69
+ }
70
+ export interface CrossCollateralRoutingFeeArtifactConfig extends BaseFeeConfig {
71
+ type: typeof FeeType.crossCollateralRouting;
72
+ routes: Record<number, Record<string, FeeStrategy>>;
73
+ }
74
+ export interface FeeArtifactConfigs {
75
+ linear: LinearFeeConfig;
76
+ regressive: RegressiveFeeConfig;
77
+ progressive: ProgressiveFeeConfig;
78
+ offchainQuotedLinear: OffchainQuotedLinearFeeConfig;
79
+ routing: RoutingFeeArtifactConfig;
80
+ crossCollateralRouting: CrossCollateralRoutingFeeArtifactConfig;
81
+ }
82
+ export type FeeArtifactConfig = FeeArtifactConfigs[FeeType];
83
+ export interface DeployedFeeAddress {
84
+ address: string;
85
+ }
86
+ export type DeployedFeeArtifact = ArtifactDeployed<FeeArtifactConfig, DeployedFeeAddress>;
87
+ export interface FeeReadContext {
88
+ knownRoutersPerDomain: Record<number, Set<string>>;
89
+ }
90
+ export interface IRawFeeArtifactManager extends IArtifactManager<FeeType, FeeArtifactConfigs, DeployedFeeAddress> {
91
+ readFee(address: string, context: FeeReadContext): Promise<DeployedFeeArtifact>;
92
+ }
93
+ /**
94
+ * Converts FeeConfig (Config API) to FeeArtifactConfig (Artifact API).
95
+ * Chain names are converted to domain IDs for routing/CC routing fee types.
96
+ * Direct fee types (linear, regressive, progressive) are passed through unchanged.
97
+ */
98
+ export declare function feeConfigToArtifact(config: FeeConfig, chainLookup: ChainLookup): ArtifactNew<FeeArtifactConfig>;
99
+ /**
100
+ * Converts a DeployedFeeArtifact to DerivedFeeConfig format.
101
+ * Domain IDs are converted back to chain names for routing/CC routing fee types.
102
+ */
103
+ export declare function feeArtifactToDerivedConfig(artifact: DeployedFeeArtifact, chainLookup: ChainLookup): DerivedFeeConfig;
104
+ /**
105
+ * Determines if a new fee should be deployed instead of updating the existing one.
106
+ * Deploy new if fee type changed. For direct types (linear, regressive, progressive),
107
+ * deploy new if config changed (immutable on EVM - constructor-set params).
108
+ * Routing/CC routing types are mutable and can be updated in-place.
109
+ */
110
+ export declare function shouldDeployNewFee(actual: FeeArtifactConfig, expected: FeeArtifactConfig): boolean;
111
+ /**
112
+ * Merges current on-chain fee artifact with expected fee artifact.
113
+ * Determines whether to deploy a new fee or update/reuse existing one.
114
+ */
115
+ export declare function mergeFeeArtifacts(currentArtifact: DeployedFeeArtifact | undefined, expectedArtifact: ArtifactNew<FeeArtifactConfig> | DeployedFeeArtifact): ArtifactNew<FeeArtifactConfig> | DeployedFeeArtifact;
116
+ //# sourceMappingURL=fee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../src/fee.ts"],"names":[],"mappings":"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"}
package/dist/fee.js ADDED
@@ -0,0 +1,206 @@
1
+ import { deepEquals, isNullish, normalizeConfig, rootLogger, } from '@hyperlane-xyz/utils';
2
+ import { ArtifactState, isArtifactDeployed, } from './artifact.js';
3
+ // These fee types model fees as a single contract/program with internal routing,
4
+ // unlike the EVM implementation where RoutingFee and CrossCollateralRoutingFee
5
+ // deploy separate fee contracts per destination domain. The upcoming SVM fee
6
+ // program will handle all routing internally via PDAs within one program, and
7
+ // these multi-VM types follow that single-entity model to avoid the complexity
8
+ // of supporting both approaches simultaneously. This will be unified later to
9
+ // support both models under a single interface.
10
+ // ====== Strategy Types (shared between Config API and Artifact API) ======
11
+ export const FeeStrategyType = {
12
+ linear: 'linear',
13
+ regressive: 'regressive',
14
+ progressive: 'progressive',
15
+ offchainQuotedLinear: 'offchainQuotedLinear',
16
+ };
17
+ export const FeeType = {
18
+ linear: 'linear',
19
+ regressive: 'regressive',
20
+ progressive: 'progressive',
21
+ offchainQuotedLinear: 'offchainQuotedLinear',
22
+ routing: 'routing',
23
+ crossCollateralRouting: 'crossCollateralRouting',
24
+ };
25
+ // ====== Config <-> Artifact Conversion ======
26
+ const feeLogger = rootLogger.child({ module: 'fee-config-utils' });
27
+ function convertRoutesToArtifact(routes, chainLookup) {
28
+ const result = {};
29
+ for (const [chainName, strategy] of Object.entries(routes)) {
30
+ const domainId = chainLookup.getDomainId(chainName);
31
+ if (isNullish(domainId)) {
32
+ feeLogger.warn(`Skipping fee route for unknown chain: ${chainName}. ` +
33
+ `Chain not found in chain lookup.`);
34
+ continue;
35
+ }
36
+ result[domainId] = strategy;
37
+ }
38
+ return result;
39
+ }
40
+ function convertCCRoutesToArtifact(routes, chainLookup) {
41
+ const result = {};
42
+ for (const [chainName, routerMap] of Object.entries(routes)) {
43
+ const domainId = chainLookup.getDomainId(chainName);
44
+ if (isNullish(domainId)) {
45
+ feeLogger.warn(`Skipping CC fee route for unknown chain: ${chainName}. ` +
46
+ `Chain not found in chain lookup.`);
47
+ continue;
48
+ }
49
+ result[domainId] = routerMap;
50
+ }
51
+ return result;
52
+ }
53
+ function convertRoutesToDerived(routes, chainLookup) {
54
+ const result = {};
55
+ for (const [domainIdStr, strategy] of Object.entries(routes)) {
56
+ const domainId = parseInt(domainIdStr);
57
+ const chainName = chainLookup.getChainName(domainId);
58
+ if (!chainName) {
59
+ feeLogger.warn(`Skipping fee route for unknown domain ID: ${domainId}. ` +
60
+ `Domain not found in chain lookup.`);
61
+ continue;
62
+ }
63
+ result[chainName] = strategy;
64
+ }
65
+ return result;
66
+ }
67
+ function convertCCRoutesToDerived(routes, chainLookup) {
68
+ const result = {};
69
+ for (const [domainIdStr, routerMap] of Object.entries(routes)) {
70
+ const domainId = parseInt(domainIdStr);
71
+ const chainName = chainLookup.getChainName(domainId);
72
+ if (!chainName) {
73
+ feeLogger.warn(`Skipping CC fee route for unknown domain ID: ${domainId}. ` +
74
+ `Domain not found in chain lookup.`);
75
+ continue;
76
+ }
77
+ result[chainName] = routerMap;
78
+ }
79
+ return result;
80
+ }
81
+ /**
82
+ * Converts FeeConfig (Config API) to FeeArtifactConfig (Artifact API).
83
+ * Chain names are converted to domain IDs for routing/CC routing fee types.
84
+ * Direct fee types (linear, regressive, progressive) are passed through unchanged.
85
+ */
86
+ export function feeConfigToArtifact(config, chainLookup) {
87
+ switch (config.type) {
88
+ case FeeType.linear:
89
+ case FeeType.regressive:
90
+ case FeeType.progressive:
91
+ case FeeType.offchainQuotedLinear:
92
+ return {
93
+ artifactState: ArtifactState.NEW,
94
+ config,
95
+ };
96
+ case FeeType.routing:
97
+ return {
98
+ artifactState: ArtifactState.NEW,
99
+ config: {
100
+ type: config.type,
101
+ owner: config.owner,
102
+ beneficiary: config.beneficiary,
103
+ routes: convertRoutesToArtifact(config.routes, chainLookup),
104
+ },
105
+ };
106
+ case FeeType.crossCollateralRouting:
107
+ return {
108
+ artifactState: ArtifactState.NEW,
109
+ config: {
110
+ type: config.type,
111
+ owner: config.owner,
112
+ beneficiary: config.beneficiary,
113
+ routes: convertCCRoutesToArtifact(config.routes, chainLookup),
114
+ },
115
+ };
116
+ default: {
117
+ const invalidConfig = config;
118
+ throw new Error(`Unsupported fee type for artifact API: ${JSON.stringify(invalidConfig)}`);
119
+ }
120
+ }
121
+ }
122
+ /**
123
+ * Converts a DeployedFeeArtifact to DerivedFeeConfig format.
124
+ * Domain IDs are converted back to chain names for routing/CC routing fee types.
125
+ */
126
+ export function feeArtifactToDerivedConfig(artifact, chainLookup) {
127
+ const { config } = artifact;
128
+ const address = artifact.deployed.address;
129
+ switch (config.type) {
130
+ case FeeType.linear:
131
+ case FeeType.regressive:
132
+ case FeeType.progressive:
133
+ case FeeType.offchainQuotedLinear:
134
+ return { ...config, address };
135
+ case FeeType.routing:
136
+ return {
137
+ type: config.type,
138
+ owner: config.owner,
139
+ beneficiary: config.beneficiary,
140
+ routes: convertRoutesToDerived(config.routes, chainLookup),
141
+ address,
142
+ };
143
+ case FeeType.crossCollateralRouting:
144
+ return {
145
+ type: config.type,
146
+ owner: config.owner,
147
+ beneficiary: config.beneficiary,
148
+ routes: convertCCRoutesToDerived(config.routes, chainLookup),
149
+ address,
150
+ };
151
+ default: {
152
+ const invalidConfig = config;
153
+ throw new Error(`Unhandled fee type: ${JSON.stringify(invalidConfig)}`);
154
+ }
155
+ }
156
+ }
157
+ /**
158
+ * Determines if a new fee should be deployed instead of updating the existing one.
159
+ * Deploy new if fee type changed. For direct types (linear, regressive, progressive),
160
+ * deploy new if config changed (immutable on EVM - constructor-set params).
161
+ * Routing/CC routing types are mutable and can be updated in-place.
162
+ */
163
+ export function shouldDeployNewFee(actual, expected) {
164
+ if (actual.type !== expected.type)
165
+ return true;
166
+ switch (expected.type) {
167
+ case FeeType.linear:
168
+ case FeeType.regressive:
169
+ case FeeType.progressive:
170
+ case FeeType.offchainQuotedLinear:
171
+ return !deepEquals(normalizeConfig(actual), normalizeConfig(expected));
172
+ case FeeType.routing:
173
+ case FeeType.crossCollateralRouting:
174
+ return false;
175
+ default: {
176
+ const invalidConfig = expected;
177
+ throw new Error(`Unhandled fee type in shouldDeployNewFee: ${JSON.stringify(invalidConfig)}`);
178
+ }
179
+ }
180
+ }
181
+ /**
182
+ * Merges current on-chain fee artifact with expected fee artifact.
183
+ * Determines whether to deploy a new fee or update/reuse existing one.
184
+ */
185
+ export function mergeFeeArtifacts(currentArtifact, expectedArtifact) {
186
+ const expectedConfig = expectedArtifact.config;
187
+ if (!currentArtifact) {
188
+ return expectedArtifact;
189
+ }
190
+ const currentConfig = currentArtifact.config;
191
+ if (shouldDeployNewFee(currentConfig, expectedConfig)) {
192
+ return {
193
+ artifactState: ArtifactState.NEW,
194
+ config: expectedConfig,
195
+ };
196
+ }
197
+ const deployedAddress = isArtifactDeployed(expectedArtifact)
198
+ ? expectedArtifact.deployed
199
+ : currentArtifact.deployed;
200
+ return {
201
+ artifactState: ArtifactState.DEPLOYED,
202
+ config: expectedConfig,
203
+ deployed: deployedAddress,
204
+ };
205
+ }
206
+ //# sourceMappingURL=fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../src/fee.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fee.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.test.d.ts","sourceRoot":"","sources":["../src/fee.test.ts"],"names":[],"mappings":""}