@@ -64,99 +64,127 @@ test = "pnpm exec ts-mocha -p ./tsconfig.test.json -t 1000000 tests/**/*.ts"
6464[test ]
6565startup_wait = 20000
6666
67- [test .validator ]
68- url = " https://api.mainnet-beta.solana.com"
69- bind_address = " 127.0.0.1"
67+ # Programs are preloaded from .so dumps rather than cloned. Loading them as raw
68+ # account pairs instead exhausts the validator's program cache.
7069
71- [[test .validator .clone ]]
72- address = " tuktukUrfhXT6ZT77QTU8RQtvgL967uRuVagWF57zVA" # tuktuk
70+ [[test .genesis ]]
71+ address = " tuktukUrfhXT6ZT77QTU8RQtvgL967uRuVagWF57zVA" # tuktuk
72+ program = " accounts/tuktukUrfhXT6ZT77QTU8RQtvgL967uRuVagWF57zVA.so"
7373
74- [[test .validator .clone ]]
75- address = " HGBovqKte26DbEMBma3T1TvvdmAFYSSgjncRoKECqfXq" # tuktuk config
74+ [[test .genesis ]]
75+ address = " metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" # token-metadata
76+ program = " accounts/metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s.so"
7677
77- [[test .validator .clone ]]
78- address = " GkUxZMcw2RbwZ64VL3MvBtYNV8zim3y7UfzabFTybAUJ" # tuktuk-idl
78+ [[test .genesis ]]
79+ address = " BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY" # bubblegum
80+ program = " accounts/BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY.so"
7981
80- [[test .validator .clone ]]
81- address = " metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" # token-metadata
82+ [[test .genesis ]]
83+ address = " noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" # noop
84+ program = " accounts/noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV.so"
8285
83- [[test .validator .clone ]]
84- address = " ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" # associated-token-program
86+ [[test .genesis ]]
87+ address = " cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" # account compression
88+ program = " accounts/cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK.so"
8589
86- [[test .validator .clone ]]
87- address = " BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY" # bubblegum
90+ [[test .genesis ]]
91+ address = " hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S" # spl governance program
92+ program = " accounts/hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S.so"
8893
89- [[test .validator .clone ]]
90- address = " noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV" # noop
94+ [[test .genesis ]]
95+ address = " propFYxqmVcufMhk5esNMrexq2ogHbbC2kP9PU1qxKs" # Proposal
96+ program = " accounts/propFYxqmVcufMhk5esNMrexq2ogHbbC2kP9PU1qxKs.so"
9197
92- [[test .validator .clone ]]
93- address = " 4DdmDswskDxXGpwHrXUfn2CNUm9rt21ac79GHNTN3J33" # hnt feed needed for dc auto top
98+ [[test .genesis ]]
99+ address = " nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p" # NFT Proxy
100+ program = " accounts/nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p.so"
94101
95- [[test .validator .clone ]]
96- address = " He5mhwVQQNvjFxqjEjFDb7enJWFwFJ7Rq7zknqBz89A5" # pro-receiver-owned HNT/USD feed for the data-credits mint pin and tuktuk-dca
102+ [[test .genesis ]]
103+ address = " orgdXvHVLkWgBYerptASkAwkZAE563CJUu717dMNx5f" # Org program
104+ program = " accounts/orgdXvHVLkWgBYerptASkAwkZAE563CJUu717dMNx5f.so"
97105
98- [[test .validator .clone ]]
99- address = " 6HAuqASbHEh4w4REJEUUUCginTLfj1kwCh215ZLtMkrT" # pro-receiver-owned USDC/USD price feed for tuktuk-dca
106+ [[test .genesis ]]
107+ address = " stcfiqW3fwD9QCd8Bqr1NBLrs7dftZHBQe7RiMMA4aM" # State controller program
108+ program = " accounts/stcfiqW3fwD9QCd8Bqr1NBLrs7dftZHBQe7RiMMA4aM.so"
100109
101- [[test .validator .clone ]]
102- address = " cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK" # account compression
110+ [[test .genesis ]]
111+ address = " rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ" # Pyth price oracle program
112+ program = " accounts/rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ.so"
103113
104- [[test .validator .clone ]]
105- address = " hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S" # spl governance program
114+ [[test .genesis ]]
115+ address = " HDwcJBJXjL9FpJ7UBsYBtaDjsBUhuLCUYoz3zr8SWWaQ" # Wormhole
116+ program = " accounts/HDwcJBJXjL9FpJ7UBsYBtaDjsBUhuLCUYoz3zr8SWWaQ.so"
106117
107- [[test .validator .clone ]]
108- address = " ENmcpFCpxN1CqyUjuog9yyUVfdXBKF3LVCwLr7grJZpk" # required by spl governance
118+ [[test .genesis ]]
119+ address = " SMPLecH534NA9acpos4G6x7uf3LWbCAwZQE9e8ZekMu" # Squads multisig program
120+ program = " accounts/SMPLecH534NA9acpos4G6x7uf3LWbCAwZQE9e8ZekMu.so"
109121
110- [[ test .validator . clone ] ]
111- address = " propFYxqmVcufMhk5esNMrexq2ogHbbC2kP9PU1qxKs " # Proposal
122+ [test .validator ]
123+ bind_address = " 127.0.0.1 "
112124
113- [[test .validator .clone ]]
114- address = " 66t3XARU6Ja3zj91gDZ2KoNLJHEMTYPSKqJWYb6PJJBA" # Proposal IDL
125+ [[test .validator .account ]]
126+ address = " HGBovqKte26DbEMBma3T1TvvdmAFYSSgjncRoKECqfXq" # tuktuk config
127+ filename = " accounts/HGBovqKte26DbEMBma3T1TvvdmAFYSSgjncRoKECqfXq.json"
115128
116- [[test .validator .clone ]]
117- address = " nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p" # NFT Proxy
129+ [[test .validator .account ]]
130+ address = " GkUxZMcw2RbwZ64VL3MvBtYNV8zim3y7UfzabFTybAUJ" # tuktuk-idl
131+ filename = " accounts/GkUxZMcw2RbwZ64VL3MvBtYNV8zim3y7UfzabFTybAUJ.json"
118132
119- [[test .validator .clone ]]
120- address = " CNjepJnCPddZwd8xGS3M2QpZuCbfVRNvi3jfBehKHKHw" # NFT Proxy IDL
133+ [[test .validator .account ]]
134+ address = " ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL" # associated-token-program
135+ filename = " accounts/ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL.json"
121136
122- [[test .validator .clone ]]
123- address = " orgdXvHVLkWgBYerptASkAwkZAE563CJUu717dMNx5f" # Org program
137+ [[test .validator .account ]]
138+ address = " 4DdmDswskDxXGpwHrXUfn2CNUm9rt21ac79GHNTN3J33" # hnt feed needed for dc auto top
139+ filename = " accounts/4DdmDswskDxXGpwHrXUfn2CNUm9rt21ac79GHNTN3J33.json"
124140
125- [[test .validator .clone ]]
126- address = " CjVhwk3gdDXB8iUZCUP9M6QaRvoBGkM7FX9qAf6Qm4sG" # Org program IDL
141+ [[test .validator .account ]]
142+ address = " He5mhwVQQNvjFxqjEjFDb7enJWFwFJ7Rq7zknqBz89A5" # pro-receiver-owned HNT/USD feed for the data-credits mint pin and tuktuk-dca
143+ filename = " accounts/He5mhwVQQNvjFxqjEjFDb7enJWFwFJ7Rq7zknqBz89A5.json"
127144
128- [[test .validator .clone ]]
129- address = " stcfiqW3fwD9QCd8Bqr1NBLrs7dftZHBQe7RiMMA4aM" # State controller program
145+ [[test .validator .account ]]
146+ address = " 6HAuqASbHEh4w4REJEUUUCginTLfj1kwCh215ZLtMkrT" # pro-receiver-owned USDC/USD price feed for tuktuk-dca
147+ filename = " accounts/6HAuqASbHEh4w4REJEUUUCginTLfj1kwCh215ZLtMkrT.json"
130148
131- [[test .validator .clone ]]
132- address = " GPQNABq6s63uqzHRwZN9e2GcxtzG4yLP5AnJer7DkB9E" # State controller IDL
149+ [[test .validator .account ]]
150+ address = " ENmcpFCpxN1CqyUjuog9yyUVfdXBKF3LVCwLr7grJZpk" # required by spl governance
151+ filename = " accounts/ENmcpFCpxN1CqyUjuog9yyUVfdXBKF3LVCwLr7grJZpk.json"
133152
134- # Pyth price oracle program
135- [[ test . validator . clone ]]
136- address = " rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ "
153+ [[ test . validator . account ]]
154+ address = " 66t3XARU6Ja3zj91gDZ2KoNLJHEMTYPSKqJWYb6PJJBA " # Proposal IDL
155+ filename = " accounts/66t3XARU6Ja3zj91gDZ2KoNLJHEMTYPSKqJWYb6PJJBA.json "
137156
138- # Wormhole
139- [[ test . validator . clone ]]
140- address = " HDwcJBJXjL9FpJ7UBsYBtaDjsBUhuLCUYoz3zr8SWWaQ "
157+ [[ test . validator . account ]]
158+ address = " CNjepJnCPddZwd8xGS3M2QpZuCbfVRNvi3jfBehKHKHw " # NFT Proxy IDL
159+ filename = " accounts/CNjepJnCPddZwd8xGS3M2QpZuCbfVRNvi3jfBehKHKHw.json "
141160
142- [[test .validator .clone ]]
143- address = " 5gxPdahvSzcKySxXxPuRXZZ9s6h8hZ88XDVKavWpaQGn" # Wormhole guardian set index 4
161+ [[test .validator .account ]]
162+ address = " CjVhwk3gdDXB8iUZCUP9M6QaRvoBGkM7FX9qAf6Qm4sG" # Org program IDL
163+ filename = " accounts/CjVhwk3gdDXB8iUZCUP9M6QaRvoBGkM7FX9qAf6Qm4sG.json"
144164
145- [[test .validator .clone ]]
146- address = " HTczusLJSAhMJKYrxLjSUUyW7YDsBuyfBG8Tj1KJsgni" # Wormhole guardian set index 5
165+ [[test .validator .account ]]
166+ address = " GPQNABq6s63uqzHRwZN9e2GcxtzG4yLP5AnJer7DkB9E" # State controller IDL
167+ filename = " accounts/GPQNABq6s63uqzHRwZN9e2GcxtzG4yLP5AnJer7DkB9E.json"
147168
148- [[test .validator .clone ]]
149- address = " HstYgN21fgNmutTVXjBw54n4ryvP3WrCFbMAjnbdbTzf" # Wormhole guardian set index 6
169+ [[test .validator .account ]]
170+ address = " 5gxPdahvSzcKySxXxPuRXZZ9s6h8hZ88XDVKavWpaQGn" # Wormhole guardian set index 4
171+ filename = " accounts/5gxPdahvSzcKySxXxPuRXZZ9s6h8hZ88XDVKavWpaQGn.json"
150172
151- [[test .validator .clone ]]
152- address = " 6GaHgiaQg9Pg346xHq9m7vQ9rJtnH83gQKqJoiAxQa7D" # Wormhole guardian set index 7
173+ [[test .validator .account ]]
174+ address = " HTczusLJSAhMJKYrxLjSUUyW7YDsBuyfBG8Tj1KJsgni" # Wormhole guardian set index 5
175+ filename = " accounts/HTczusLJSAhMJKYrxLjSUUyW7YDsBuyfBG8Tj1KJsgni.json"
153176
154- [[test .validator .clone ]]
155- address = " DaWUKXCyXsnzcvLUyeJRWou8KTn7XtadgTsdhJ6RHS7b"
177+ [[test .validator .account ]]
178+ address = " HstYgN21fgNmutTVXjBw54n4ryvP3WrCFbMAjnbdbTzf" # Wormhole guardian set index 6
179+ filename = " accounts/HstYgN21fgNmutTVXjBw54n4ryvP3WrCFbMAjnbdbTzf.json"
180+
181+ [[test .validator .account ]]
182+ address = " 6GaHgiaQg9Pg346xHq9m7vQ9rJtnH83gQKqJoiAxQa7D" # Wormhole guardian set index 7
183+ filename = " accounts/6GaHgiaQg9Pg346xHq9m7vQ9rJtnH83gQKqJoiAxQa7D.json"
156184
157- # Squads multisig program
158- [[ test . validator . clone ]]
159- address = " SMPLecH534NA9acpos4G6x7uf3LWbCAwZQE9e8ZekMu "
185+ [[ test . validator . account ]]
186+ address = " DaWUKXCyXsnzcvLUyeJRWou8KTn7XtadgTsdhJ6RHS7b "
187+ filename = " accounts/DaWUKXCyXsnzcvLUyeJRWou8KTn7XtadgTsdhJ6RHS7b.json "
160188
161189# [[test.validator.clone]]
162190# address = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
0 commit comments