@hyperlane-xyz/sdk 26.0.0 → 27.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.
Files changed (84) hide show
  1. package/dist/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +9 -0
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  5. package/dist/core/HyperlaneCore.js +19 -6
  6. package/dist/core/HyperlaneCore.js.map +1 -1
  7. package/dist/deploy/warp.d.ts.map +1 -1
  8. package/dist/deploy/warp.js +11 -1
  9. package/dist/deploy/warp.js.map +1 -1
  10. package/dist/ism/HyperlaneIsmFactory.d.ts +1 -0
  11. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  12. package/dist/ism/HyperlaneIsmFactory.js +32 -3
  13. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  14. package/dist/metadata/agentConfig.d.ts +688 -0
  15. package/dist/metadata/agentConfig.d.ts.map +1 -1
  16. package/dist/metadata/agentConfig.js +10 -0
  17. package/dist/metadata/agentConfig.js.map +1 -1
  18. package/dist/providers/MultiProvider.d.ts.map +1 -1
  19. package/dist/providers/MultiProvider.js +32 -7
  20. package/dist/providers/MultiProvider.js.map +1 -1
  21. package/dist/providers/MultiProvider.test.js +60 -0
  22. package/dist/providers/MultiProvider.test.js.map +1 -1
  23. package/dist/providers/ProviderType.d.ts +2 -1
  24. package/dist/providers/ProviderType.d.ts.map +1 -1
  25. package/dist/providers/ProviderType.js.map +1 -1
  26. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  27. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +2 -0
  28. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  29. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  30. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +4 -1
  31. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
  32. package/dist/providers/SmartProvider/SmartProvider.js +26 -3
  33. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  34. package/dist/providers/SmartProvider/SmartProvider.test.js +47 -1
  35. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  36. package/dist/router/ProxiedRouterChecker.js +1 -1
  37. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  38. package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -1
  39. package/dist/rpc/evm/EvmEventLogsReader.js +2 -1
  40. package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -1
  41. package/dist/rpc/evm/utils.d.ts.map +1 -1
  42. package/dist/rpc/evm/utils.js +37 -7
  43. package/dist/rpc/evm/utils.js.map +1 -1
  44. package/dist/signers/svm/solana-web3js.d.ts.map +1 -1
  45. package/dist/signers/svm/solana-web3js.js +18 -7
  46. package/dist/signers/svm/solana-web3js.js.map +1 -1
  47. package/dist/signers/svm/solana-web3js.test.d.ts +2 -0
  48. package/dist/signers/svm/solana-web3js.test.d.ts.map +1 -0
  49. package/dist/signers/svm/solana-web3js.test.js +61 -0
  50. package/dist/signers/svm/solana-web3js.test.js.map +1 -0
  51. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +0 -1
  52. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -1
  53. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  54. package/dist/token/EvmWarpModule.hardhat-test.js +77 -4
  55. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  56. package/dist/token/EvmWarpModule.js +20 -9
  57. package/dist/token/EvmWarpModule.js.map +1 -1
  58. package/dist/token/EvmWarpRouteReader.d.ts +1 -1
  59. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  60. package/dist/token/EvmWarpRouteReader.hardhat-test.js +27 -0
  61. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
  62. package/dist/token/EvmWarpRouteReader.js +29 -8
  63. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  64. package/dist/token/adapters/ITokenAdapter.d.ts +3 -0
  65. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  66. package/dist/token/adapters/SealevelTokenAdapter.d.ts +1 -1
  67. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  68. package/dist/token/adapters/SealevelTokenAdapter.js +4 -2
  69. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  70. package/dist/token/types.d.ts +44 -1
  71. package/dist/token/types.d.ts.map +1 -1
  72. package/dist/token/types.js +1 -0
  73. package/dist/token/types.js.map +1 -1
  74. package/dist/token/xerc20.d.ts.map +1 -1
  75. package/dist/token/xerc20.js +1 -0
  76. package/dist/token/xerc20.js.map +1 -1
  77. package/dist/utils/HyperlaneReader.js +2 -1
  78. package/dist/utils/HyperlaneReader.js.map +1 -1
  79. package/dist/warp/WarpCore.d.ts.map +1 -1
  80. package/dist/warp/WarpCore.js +7 -0
  81. package/dist/warp/WarpCore.js.map +1 -1
  82. package/dist/warp/WarpCore.test.js +18 -7
  83. package/dist/warp/WarpCore.test.js.map +1 -1
  84. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"solana-web3js.js","sourceRoot":"","sources":["../../../src/signers/svm/solana-web3js.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana-web3js.js","sourceRoot":"","sources":["../../../src/signers/svm/solana-web3js.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=solana-web3js.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-web3js.test.d.ts","sourceRoot":"","sources":["../../../src/signers/svm/solana-web3js.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { expect } from 'chai';
2
+ import { Keypair, SystemProgram, Transaction } from '@solana/web3.js';
3
+ import { KeypairSvmTransactionSigner } from './solana-web3js.js';
4
+ describe('KeypairSvmTransactionSigner', () => {
5
+ it('preserves existing partialSign signatures when signing with main keypair', async () => {
6
+ const mainSigner = Keypair.generate();
7
+ const extraSigner = Keypair.generate();
8
+ const recipient = Keypair.generate();
9
+ const tx = new Transaction();
10
+ // Two transfers so both mainSigner and extraSigner are required signers
11
+ tx.add(SystemProgram.transfer({
12
+ fromPubkey: mainSigner.publicKey,
13
+ toPubkey: recipient.publicKey,
14
+ lamports: 1000,
15
+ }));
16
+ tx.add(SystemProgram.transfer({
17
+ fromPubkey: extraSigner.publicKey,
18
+ toPubkey: recipient.publicKey,
19
+ lamports: 500,
20
+ }));
21
+ tx.feePayer = mainSigner.publicKey;
22
+ tx.recentBlockhash = 'GHtXQBsoZHVnNFa9YevAzFr17DJjgHXk3ycTKD5xD3Zi';
23
+ // Extra signer signs first
24
+ tx.partialSign(extraSigner);
25
+ const extraSigBefore = tx.signatures.find((s) => s.publicKey.equals(extraSigner.publicKey));
26
+ expect(extraSigBefore?.signature).to.not.be.null;
27
+ // Main signer signs via KeypairSvmTransactionSigner — should PRESERVE extra signer's signature
28
+ const signer = new KeypairSvmTransactionSigner(mainSigner.secretKey);
29
+ await signer.signTransaction(tx);
30
+ const mainSig = tx.signatures.find((s) => s.publicKey.equals(mainSigner.publicKey));
31
+ const extraSigAfter = tx.signatures.find((s) => s.publicKey.equals(extraSigner.publicKey));
32
+ expect(mainSig?.signature).to.not.be.null;
33
+ expect(extraSigAfter?.signature).to.not.be.null;
34
+ });
35
+ it('REGRESSION: sign() wipes extra signatures (demonstrates the bug we fixed)', () => {
36
+ const mainSigner = Keypair.generate();
37
+ const extraSigner = Keypair.generate();
38
+ const recipient = Keypair.generate();
39
+ const tx = new Transaction();
40
+ // Two transfers so both mainSigner and extraSigner are required signers
41
+ tx.add(SystemProgram.transfer({
42
+ fromPubkey: mainSigner.publicKey,
43
+ toPubkey: recipient.publicKey,
44
+ lamports: 1000,
45
+ }));
46
+ tx.add(SystemProgram.transfer({
47
+ fromPubkey: extraSigner.publicKey,
48
+ toPubkey: recipient.publicKey,
49
+ lamports: 500,
50
+ }));
51
+ tx.feePayer = mainSigner.publicKey;
52
+ tx.recentBlockhash = 'GHtXQBsoZHVnNFa9YevAzFr17DJjgHXk3ycTKD5xD3Zi';
53
+ tx.partialSign(extraSigner);
54
+ // sign() clears all signatures — this is the bug we fixed
55
+ tx.sign(mainSigner);
56
+ const extraSig = tx.signatures.find((s) => s.publicKey.equals(extraSigner.publicKey));
57
+ // After sign(), the extra signer's signature is GONE (null)
58
+ expect(extraSig?.signature).to.be.null;
59
+ });
60
+ });
61
+ //# sourceMappingURL=solana-web3js.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-web3js.test.js","sourceRoot":"","sources":["../../../src/signers/svm/solana-web3js.test.ts"],"names":[],"mappings":"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"}
@@ -153,7 +153,6 @@ describe(EvmTimelockReader.name, () => {
153
153
  expect(scheduledTx.data).to.have.length(timelockTx.data.length);
154
154
  for (let i = 0; i < timelockTx.data.length; i++) {
155
155
  expect(normalizeAddressEvm(scheduledTx.data[i].to)).to.equal(normalizeAddressEvm(timelockTx.data[i].to));
156
- assert(scheduledTx.data[i].value, 'Expected value to be defined when reading from Timelock');
157
156
  expect(scheduledTx.data[i].value?.toString()).to.equal(timelockTx.data[i].value?.toString() ?? '0');
158
157
  expect(scheduledTx.data[i].data).to.equal(timelockTx.data[i].data);
159
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTimelockReader.hardhat-test.js","sourceRoot":"","sources":["../../../src/timelock/evm/EvmTimelockReader.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTimelockReader.hardhat-test.js","sourceRoot":"","sources":["../../../src/timelock/evm/EvmTimelockReader.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvmWarpModule.d.ts","sourceRoot":"","sources":["../../src/token/EvmWarpModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmWarpModule.d.ts","sourceRoot":"","sources":["../../src/token/EvmWarpModule.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { ethers } from 'ethers';
4
4
  import hre from 'hardhat';
5
5
  import sinon from 'sinon';
6
6
  import { UINT_256_MAX } from 'starknet';
7
- import { CONTRACTS_PACKAGE_VERSION, ERC20Test__factory, ERC4626Test__factory, HypERC20__factory, HypERC4626Collateral__factory, HypNative__factory, MailboxClient__factory, Mailbox__factory, MockEverclearAdapter__factory, MovableCollateralRouter__factory, } from '@hyperlane-xyz/core';
7
+ import { CONTRACTS_PACKAGE_VERSION, ERC20Test__factory, ERC4626Test__factory, GasRouter__factory, HypERC20__factory, HypERC4626Collateral__factory, HypNative__factory, MailboxClient__factory, Mailbox__factory, MockEverclearAdapter__factory, MovableCollateralRouter__factory, } from '@hyperlane-xyz/core';
8
8
  import { MultiCollateral__factory } from '@hyperlane-xyz/multicollateral';
9
9
  import { EvmIsmModule, HookType, IsmType, TestChainName, TokenFeeType, proxyAdmin, proxyImplementation, serializeContracts, } from '@hyperlane-xyz/sdk';
10
10
  import { addressToBytes32, assert, deepCopy, eqAddress, normalizeAddressEvm, objMap, randomInt, } from '@hyperlane-xyz/utils';
@@ -691,6 +691,79 @@ describe('EvmWarpModule', async () => {
691
691
  expect(unenrollDomains.map(Number)).to.deep.equal([destinationDomain]);
692
692
  expect(unenrollRouters[0].toLowerCase()).to.equal(removeRouter.toLowerCase());
693
693
  });
694
+ it('includes MC enrolledRouters domains in destination gas txs', async () => {
695
+ const destinationDomain = multiProvider.getDomainId(TestChainName.test2);
696
+ const enrolledRouter = addressToBytes32('0x4444444444444444444444444444444444444444');
697
+ const module = new EvmWarpModule(multiProvider, {
698
+ chain,
699
+ config: {
700
+ ...baseConfig,
701
+ type: TokenType.multiCollateral,
702
+ token: token.address,
703
+ },
704
+ addresses: {
705
+ deployedTokenRoute: randomAddress(),
706
+ },
707
+ });
708
+ const actualConfig = {
709
+ ...baseConfig,
710
+ type: TokenType.multiCollateral,
711
+ token: token.address,
712
+ destinationGas: {},
713
+ enrolledRouters: {
714
+ [destinationDomain]: [enrolledRouter],
715
+ },
716
+ };
717
+ // Config has destinationGas for test2, but no remoteRouters — only enrolledRouters
718
+ const expectedConfig = {
719
+ ...baseConfig,
720
+ type: TokenType.multiCollateral,
721
+ token: token.address,
722
+ enrolledRouters: {
723
+ [TestChainName.test2]: [enrolledRouter],
724
+ },
725
+ destinationGas: {
726
+ [TestChainName.test2]: '200000',
727
+ },
728
+ };
729
+ const gasTxs = module.createSetDestinationGasUpdateTxs(actualConfig, expectedConfig);
730
+ // Should produce a tx (not throw) even without remoteRouters
731
+ expect(gasTxs.length).to.equal(1);
732
+ // Should use standard setDestinationGas (MC overrides _setDestinationGas)
733
+ const gasRouterIface = GasRouter__factory.createInterface();
734
+ const decoded = gasRouterIface.decodeFunctionData('setDestinationGas((uint32,uint256)[])', gasTxs[0].data);
735
+ expect(decoded[0].length).to.equal(1);
736
+ expect(decoded[0][0].domain).to.equal(destinationDomain);
737
+ expect(decoded[0][0].gas.toString()).to.equal('200000');
738
+ });
739
+ it('throws when destinationGas set but no remoteRouters or enrolledRouters', async () => {
740
+ const module = new EvmWarpModule(multiProvider, {
741
+ chain,
742
+ config: {
743
+ ...baseConfig,
744
+ type: TokenType.collateral,
745
+ token: token.address,
746
+ },
747
+ addresses: {
748
+ deployedTokenRoute: randomAddress(),
749
+ },
750
+ });
751
+ const actualConfig = {
752
+ ...baseConfig,
753
+ type: TokenType.collateral,
754
+ token: token.address,
755
+ destinationGas: {},
756
+ };
757
+ const expectedConfig = {
758
+ ...baseConfig,
759
+ type: TokenType.collateral,
760
+ token: token.address,
761
+ destinationGas: {
762
+ [TestChainName.test2]: '200000',
763
+ },
764
+ };
765
+ expect(() => module.createSetDestinationGasUpdateTxs(actualConfig, expectedConfig)).to.throw(/remoteRouters and enrolledRouters are empty/);
766
+ });
694
767
  it('should update the owner only if they are different', async () => {
695
768
  const config = {
696
769
  ...baseConfig,
@@ -1025,18 +1098,18 @@ describe('EvmWarpModule', async () => {
1025
1098
  multiProvider,
1026
1099
  proxyFactoryFactories: ismFactoryAddresses,
1027
1100
  });
1028
- const expectedRemoteOuputToken = randomAddress();
1101
+ const expectedRemoteOutputToken = randomAddress();
1029
1102
  const txs = await evmERC20WarpModule.update({
1030
1103
  ...config,
1031
1104
  outputAssets: {
1032
- [domainId]: expectedRemoteOuputToken,
1105
+ [domainId]: expectedRemoteOutputToken,
1033
1106
  },
1034
1107
  });
1035
1108
  expect(txs.length).to.equal(1);
1036
1109
  await sendTxs(txs);
1037
1110
  const currentConfig = await evmERC20WarpModule.read();
1038
1111
  assert(isEverclearTokenBridgeConfig(currentConfig), `Expected token of type ${tokenType}`);
1039
- expect(currentConfig.outputAssets[domainId]).to.equal(addressToBytes32(expectedRemoteOuputToken));
1112
+ expect(currentConfig.outputAssets[domainId]).to.equal(addressToBytes32(expectedRemoteOutputToken));
1040
1113
  });
1041
1114
  it(`should remove destination outputAssets if the token is of type ${tokenType} and a config is set`, async () => {
1042
1115
  const config = getEverclearTokenBridgeTokenConfig()[tokenType];