@across-protocol/contracts 3.0.23 → 3.0.25

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 (47) hide show
  1. package/dist/deploy/consts.js +5 -5
  2. package/dist/hardhat.config.js +8 -8
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +1 -0
  5. package/dist/scripts/svm/bridgeLiabilityToHubPool.js +4 -6
  6. package/dist/scripts/svm/closeRelayerPdas.js +1 -2
  7. package/dist/scripts/svm/enableRoute.js +3 -3
  8. package/dist/scripts/svm/executeRebalanceToHubPool.js +2 -4
  9. package/dist/scripts/svm/executeRebalanceToSpokePool.js +7 -11
  10. package/dist/scripts/svm/fakeFillWithRandomDistribution.js +2 -3
  11. package/dist/scripts/svm/initialize.js +1 -2
  12. package/dist/scripts/svm/queryDeposits.js +1 -2
  13. package/dist/scripts/svm/queryFills.js +1 -2
  14. package/dist/scripts/svm/queryRoute.js +3 -3
  15. package/dist/scripts/svm/queryState.js +2 -2
  16. package/dist/scripts/svm/remoteHubPoolPauseDeposits.js +2 -4
  17. package/dist/scripts/svm/remoteHubPoolSetDepositRoute.js +2 -4
  18. package/dist/scripts/svm/remotePauseDeposits.js +2 -4
  19. package/dist/scripts/svm/simpleDeposit.js +3 -3
  20. package/dist/scripts/svm/simpleFakeRelayerRepayment.js +3 -4
  21. package/dist/scripts/svm/simpleFill.js +2 -3
  22. package/dist/src/DeploymentUtils.d.ts +1 -1
  23. package/dist/src/svm/assets/idl/index.d.ts +6 -0
  24. package/dist/src/svm/assets/idl/index.js +15 -0
  25. package/dist/src/svm/assets/idl/message_transmitter.json +1675 -0
  26. package/dist/src/svm/assets/idl/multicall_handler.json +31 -0
  27. package/dist/src/svm/assets/idl/svm_spoke.json +6006 -0
  28. package/dist/src/svm/assets/idl/test.json +243 -0
  29. package/dist/src/svm/assets/idl/token_messenger_minter.json +2049 -0
  30. package/dist/src/svm/assets/index.d.ts +6 -0
  31. package/dist/src/svm/assets/index.js +19 -0
  32. package/dist/src/svm/assets/message_transmitter.d.ts +1681 -0
  33. package/dist/src/svm/assets/message_transmitter.js +2 -0
  34. package/dist/src/svm/assets/multicall_handler.d.ts +37 -0
  35. package/dist/src/svm/assets/multicall_handler.js +2 -0
  36. package/dist/src/svm/assets/svm_spoke.d.ts +6012 -0
  37. package/dist/src/svm/assets/svm_spoke.js +2 -0
  38. package/dist/src/svm/assets/test.d.ts +249 -0
  39. package/dist/src/svm/assets/test.js +2 -0
  40. package/dist/src/svm/assets/token_messenger_minter.d.ts +2055 -0
  41. package/dist/src/svm/assets/token_messenger_minter.js +2 -0
  42. package/dist/src/svm/index.d.ts +2 -0
  43. package/dist/src/svm/index.js +2 -0
  44. package/dist/src/svm/programConnectors.d.ts +13 -0
  45. package/dist/src/svm/programConnectors.js +46 -0
  46. package/dist/src/types/svm.d.ts +4 -0
  47. package/package.json +7 -5
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -4,6 +4,8 @@ export * from "./conversionUtils";
4
4
  export * from "./transactionUtils";
5
5
  export * from "./solanaProgramUtils";
6
6
  export * from "./coders";
7
+ export * from "./programConnectors";
8
+ export * from "./assets";
7
9
  export * from "./constants";
8
10
  export * from "./helpers";
9
11
  export * from "./cctpHelpers";
