Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DO NOT MERGE: zksync deploy branch #4761

Draft
wants to merge 170 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
91a2077
chore: add zksolc compiler for zksync
ljankovic-txfusion Sep 12, 2024
6fc9f02
update: make hardhat tests compatible with zksync
ljankovic-txfusion Sep 13, 2024
e5724aa
update: linking workspaces & contract compilation
ljankovic-txfusion Sep 16, 2024
0a692b3
chore: remove non-compatible zksync code from SDK
ljankovic-txfusion Sep 16, 2024
de77dba
feature: exporting zksync contract artifacts from core
ljankovic-txfusion Sep 17, 2024
1e1d748
feat: zksync deployer
ljankovic-txfusion Sep 18, 2024
2848efe
fix: artifacts compilation; add:typechain-types to .gitignore
ljankovic-txfusion Sep 18, 2024
79ceac4
update: wip deploying contracts via cli
ljankovic-txfusion Sep 18, 2024
04f390c
update: load artifacts from factory
ljankovic-txfusion Sep 18, 2024
e76bbf2
feat: cli bash script for automating core deployment
ljankovic-txfusion Sep 18, 2024
e1929f8
update: wip sdk hardhat test on zksync
ljankovic-txfusion Sep 19, 2024
8b2596a
update: wip making sdk tests compatible with zksync
ljankovic-txfusion Sep 19, 2024
e10d557
cleanup: minor test changes
ljankovic-txfusion Sep 19, 2024
e4cef73
cleanup: minor changes
ljankovic-txfusion Sep 19, 2024
2d2fb15
fix: should derive a token type from contract
ljankovic-txfusion Sep 19, 2024
a29df94
chore: refactoring multi provider
ljankovic-txfusion Sep 23, 2024
49c3812
feat: ProviderTypes for zksync
ljankovic-txfusion Sep 23, 2024
82e0938
refactor: deployment gasLimit for in memory node
ljankovic-txfusion Sep 23, 2024
53f8e61
feat: relaying messages locally
ljankovic-txfusion Sep 24, 2024
3022cd0
chore: remove gasLimit overrides for zksync
ljankovic-txfusion Sep 24, 2024
3e3637a
refactor: MultiProvider added defaultZKProviderBuilder in tryGetProvider
ljankovic-txfusion Sep 25, 2024
23f6e94
feat: singe cli/sdk to deploy to both evm and zkevm chains
ljankovic-txfusion Sep 27, 2024
733572a
feat: mutable storage multisig ISM
mortezashojaei Sep 30, 2024
629a4c8
fix: add missing addBufferToGasLimit function on utils
mortezashojaei Sep 30, 2024
2c0cb55
feat: compile contracts with solc & zksolc using single command
ljankovic-txfusion Sep 30, 2024
dcaecea
minor: cleanup
mortezashojaei Sep 30, 2024
36244c9
feature: support zksync protocol in addresses utils
mortezashojaei Sep 30, 2024
ecb3c49
minor: cleanup
mortezashojaei Sep 30, 2024
2b76f59
minot: revert back estimate handle in HyperlaneRelayer
mortezashojaei Sep 30, 2024
0ea4e51
feat: zksync support for TypedTransaction
ljankovic-txfusion Sep 30, 2024
74c3a67
Merge branch 'txfusion/sending-messages' of github.com:hyperlane-xyz/…
ljankovic-txfusion Sep 30, 2024
15de0ad
fix: prevent handle estimation on zksync protocol
mortezashojaei Sep 30, 2024
50903a6
feat: deploying StorageMerkleRootMultisigIsm
ljankovic-txfusion Oct 1, 2024
5e36ece
feat: deploying StorageMessageIdMultisigIsm
ljankovic-txfusion Oct 4, 2024
4273265
feat: refactor of contract deployment
ljankovic-txfusion Oct 4, 2024
d0fb3c8
chore: reverted & removed unused code
ljankovic-txfusion Oct 9, 2024
9bf46bc
chore: minor refactoring & adding types
ljankovic-txfusion Oct 9, 2024
8b5afe3
chore: minor changes & refactoring
ljankovic-txfusion Oct 9, 2024
0891c62
chore: minor refactoring
ljankovic-txfusion Oct 9, 2024
be23123
chore: minor cleanup
ljankovic-txfusion Oct 10, 2024
35260d6
minor refactor & cleanup
ljankovic-txfusion Oct 10, 2024
b8862ae
fix: yarn lock for cli e2e test
ljankovic-txfusion Oct 11, 2024
a432fbe
temp: testing verification
mortezashojaei Oct 8, 2024
b79b813
minor: revert contract verifier changes
mortezashojaei Oct 9, 2024
ccccce0
feat: zk verifier
mortezashojaei Oct 9, 2024
93af451
feat: verifying contract implementation on zksync explorer
ljankovic-txfusion Oct 10, 2024
6753e1f
fix: change the way load contract content
mortezashojaei Oct 10, 2024
4f39405
feat: verifying zksync contracts on block explorer
ljankovic-txfusion Oct 10, 2024
f44d3d3
minor: return verification id in zksync contract verification
mortezashojaei Oct 10, 2024
ac29b9d
feat: manage contract verification for both zksync and evm based chains
mortezashojaei Oct 11, 2024
b87cd54
minor: cleanup
mortezashojaei Oct 11, 2024
21add82
fix: support explorer just for etherum and zksync based chains
mortezashojaei Oct 11, 2024
1f0d464
minor: yarn lock
mortezashojaei Oct 11, 2024
9f98407
feat: handle verification on evm module deployer
mortezashojaei Oct 11, 2024
cb81ec7
feat: dynamic zksync artifact import
ljankovic-txfusion Oct 15, 2024
8383e95
chore: reverted/added comments
ljankovic-txfusion Oct 15, 2024
957375f
improvement: comments on zksync contract verifier
mortezashojaei Oct 15, 2024
eb79bea
fix: update hardat config type output directories
mortezashojaei Oct 15, 2024
cff1960
fix: update chain technical stack with latest values
mortezashojaei Oct 15, 2024
075f699
Merge remote-tracking branch 'origin/txfusion/sending-messages' into …
mortezashojaei Oct 15, 2024
dedaa34
merge with main repo latest changes
mortezashojaei Oct 16, 2024
52b221d
merge: latest main changes
mortezashojaei Oct 16, 2024
1c591a1
minor: yarn fix
mortezashojaei Oct 16, 2024
317f6d7
fix: add zksync address on explorer health test
mortezashojaei Oct 16, 2024
2f4cc62
naming: core/artifacts to core/zksync-artifacts
ljankovic-txfusion Oct 16, 2024
dec3ef4
feat: blacklist static contracts from being deployed on zksync on `hy…
ljankovic-txfusion Oct 18, 2024
8cc652d
test: e2e on zksync for warp read & apply
ljankovic-txfusion Oct 18, 2024
29205fb
feat: migrating from ProtocolType to chain technical stack for zksync
ljankovic-txfusion Oct 21, 2024
fbc7c31
feat: checking core config for Aggregation ISM on zksync core deployment
ljankovic-txfusion Oct 22, 2024
4f541e3
Merge remote-tracking branch 'origin-root/main'
mortezashojaei Oct 22, 2024
48c9b8c
merge: latest changes from root repo main
mortezashojaei Oct 22, 2024
570084a
minor: cleanup
mortezashojaei Oct 22, 2024
014e959
chore: reverting from workspace to npm versioning in package.json
ljankovic-txfusion Oct 22, 2024
c459f50
minor: cleanup
mortezashojaei Oct 22, 2024
59bff45
fix: PackageVersioned import in Mailbox.sol
ljankovic-txfusion Oct 23, 2024
ff269bd
configure
paulbalaji Oct 23, 2024
c6d3927
patches
paulbalaji Oct 23, 2024
26d198a
infra fixes
paulbalaji Oct 23, 2024
deac2fa
nice to haves
paulbalaji Oct 23, 2024
f21c18d
use fallback routing on zksync
paulbalaji Oct 23, 2024
8edb127
verification artifacts
paulbalaji Oct 23, 2024
7c90eab
zksync config
paulbalaji Oct 24, 2024
17b048e
more fixes
paulbalaji Oct 24, 2024
abd8a77
core deploy
paulbalaji Oct 24, 2024
057bee3
backport evm filtering fix
paulbalaji Oct 25, 2024
13cd945
merge latest hl main
paulbalaji Oct 25, 2024
8a5b966
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Oct 25, 2024
047d143
copy config after deploying to apechain arbitrumnova b3 fantom gravit…
paulbalaji Oct 25, 2024
ce4cf4c
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Oct 29, 2024
51987ea
fix lint
paulbalaji Oct 29, 2024
4518986
try fix slither
paulbalaji Oct 29, 2024
2a144aa
try fix yarn test + cli e2e tests
paulbalaji Oct 29, 2024
b9d0c22
fix sol tests
paulbalaji Oct 29, 2024
9f1127b
skip zksync e2e until we setup era_test_node
paulbalaji Oct 29, 2024
5c38d12
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Oct 30, 2024
f074691
copy over latest enrollment config changes
paulbalaji Oct 30, 2024
1a5aae1
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 6, 2024
464beec
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 6, 2024
9495645
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 6, 2024
0353c4f
fix strategy yaml
paulbalaji Nov 6, 2024
bee8254
try to update in-place on zksync to minimise recreation of storage ag…
paulbalaji Nov 7, 2024
94689c1
copy config updates
paulbalaji Nov 7, 2024
cb88e2e
fix testnet config generation
paulbalaji Nov 7, 2024
0287f49
fix + deploy
paulbalaji Nov 7, 2024
8631e01
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 8, 2024
2279b18
copy config from #4841
paulbalaji Nov 8, 2024
d93f011
don't skip zksync/zeronetwork on this branch
paulbalaji Nov 8, 2024
de1f4ba
copy CR tkporter from #4841
paulbalaji Nov 8, 2024
437af04
update owners.ts
paulbalaji Nov 8, 2024
c3afe47
Merge remote-tracking branch 'origin/main' into pb/zksync
paulbalaji Nov 18, 2024
6b649e3
feat: Add support for ZK storage aggregation in the schema and artifa…
ltyu Nov 21, 2024
824da54
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 21, 2024
37da4b6
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 25, 2024
fd43304
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Nov 26, 2024
b0c5022
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 2, 2024
40854be
fix prettier
paulbalaji Dec 2, 2024
5473002
fix prettier
paulbalaji Dec 2, 2024
dad2d8f
copy over config changes from dec2-enrollments
paulbalaji Dec 2, 2024
25f9614
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 4, 2024
29cbd50
infer manual submission for zksync if submitter is not signer
paulbalaji Dec 4, 2024
2de4a49
copy across zklink/treasure config
paulbalaji Dec 4, 2024
68b58c5
zklink deploy artifact
paulbalaji Dec 5, 2024
230fe45
copy across appchain config
paulbalaji Dec 5, 2024
f50993b
treasure verification
paulbalaji Dec 5, 2024
36dc030
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 5, 2024
2d19ebd
update .registryrc + agent config
paulbalaji Dec 5, 2024
b1fad56
update .registryrc + agent config
paulbalaji Dec 5, 2024
93f8ab8
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 9, 2024
b64b4e9
copy over config from pb/dec9
paulbalaji Dec 11, 2024
03deb73
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 11, 2024
4d17586
post-merge fixes
paulbalaji Dec 11, 2024
c0b5b25
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 13, 2024
fc1585c
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 18, 2024
dc5bf76
copy config updates from dec18 enrollments
paulbalaji Dec 18, 2024
a2df21c
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Dec 18, 2024
e8633ff
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Jan 7, 2025
0327aef
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Jan 13, 2025
da70831
fix
paulbalaji Jan 13, 2025
9895cdc
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Jan 13, 2025
65f5fb0
copy changes from pb/enroll-jan13
paulbalaji Jan 13, 2025
834c73b
syncpack fix
paulbalaji Jan 13, 2025
10444e2
update yarn lock
paulbalaji Jan 13, 2025
c1d6b9a
testnet igp update
paulbalaji Jan 17, 2025
807bd19
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Jan 20, 2025
1e0f44f
feat: modify gas oracle TS tooling to be friendly for all protocol ty…
tkporter Jan 21, 2025
2bca374
jan23 config
paulbalaji Jan 23, 2025
8dbf7a3
deploy to abstract
paulbalaji Jan 23, 2025
0bba7b2
prettier
paulbalaji Jan 27, 2025
a05e084
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Jan 27, 2025
a8c872b
make build work by deleting cli tests just for this branch
paulbalaji Jan 27, 2025
c513d36
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Jan 28, 2025
a722793
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Feb 3, 2025
162a529
copy config from pb/enroll-feb3
paulbalaji Feb 3, 2025
057a00c
don't skip zksync chains on this branch
paulbalaji Feb 3, 2025
b1ed8d9
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Feb 5, 2025
edc83ba
copy config from pb/enroll-bera
paulbalaji Feb 5, 2025
e9bfe11
copy from pb/enroll-bera
paulbalaji Feb 5, 2025
4a2c971
update config
paulbalaji Feb 6, 2025
f4830d1
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Feb 7, 2025
40b48ad
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Feb 17, 2025
d833e25
copy feb17 config
paulbalaji Feb 17, 2025
d72e1ea
commit sophon verification artifacts
paulbalaji Feb 17, 2025
c18ae07
remove arcadia
paulbalaji Feb 17, 2025
f2926da
reenable arcadia
paulbalaji Feb 17, 2025
91d4b5f
update .registryrc / agent configs
paulbalaji Feb 17, 2025
c8c7599
Merge branch 'main' into pb/zksync
paulbalaji Feb 18, 2025
d8e4631
Merge remote-tracking branch 'hl/main' into pb/zksync
paulbalaji Feb 18, 2025
df93212
copy owners/igp/validator config from pb/feb19
paulbalaji Feb 18, 2025
61983ab
use hyperevm safe when available
paulbalaji Feb 18, 2025
f6492b6
Merge branch 'main' into pb/zksync
paulbalaji Feb 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
patches
paulbalaji committed Oct 23, 2024
commit c6d39274e8db16866212feeb9fb33d5a05d7c726
14 changes: 12 additions & 2 deletions typescript/infra/config/environments/mainnet3/core.ts
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@ import {
AggregationHookConfig,
AggregationIsmConfig,
ChainMap,
ChainTechnicalStack,
CoreConfig,
FallbackRoutingHookConfig,
HookType,
@@ -19,6 +20,8 @@ import {
} from '@hyperlane-xyz/sdk';
import { Address, objMap } from '@hyperlane-xyz/utils';

import { getChain } from '../../registry.js';

import { igp } from './igp.js';
import { DEPLOYER, ethereumChainOwners } from './owners.js';
import { supportedChainNames } from './supportedChainNames.js';
@@ -32,13 +35,20 @@ export const core: ChainMap<CoreConfig> = objMap(
.map((origin) => [origin, defaultMultisigConfigs[origin]]),
);

const isZksyncChain =
getChain(local).technicalStack === ChainTechnicalStack.ZKSync;

const merkleRoot = (multisig: MultisigConfig): MultisigIsmConfig => ({
type: IsmType.MERKLE_ROOT_MULTISIG,
type: isZksyncChain
? IsmType.STORAGE_MERKLE_ROOT_MULTISIG
: IsmType.MERKLE_ROOT_MULTISIG,
...multisig,
});

const messageIdIsm = (multisig: MultisigConfig): MultisigIsmConfig => ({
type: IsmType.MESSAGE_ID_MULTISIG,
type: isZksyncChain
? IsmType.STORAGE_MESSAGE_ID_MULTISIG
: IsmType.MESSAGE_ID_MULTISIG,
...multisig,
});

12 changes: 12 additions & 0 deletions typescript/sdk/src/deploy/HyperlaneProxyFactoryDeployer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { rootLogger } from '@hyperlane-xyz/utils';

import { attachContracts } from '../contracts/contracts.js';
import { HyperlaneContracts } from '../contracts/types.js';
import { MultiProvider } from '../providers/MultiProvider.js';
import { ChainName } from '../types.js';
@@ -10,6 +11,8 @@ import {
proxyFactoryFactories,
proxyFactoryImplementations,
} from './contracts.js';
import { shouldSkipStaticDeployment } from './protocolDeploymentConfig.js';
import { createDefaultProxyFactoryFactories } from './proxyFactoryUtils.js';
import { ContractVerifier } from './verify/ContractVerifier.js';

export class HyperlaneProxyFactoryDeployer extends HyperlaneDeployer<
@@ -32,6 +35,15 @@ export class HyperlaneProxyFactoryDeployer extends HyperlaneDeployer<
chain: ChainName,
): Promise<HyperlaneContracts<ProxyFactoryFactories>> {
const contracts: any = {};

const technicalStack =
this.multiProvider.getChainMetadata(chain).technicalStack;
// Check if we should skip static address set deployment
if (shouldSkipStaticDeployment(technicalStack)) {
const addresses = createDefaultProxyFactoryFactories();
return attachContracts(addresses, this.factories);
}

for (const factoryName of Object.keys(
this.factories,
) as (keyof ProxyFactoryFactories)[]) {