Skip to content

Commit 1470fc6

Browse files
evan-graymdulin2
andauthored
ci: evm e2e with and without relaying (#229)
* Get full e2e call with and without relayer * e2e cleanup * evm_binding: sync and add makefile --------- Co-authored-by: mdulin2 <mdulin2@zagmail.gonzaga.edu>
1 parent f0f087c commit 1470fc6

File tree

57 files changed

+1308
-1212
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1308
-1212
lines changed

.github/workflows/sdk.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,11 @@ jobs:
3636
- name: Run Typechain
3737
run: |
3838
cd ci_tests
39-
rm -r evm_binding
40-
npm i -g typechain@8.3.2 @typechain/ethers-v5@11.1.2
41-
npx typechain@8.3.2 --target ethers-v5 --out-dir evm_binding/ '../evm/out/*/*.json'
39+
npm ci
40+
npm run gen-evm-bindings
4241
id: generate
4342

4443
- name: Diff
4544
run: |
46-
git diff --name-only --exit-code && echo "✅ Generated typechain matches committed typechain" || (echo "❌ Generated typechain differs from committed typechain, run \`cd ci_tests && npx typechain@8.3.2 --target ethers-v5 --out-dir evm_binding/ '../evm/out/*/*.json'\` and commit the result" >&2 && exit 1)
45+
git diff --name-only --exit-code && echo "✅ Generated typechain matches committed typechain" || (echo "❌ Generated typechain differs from committed typechain, run \`make gen-evm-bindings\` and commit the result" >&2 && exit 1)
4746
id: check

.github/workflows/tilt.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ jobs:
3232
kubectl config set-context ci --namespace=$DEPLOY_NS
3333
kubectl config use-context ci
3434
35-
- run: tilt ci -- --evm2 --namespace=$DEPLOY_NS
36-
timeout-minutes: 60
35+
- run: tilt ci -- --evm2 --generic_relayer --namespace=$DEPLOY_NS
36+
timeout-minutes: 30
3737

3838
# Clean up k8s resources
3939
- run: kubectl delete --namespace=$DEPLOY_NS service,statefulset,configmap,pod,job --all

Makefile

+12
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ all: build
77
build-evm:
88
cd evm && forge build
99

10+
.PHONY: clean-evm
11+
clean-evm:
12+
cd evm && forge clean
13+
14+
.PHONY: build-evm-prod
15+
build-evm-prod: clean-evm
16+
cd evm && FOUNDRY_PROFILE=prod forge build
17+
18+
.PHONY: gen-evm-bindings
19+
gen-evm-bindings: build-evm-prod
20+
cd ci_tests && npm ci && npm run gen-evm-bindings
21+
1022
#######################
1123
## TESTS
1224

Tiltfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ k8s_yaml_with_ns("ci.yaml")
1717
k8s_resource(
1818
"ntt-ci-tests",
1919
labels = ["ntt"],
20-
resource_deps = ["eth-devnet2", "guardian"],
20+
resource_deps = ["eth-devnet", "eth-devnet2", "guardian", "relayer-engine"],
2121
)

ci_tests/evm_binding/DummyToken.sol/DummyToken.ts

+37
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export interface DummyTokenInterface extends utils.Interface {
3131
"allowance(address,address)": FunctionFragment;
3232
"approve(address,uint256)": FunctionFragment;
3333
"balanceOf(address)": FunctionFragment;
34+
"burn(address,uint256)": FunctionFragment;
3435
"burnFrom(address,uint256)": FunctionFragment;
3536
"decimals()": FunctionFragment;
3637
"decreaseAllowance(address,uint256)": FunctionFragment;
@@ -49,6 +50,7 @@ export interface DummyTokenInterface extends utils.Interface {
4950
| "allowance"
5051
| "approve"
5152
| "balanceOf"
53+
| "burn"
5254
| "burnFrom"
5355
| "decimals"
5456
| "decreaseAllowance"
@@ -71,6 +73,10 @@ export interface DummyTokenInterface extends utils.Interface {
7173
values: [string, BigNumberish]
7274
): string;
7375
encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
76+
encodeFunctionData(
77+
functionFragment: "burn",
78+
values: [string, BigNumberish]
79+
): string;
7480
encodeFunctionData(
7581
functionFragment: "burnFrom",
7682
values: [string, BigNumberish]
@@ -110,6 +116,7 @@ export interface DummyTokenInterface extends utils.Interface {
110116
decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
111117
decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
112118
decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
119+
decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
113120
decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result;
114121
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
115122
decodeFunctionResult(
@@ -208,6 +215,12 @@ export interface DummyToken extends BaseContract {
208215

209216
balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
210217

218+
burn(
219+
arg0: string,
220+
arg1: BigNumberish,
221+
overrides?: Overrides & { from?: string }
222+
): Promise<ContractTransaction>;
223+
211224
burnFrom(
212225
arg0: string,
213226
arg1: BigNumberish,
@@ -274,6 +287,12 @@ export interface DummyToken extends BaseContract {
274287

275288
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
276289

290+
burn(
291+
arg0: string,
292+
arg1: BigNumberish,
293+
overrides?: Overrides & { from?: string }
294+
): Promise<ContractTransaction>;
295+
277296
burnFrom(
278297
arg0: string,
279298
arg1: BigNumberish,
@@ -340,6 +359,12 @@ export interface DummyToken extends BaseContract {
340359

341360
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
342361

362+
burn(
363+
arg0: string,
364+
arg1: BigNumberish,
365+
overrides?: CallOverrides
366+
): Promise<void>;
367+
343368
burnFrom(
344369
arg0: string,
345370
arg1: BigNumberish,
@@ -431,6 +456,12 @@ export interface DummyToken extends BaseContract {
431456

432457
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
433458

459+
burn(
460+
arg0: string,
461+
arg1: BigNumberish,
462+
overrides?: Overrides & { from?: string }
463+
): Promise<BigNumber>;
464+
434465
burnFrom(
435466
arg0: string,
436467
arg1: BigNumberish,
@@ -501,6 +532,12 @@ export interface DummyToken extends BaseContract {
501532
overrides?: CallOverrides
502533
): Promise<PopulatedTransaction>;
503534

535+
burn(
536+
arg0: string,
537+
arg1: BigNumberish,
538+
overrides?: Overrides & { from?: string }
539+
): Promise<PopulatedTransaction>;
540+
504541
burnFrom(
505542
arg0: string,
506543
arg1: BigNumberish,

ci_tests/evm_binding/DummyToken.sol/DummyTokenMintAndBurn.ts

+85-10
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ export interface DummyTokenMintAndBurnInterface extends utils.Interface {
3131
"allowance(address,address)": FunctionFragment;
3232
"approve(address,uint256)": FunctionFragment;
3333
"balanceOf(address)": FunctionFragment;
34+
"burn(uint256)": FunctionFragment;
35+
"burn(address,uint256)": FunctionFragment;
3436
"burnFrom(address,uint256)": FunctionFragment;
3537
"decimals()": FunctionFragment;
3638
"decreaseAllowance(address,uint256)": FunctionFragment;
@@ -49,6 +51,8 @@ export interface DummyTokenMintAndBurnInterface extends utils.Interface {
4951
| "allowance"
5052
| "approve"
5153
| "balanceOf"
54+
| "burn(uint256)"
55+
| "burn(address,uint256)"
5256
| "burnFrom"
5357
| "decimals"
5458
| "decreaseAllowance"
@@ -71,6 +75,14 @@ export interface DummyTokenMintAndBurnInterface extends utils.Interface {
7175
values: [string, BigNumberish]
7276
): string;
7377
encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
78+
encodeFunctionData(
79+
functionFragment: "burn(uint256)",
80+
values: [BigNumberish]
81+
): string;
82+
encodeFunctionData(
83+
functionFragment: "burn(address,uint256)",
84+
values: [string, BigNumberish]
85+
): string;
7486
encodeFunctionData(
7587
functionFragment: "burnFrom",
7688
values: [string, BigNumberish]
@@ -110,6 +122,14 @@ export interface DummyTokenMintAndBurnInterface extends utils.Interface {
110122
decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
111123
decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
112124
decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
125+
decodeFunctionResult(
126+
functionFragment: "burn(uint256)",
127+
data: BytesLike
128+
): Result;
129+
decodeFunctionResult(
130+
functionFragment: "burn(address,uint256)",
131+
data: BytesLike
132+
): Result;
113133
decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result;
114134
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
115135
decodeFunctionResult(
@@ -208,12 +228,23 @@ export interface DummyTokenMintAndBurn extends BaseContract {
208228

209229
balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
210230

211-
burnFrom(
212-
to: string,
231+
"burn(uint256)"(
213232
amount: BigNumberish,
214233
overrides?: Overrides & { from?: string }
215234
): Promise<ContractTransaction>;
216235

236+
"burn(address,uint256)"(
237+
arg0: string,
238+
arg1: BigNumberish,
239+
overrides?: Overrides & { from?: string }
240+
): Promise<ContractTransaction>;
241+
242+
burnFrom(
243+
arg0: string,
244+
arg1: BigNumberish,
245+
overrides?: Overrides & { from?: string }
246+
): Promise<ContractTransaction>;
247+
217248
decimals(overrides?: CallOverrides): Promise<[number]>;
218249

219250
decreaseAllowance(
@@ -274,12 +305,23 @@ export interface DummyTokenMintAndBurn extends BaseContract {
274305

275306
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
276307

277-
burnFrom(
278-
to: string,
308+
"burn(uint256)"(
279309
amount: BigNumberish,
280310
overrides?: Overrides & { from?: string }
281311
): Promise<ContractTransaction>;
282312

313+
"burn(address,uint256)"(
314+
arg0: string,
315+
arg1: BigNumberish,
316+
overrides?: Overrides & { from?: string }
317+
): Promise<ContractTransaction>;
318+
319+
burnFrom(
320+
arg0: string,
321+
arg1: BigNumberish,
322+
overrides?: Overrides & { from?: string }
323+
): Promise<ContractTransaction>;
324+
283325
decimals(overrides?: CallOverrides): Promise<number>;
284326

285327
decreaseAllowance(
@@ -340,12 +382,23 @@ export interface DummyTokenMintAndBurn extends BaseContract {
340382

341383
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
342384

343-
burnFrom(
344-
to: string,
385+
"burn(uint256)"(
345386
amount: BigNumberish,
346387
overrides?: CallOverrides
347388
): Promise<void>;
348389

390+
"burn(address,uint256)"(
391+
arg0: string,
392+
arg1: BigNumberish,
393+
overrides?: CallOverrides
394+
): Promise<void>;
395+
396+
burnFrom(
397+
arg0: string,
398+
arg1: BigNumberish,
399+
overrides?: CallOverrides
400+
): Promise<void>;
401+
349402
decimals(overrides?: CallOverrides): Promise<number>;
350403

351404
decreaseAllowance(
@@ -431,12 +484,23 @@ export interface DummyTokenMintAndBurn extends BaseContract {
431484

432485
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
433486

434-
burnFrom(
435-
to: string,
487+
"burn(uint256)"(
436488
amount: BigNumberish,
437489
overrides?: Overrides & { from?: string }
438490
): Promise<BigNumber>;
439491

492+
"burn(address,uint256)"(
493+
arg0: string,
494+
arg1: BigNumberish,
495+
overrides?: Overrides & { from?: string }
496+
): Promise<BigNumber>;
497+
498+
burnFrom(
499+
arg0: string,
500+
arg1: BigNumberish,
501+
overrides?: Overrides & { from?: string }
502+
): Promise<BigNumber>;
503+
440504
decimals(overrides?: CallOverrides): Promise<BigNumber>;
441505

442506
decreaseAllowance(
@@ -501,12 +565,23 @@ export interface DummyTokenMintAndBurn extends BaseContract {
501565
overrides?: CallOverrides
502566
): Promise<PopulatedTransaction>;
503567

504-
burnFrom(
505-
to: string,
568+
"burn(uint256)"(
506569
amount: BigNumberish,
507570
overrides?: Overrides & { from?: string }
508571
): Promise<PopulatedTransaction>;
509572

573+
"burn(address,uint256)"(
574+
arg0: string,
575+
arg1: BigNumberish,
576+
overrides?: Overrides & { from?: string }
577+
): Promise<PopulatedTransaction>;
578+
579+
burnFrom(
580+
arg0: string,
581+
arg1: BigNumberish,
582+
overrides?: Overrides & { from?: string }
583+
): Promise<PopulatedTransaction>;
584+
510585
decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
511586

512587
decreaseAllowance(

ci_tests/evm_binding/INttManager.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ import type {
2525

2626
export declare namespace TransceiverStructs {
2727
export type NttManagerMessageStruct = {
28-
sequence: BigNumberish;
28+
id: BytesLike;
2929
sender: BytesLike;
3030
payload: BytesLike;
3131
};
3232

33-
export type NttManagerMessageStructOutput = [BigNumber, string, string] & {
34-
sequence: BigNumber;
33+
export type NttManagerMessageStructOutput = [string, string, string] & {
34+
id: string;
3535
sender: string;
3636
payload: string;
3737
};
@@ -61,11 +61,11 @@ export declare namespace INttManagerState {
6161

6262
export interface INttManagerInterface extends utils.Interface {
6363
functions: {
64-
"attestationReceived(uint16,bytes32,(uint64,bytes32,bytes))": FunctionFragment;
64+
"attestationReceived(uint16,bytes32,(bytes32,bytes32,bytes))": FunctionFragment;
6565
"chainId()": FunctionFragment;
6666
"completeInboundQueuedTransfer(bytes32)": FunctionFragment;
6767
"completeOutboundQueuedTransfer(uint64)": FunctionFragment;
68-
"executeMsg(uint16,bytes32,(uint64,bytes32,bytes))": FunctionFragment;
68+
"executeMsg(uint16,bytes32,(bytes32,bytes32,bytes))": FunctionFragment;
6969
"getMode()": FunctionFragment;
7070
"getPeer(uint16)": FunctionFragment;
7171
"getThreshold()": FunctionFragment;

0 commit comments

Comments
 (0)