Skip to content

Commit 3c74e59

Browse files
authored
chore: update contracts to use abstract universal contract (#299)
1 parent 5df453f commit 3c74e59

39 files changed

+3263
-3790
lines changed

examples/call/contracts/Connected.sol

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity 0.8.26;
33

4-
import {RevertContext} from "@zetachain/protocol-contracts/contracts/Revert.sol";
54
import "@zetachain/protocol-contracts/contracts/evm/GatewayEVM.sol";
65
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
76

examples/call/contracts/Universal.sol

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,14 @@
11
// SPDX-License-Identifier: MIT
22
pragma solidity 0.8.26;
33

4-
import {RevertContext, RevertOptions} from "@zetachain/protocol-contracts/contracts/Revert.sol";
54
import "@zetachain/protocol-contracts/contracts/zevm/interfaces/UniversalContract.sol";
6-
import "@zetachain/protocol-contracts/contracts/zevm/interfaces/IGatewayZEVM.sol";
7-
import "@zetachain/protocol-contracts/contracts/zevm/GatewayZEVM.sol";
85

96
contract Universal is UniversalContract {
10-
GatewayZEVM public immutable gateway;
11-
127
event HelloEvent(string, string);
138
event RevertEvent(string, RevertContext);
149
event AbortEvent(string, AbortContext);
1510

1611
error TransferFailed();
17-
error Unauthorized();
18-
19-
modifier onlyGateway() {
20-
if (msg.sender != address(gateway)) revert Unauthorized();
21-
_;
22-
}
23-
24-
constructor(address payable gatewayAddress) {
25-
gateway = GatewayZEVM(gatewayAddress);
26-
}
2712

2813
function call(
2914
bytes memory receiver,

examples/call/foundry.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ src = 'contracts'
33
out = 'out'
44
viaIR = true
55
libs = ['node_modules', "dependencies"]
6-
evm_version = "paris"
76
test = 'test'
87
cache_path = 'cache_forge'
98
verbosity = 3

examples/call/hardhat.config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ dotenv.config();
88

99
const config: HardhatUserConfig = {
1010
...getHardhatConfig({ accounts: [process.env.PRIVATE_KEY || ""] }),
11+
solidity: {
12+
settings: {
13+
evmVersion: "cancun",
14+
},
15+
version: "0.8.26",
16+
},
1117
};
1218

1319
export default config;

examples/call/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"@types/node": ">=12.0.0",
2929
"@typescript-eslint/eslint-plugin": "^5.59.9",
3030
"@typescript-eslint/parser": "^5.59.9",
31-
"@zetachain/toolkit": "^16.0.0",
31+
"@zetachain/toolkit": "^16.2.2",
3232
"axios": "^1.3.6",
3333
"chai": "^4.2.0",
3434
"dotenv": "^16.0.3",
@@ -58,10 +58,10 @@
5858
"@solana/spl-token": "^0.4.13",
5959
"@solana/web3.js": "^1.95.8",
6060
"@zetachain/networks": "13.0.0-rc1",
61-
"@zetachain/protocol-contracts": "13.0.0",
61+
"@zetachain/protocol-contracts": "^14.1.0",
6262
"@zetachain/protocol-contracts-solana": "2.0.0-rc1",
6363
"bech32": "^2.0.0",
6464
"ethers": "5.4.7",
65-
"zetachain": "7.0.0"
65+
"zetachain": "^7.2.0"
6666
}
6767
}

examples/call/scripts/localnet.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/bin/bash
22

3-
set -e
4-
set -x
5-
set -o pipefail
3+
set -exo pipefail
64

75
yarn zetachain localnet start --force-kill --exit-on-error --no-analytics &
86

@@ -15,7 +13,6 @@ ZRC20_ETHEREUM=$(jq -r '."11155112".zrc20Tokens[] | select(.coinType == "gas" an
1513
USDC_ETHEREUM=$(jq -r '."11155112".zrc20Tokens[] | select(.symbol == "USDC.ETH") | .address' ~/.zetachain/localnet/registry.json) && echo $USDC_ETHEREUM
1614
GATEWAY_ETHEREUM=$(jq -r '.["11155112"].contracts[] | select(.contractType == "gateway") | .address' ~/.zetachain/localnet/registry.json) && echo $GATEWAY_ETHEREUM
1715
GATEWAY_BNB=$(jq -r '."98".contracts[] | select(.contractType == "gateway") | .address' ~/.zetachain/localnet/registry.json) && echo $GATEWAY_BNB
18-
GATEWAY_ZETACHAIN=$(jq -r '.["31337"].contracts[] | select(.contractType == "gateway") | .address' ~/.zetachain/localnet/registry.json) && echo $GATEWAY_ZETACHAIN
1916
WZETA=$(jq -r '."31337".contracts[] | select(.contractType == "zetaToken") | .address' ~/.zetachain/localnet/registry.json) && echo $WZETA
2017
PRIVATE_KEY=$(jq -r '.private_keys[0]' ~/.zetachain/localnet/anvil.json) && echo $PRIVATE_KEY
2118
RECIPIENT=$(cast wallet address $PRIVATE_KEY) && echo $RECIPIENT
@@ -25,8 +22,7 @@ UNIVERSAL=$(forge create Universal \
2522
--rpc-url $RPC \
2623
--private-key $PRIVATE_KEY \
2724
--broadcast \
28-
--json \
29-
--constructor-args $GATEWAY_ZETACHAIN | jq -r .deployedTo) && echo $UNIVERSAL
25+
--json | jq -r .deployedTo) && echo $UNIVERSAL
3026

3127
yarn zetachain localnet check --no-analytics
3228

examples/call/test/CallTest.t.sol

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ contract CallTest is FoundrySetup {
2121
connected = new Connected(
2222
payable(address(evmSetup.wrapGatewayEVM(chainIdETH)))
2323
);
24-
universal = new Universal(
25-
payable(address(zetaSetup.wrapGatewayZEVM()))
26-
);
24+
universal = new Universal();
2725
console.log("universal", address(universal));
2826
console.log("connected", address(connected));
2927
}

0 commit comments

Comments
 (0)