@@ -20,6 +20,8 @@ __exportStar(require("./conversionUtils"), exports);
20
20
  __exportStar(require("./transactionUtils"), exports);
21
21
  __exportStar(require("./solanaProgramUtils"), exports);
22
22
  __exportStar(require("./coders"), exports);
23
+ __exportStar(require("./programConnectors"), exports);
24
+ __exportStar(require("./assets"), exports);
23
25
  __exportStar(require("./constants"), exports);
24
26
  __exportStar(require("./helpers"), exports);
25
27
  __exportStar(require("./cctpHelpers"), exports);
@@ -0,0 +1,13 @@
1
+ import { AnchorProvider, Idl, Program } from "@coral-xyz/anchor";
2
+ import { SupportedNetworks } from "../types/svm";
3
+ import { MessageTransmitterAnchor, MulticallHandlerAnchor, SvmSpokeAnchor, TokenMessengerMinterAnchor } from "./assets";
4
+ type ProgramOptions = {
5
+ network?: SupportedNetworks;
6
+ programId?: string;
7
+ };
8
+ export declare function getConnectedProgram<P extends Idl>(idl: P, provider: AnchorProvider, programId: string): Program<P>;
9
+ export declare function getSpokePoolProgram(provider: AnchorProvider, options?: ProgramOptions): Program<SvmSpokeAnchor>;
10
+ export declare function getMessageTransmitterProgram(provider: AnchorProvider, options?: ProgramOptions): Program<MessageTransmitterAnchor>;
11
+ export declare function getTokenMessengerMinterProgram(provider: AnchorProvider, options?: ProgramOptions): Program<TokenMessengerMinterAnchor>;
12
+ export declare function getMulticallHandlerProgram(provider: AnchorProvider, options?: ProgramOptions): Program<MulticallHandlerAnchor>;
13
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConnectedProgram = getConnectedProgram;
4
+ exports.getSpokePoolProgram = getSpokePoolProgram;
5
+ exports.getMessageTransmitterProgram = getMessageTransmitterProgram;
6
+ exports.getTokenMessengerMinterProgram = getTokenMessengerMinterProgram;
7
+ exports.getMulticallHandlerProgram = getMulticallHandlerProgram;
8
+ const anchor_1 = require("@coral-xyz/anchor");
9
+ const DeploymentUtils_1 = require("../DeploymentUtils");
10
+ const assets_1 = require("./assets");
11
+ const helpers_1 = require("./helpers");
12
+ function getConnectedProgram(idl, provider, programId) {
13
+ idl.address = programId;
14
+ return new anchor_1.Program(idl, provider);
15
+ }
16
+ // Resolves the program ID from options or defaults to the deployed address. Prioritizes programId, falls back to
17
+ // network, and if network is not defined, determines the network from the provider's RPC URL. Throws an error if
18
+ // the program ID cannot be resolved.
19
+ function resolveProgramId(programName, provider, options) {
20
+ const { network, programId } = options ?? {};
21
+ if (programId) {
22
+ return programId; // Prioritize explicitly provided programId
23
+ }
24
+ const resolvedNetwork = network ?? ((0, helpers_1.isSolanaDevnet)(provider) ? "devnet" : "mainnet");
25
+ const deployedAddress = (0, DeploymentUtils_1.getDeployedAddress)(programName, (0, helpers_1.getSolanaChainId)(resolvedNetwork).toString());
26
+ if (!deployedAddress) {
27
+ throw new Error(`${programName} Program ID not found for ${resolvedNetwork}`);
28
+ }
29
+ return deployedAddress;
30
+ }
31
+ function getSpokePoolProgram(provider, options) {
32
+ const id = resolveProgramId("SvmSpoke", provider, options);
33
+ return getConnectedProgram(assets_1.SvmSpokeIdl, provider, id);
34
+ }
35
+ function getMessageTransmitterProgram(provider, options) {
36
+ const id = resolveProgramId("MessageTransmitter", provider, options);
37
+ return getConnectedProgram(assets_1.MessageTransmitterIdl, provider, id);
38
+ }
39
+ function getTokenMessengerMinterProgram(provider, options) {
40
+ const id = resolveProgramId("TokenMessengerMinter", provider, options);
41
+ return getConnectedProgram(assets_1.TokenMessengerMinterIdl, provider, id);
42
+ }
43
+ function getMulticallHandlerProgram(provider, options) {
44
+ const id = resolveProgramId("MulticallHandler", provider, options);
45
+ return getConnectedProgram(assets_1.MulticallHandlerIdl, provider, id);
46
+ }
@@ -116,3 +116,7 @@ export interface EventType {
116
116
  blockTime: number;
117
117
  signature: string;
118
118
  }
