Skip to content

Commit a784c1b

Browse files
evan-graymdulin2
andauthored
e2e: initial (#195)
Co-authored-by: mdulin2 <mdulin2@zagmail.gonzaga.edu>
1 parent 0174516 commit a784c1b

File tree

301 files changed

+147512
-1
lines changed

Some content is hidden

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

301 files changed

+147512
-1
lines changed

.dockerignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/node_modules

.github/workflows/sdk.yml

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: SDK CI
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
push:
7+
branches:
8+
- main
9+
10+
env:
11+
FOUNDRY_PROFILE: prod
12+
13+
jobs:
14+
check:
15+
strategy:
16+
fail-fast: true
17+
18+
name: typechain match
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
with:
23+
submodules: recursive
24+
25+
- name: Install Foundry
26+
uses: foundry-rs/foundry-toolchain@v1
27+
with:
28+
version: nightly
29+
30+
- name: Run Forge build
31+
run: |
32+
cd evm
33+
forge build
34+
id: build
35+
36+
- name: Run Typechain
37+
run: |
38+
cd ci_tests
39+
npm i -g typechain@8.3.2 @typechain/ethers-v5@11.1.2
40+
npx typechain@8.3.2 --target ethers-v5 --out-dir evm_binding/ '../evm/out/*/*.json'
41+
id: generate
42+
43+
- name: Diff
44+
run: |
45+
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)
46+
id: check

.gitignore

+7-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,10 @@ docs/
2121
.vscode
2222

2323
# Misc
24-
.private
24+
.private
25+
26+
# Node
27+
node_modules
28+
29+
# Tilt
30+
.wormhole

Dockerfile

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
FROM node:20.11.1-alpine@sha256:f4c96a28c0b2d8981664e03f461c2677152cd9a756012ffa8e2c6727427c2bda
2+
3+
COPY ci_tests/package.json ci_tests/package-lock.json ./ci_tests/
4+
RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \
5+
npm ci --prefix ci_tests
6+
COPY ci_tests ./ci_tests

Tiltfile

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
load('ext://namespace', 'namespace_create')
2+
load('ext://git_resource', 'git_checkout')
3+
4+
git_checkout('https://github.com/wormhole-foundation/wormhole.git#main', '.wormhole/')
5+
6+
load(".wormhole/Tiltfile", "namespace", "k8s_yaml_with_ns")
7+
8+
docker_build(
9+
ref = "ntt-ci",
10+
context = ".",
11+
only = ["./ci_tests"],
12+
dockerfile = "Dockerfile",
13+
)
14+
15+
k8s_yaml_with_ns("ci.yaml")
16+
17+
k8s_resource(
18+
"ntt-ci-tests",
19+
labels = ["ntt"],
20+
resource_deps = ["eth-devnet2", "guardian"],
21+
)

ci.yaml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
kind: Job
2+
apiVersion: batch/v1
3+
metadata:
4+
name: ntt-ci-tests
5+
spec:
6+
backoffLimit: 0
7+
template:
8+
spec:
9+
restartPolicy: Never
10+
containers:
11+
- name: ntt-ci-tests
12+
image: ntt-ci
13+
command:
14+
- /bin/sh
15+
- -c
16+
- 'npm run go --prefix ci_tests && echo "done!" && touch /success'
17+
readinessProbe:
18+
exec:
19+
command:
20+
- test
21+
- -e
22+
- "/success"
23+
initialDelaySeconds: 5
24+
periodSeconds: 5
25+
---
26+

ci_tests/evm_binding/Base.ts