119
+ /**
120
+ * Supported Networks
121
+ */
122
+ export type SupportedNetworks = "mainnet" | "devnet";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@across-protocol/contracts",
3
- "version": "3.0.23",
3
+ "version": "3.0.25",
4
4
  "author": "UMA Team",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -26,20 +26,22 @@
26
26
  "lint-fix": "yarn prettier --write **/*.js **/*.ts ./programs/**/*.rs ./contracts**/*.sol && cargo +nightly fmt --all && cargo clippy",
27
27
  "clean-fast": "for dir in node_modules cache cache-zk artifacts artifacts-zk dist typechain; do mv \"${dir}\" \"_${dir}\"; rm -rf \"_${dir}\" &; done",
28
28
  "clean": "rm -rf node_modules cache cache-zk artifacts artifacts-zk dist typechain",
29
+ "generate-svm-assets": "sh ./scripts/generate-svm-assets.sh",
29
30
  "build-evm": "hardhat compile",
30
31
  "build-svm": "echo 'Generating IDLs...' && anchor build > /dev/null 2>&1 || true && anchor run generateExternalTypes && anchor build",
31
32
  "build-ts": "tsc && rsync -a --include '*/' --include '*.d.ts' --exclude '*' ./typechain ./dist/",
32
- "build": "yarn build-evm && yarn build-svm && yarn build-ts",
33
+ "copy-idl": "mkdir -p dist/src/svm/assets/idl && cp src/svm/assets/idl/*.json dist/src/svm/assets/idl/",
34
+ "build": "yarn build-evm && yarn build-svm && yarn generate-svm-assets && yarn build-ts && yarn copy-idl",
33
35
  "test-evm": "IS_TEST=true hardhat test",
34
36
  "test-svm": "anchor test -- --features test",
35
37
  "test": "yarn test-evm && yarn test-svm",
36
38
  "test:report-gas": "IS_TEST=true REPORT_GAS=true hardhat test",
37
- "generate-contract-types": "rm -rf typechain && TYPECHAIN=ethers yarn hardhat typechain",
38
- "prepublish": "yarn build && hardhat export --export-all ./cache/massExport.json && ts-node ./scripts/processHardhatExport.ts && prettier --write ./deployments/deployments.json && yarn generate-contract-types",
39
+ "generate-evm-assets": "rm -rf typechain && TYPECHAIN=ethers yarn hardhat typechain",
40
+ "prepublish": "yarn build && hardhat export --export-all ./cache/massExport.json && ts-node ./scripts/processHardhatExport.ts && prettier --write ./deployments/deployments.json && yarn generate-evm-assets",
39
41
  "pre-commit-hook": "sh scripts/preCommitHook.sh"
40
42
  },
41
43
  "dependencies": {
42
- "@across-protocol/constants": "^3.1.28",
44
+ "@across-protocol/constants": "^3.1.30",
43
45
  "@coral-xyz/anchor": "^0.30.1",
44
46
  "@defi-wonderland/smock": "^2.3.4",
45
47
  "@eth-optimism/contracts": "^0.5.40",