+147
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
/* Autogenerated file. Do not edit manually. */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
import type {
5+
BaseContract,
6+
BigNumber,
7+
BigNumberish,
8+
BytesLike,
9+
CallOverrides,
10+
ContractTransaction,
11+
Overrides,
12+
PopulatedTransaction,
13+
Signer,
14+
utils,
15+
} from "ethers";
16+
import type { FunctionFragment, Result } from "@ethersproject/abi";
17+
import type { Listener, Provider } from "@ethersproject/providers";
18+
import type {
19+
TypedEventFilter,
20+
TypedEvent,
21+
TypedListener,
22+
OnEvent,
23+
} from "./common";
24+
25+
export interface BaseInterface extends utils.Interface {
26+
functions: {
27+
"setRegisteredSender(uint16,bytes32)": FunctionFragment;
28+
"wormhole()": FunctionFragment;
29+
"wormholeRelayer()": FunctionFragment;
30+
};
31+
32+
getFunction(
33+
nameOrSignatureOrTopic:
34+
| "setRegisteredSender"
35+
| "wormhole"
36+
| "wormholeRelayer"
37+
): FunctionFragment;
38+
39+
encodeFunctionData(
40+
functionFragment: "setRegisteredSender",
41+
values: [BigNumberish, BytesLike]
42+
): string;
43+
encodeFunctionData(functionFragment: "wormhole", values?: undefined): string;
44+
encodeFunctionData(
45+
functionFragment: "wormholeRelayer",
46+
values?: undefined
47+
): string;
48+
49+
decodeFunctionResult(
50+
functionFragment: "setRegisteredSender",
51+
data: BytesLike
52+
): Result;
53+
decodeFunctionResult(functionFragment: "wormhole", data: BytesLike): Result;
54+
decodeFunctionResult(
55+
functionFragment: "wormholeRelayer",
56+
data: BytesLike
57+
): Result;
58+
59+
events: {};
60+
}
61+
62+
export interface Base extends BaseContract {
63+
connect(signerOrProvider: Signer | Provider | string): this;
64+
attach(addressOrName: string): this;
65+
deployed(): Promise<this>;
66+
67+
interface: BaseInterface;
68+
69+
queryFilter<TEvent extends TypedEvent>(
70+
event: TypedEventFilter<TEvent>,
71+
fromBlockOrBlockhash?: string | number | undefined,
72+
toBlock?: string | number | undefined
73+
): Promise<Array<TEvent>>;
74+
75+
listeners<TEvent extends TypedEvent>(
76+
eventFilter?: TypedEventFilter<TEvent>
77+
): Array<TypedListener<TEvent>>;
78+
listeners(eventName?: string): Array<Listener>;
79+
removeAllListeners<TEvent extends TypedEvent>(
80+
eventFilter: TypedEventFilter<TEvent>
81+
): this;
82+
removeAllListeners(eventName?: string): this;
83+
off: OnEvent<this>;
84+
on: OnEvent<this>;
85+
once: OnEvent<this>;
86+
removeListener: OnEvent<this>;
87+
88+
functions: {
89+
setRegisteredSender(
90+
sourceChain: BigNumberish,
91+
sourceAddress: BytesLike,
92+
overrides?: Overrides & { from?: string }
93+
): Promise<ContractTransaction>;
94+
95+
wormhole(overrides?: CallOverrides): Promise<[string]>;
96+
97+
wormholeRelayer(overrides?: CallOverrides): Promise<[string]>;
98+
};
99+
100+
setRegisteredSender(
101+
sourceChain: BigNumberish,
102+
sourceAddress: BytesLike,
103+
overrides?: Overrides & { from?: string }
104+
): Promise<ContractTransaction>;
105+
106+
wormhole(overrides?: CallOverrides): Promise<string>;
107+
108+
wormholeRelayer(overrides?: CallOverrides): Promise<string>;
109+
110+
callStatic: {
111+
setRegisteredSender(
112+
sourceChain: BigNumberish,
113+
sourceAddress: BytesLike,
114+
overrides?: CallOverrides
115+
): Promise<void>;
116+
117+
wormhole(overrides?: CallOverrides): Promise<string>;
118+
119+
wormholeRelayer(overrides?: CallOverrides): Promise<string>;
120+
};
121+
122+
filters: {};
123+
124+
estimateGas: {
125+
setRegisteredSender(
126+
sourceChain: BigNumberish,
127+
sourceAddress: BytesLike,
128+
overrides?: Overrides & { from?: string }
129+
): Promise<BigNumber>;
130+
131+
wormhole(overrides?: CallOverrides): Promise<BigNumber>;
132+
133+
wormholeRelayer(overrides?: CallOverrides): Promise<BigNumber>;
134+
};
135+
136+
populateTransaction: {
137+
setRegisteredSender(
138+
sourceChain: BigNumberish,
139+
sourceAddress: BytesLike,
140+
overrides?: Overrides & { from?: string }
141+
): Promise<PopulatedTransaction>;
142+
143+
wormhole(overrides?: CallOverrides): Promise<PopulatedTransaction>;
144+
145+
wormholeRelayer(overrides?: CallOverrides): Promise<PopulatedTransaction>;
146+
};
147+
}

ci_tests/evm_binding/BytesParsing.ts

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/* Autogenerated file. Do not edit manually. */
2+
/* tslint:disable */
3+
/* eslint-disable */
4+
import type { BaseContract, Signer, utils } from "ethers";
5+
6+
import type { Listener, Provider } from "@ethersproject/providers";
7+
import type {
8+
TypedEventFilter,
9+
TypedEvent,
10+
TypedListener,
11+
OnEvent,
12+
} from "./common";
13+
14+
export interface BytesParsingInterface extends utils.Interface {
15+
functions: {};
16+
17+
events: {};
18+
}
19+
20+
export interface BytesParsing extends BaseContract {
21+
connect(signerOrProvider: Signer | Provider | string): this;
22+
attach(addressOrName: string): this;
23+
deployed(): Promise<this>;
24+
25+
interface: BytesParsingInterface;
26+
27+
queryFilter<TEvent extends TypedEvent>(
28+
event: TypedEventFilter<TEvent>,
29+
fromBlockOrBlockhash?: string | number | undefined,
30+
toBlock?: string | number | undefined
31+
): Promise<Array<TEvent>>;
32+
33+
listeners<TEvent extends TypedEvent>(
34+
eventFilter?: TypedEventFilter<TEvent>
35+
): Array<TypedListener<TEvent>>;
36+
listeners(eventName?: string): Array<Listener>;
37+
removeAllListeners<TEvent extends TypedEvent>(
38+
eventFilter: TypedEventFilter<TEvent>
39+
): this;
40+
removeAllListeners(eventName?: string): this;
41+
off: OnEvent<this>;
42+
on: OnEvent<this>;
43+
once: OnEvent<this>;
44+
removeListener: OnEvent<this>;
45+
46+
functions: {};
47+
48+
callStatic: {};
49+
50+
filters: {};
51+
52+
estimateGas: {};
53+
54+
populateTransaction: {};
55+
}

0 commit comments

Comments
 (0)