Prop AMM Teardown
The wall#81 other closed program

Woofi

WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVbSolscan
0.00
USDC in the pot
0
backers
0
attempts
0
transactions in 24 h
Chip in

USDC goes to this target's escrow with the Memo teardown:chip:WooF…1AVb. You can take your share back any time before a PASS.

The wallet opens only when you click. Minimum 5 USDC.

Escrow 6rJt5z…dH2KHZ · USDC account 34wZKM…pv11rq

print of ELF sha256 7fab739a7f3334fb…, lock at 0.00% match

Snapshot.
Read from mainnet and frozen for this deploy slot.

Loader
Upgradeable loader (v3)
Program data
Upgrade authority
Last deploy slot
323,166,452
ELF sha256
7fab739a7f3334fb57f961fc5038081a89f1f0c75452ab43bdf6c9fff68467a0
ELF size
612,592 bytes (598.2 KB)
Snapshot taken
2026-11-02 20:45 UTC
OtterSec verify
no verified build
Corpus
built by the judge machine: up to 1,000 recent mainnet instructions and 10,000 fuzzed variants; the real N is printed once it exists

Teardown kit.
Computed from the ELF and recent transactions, no AI. Hunters start here.

65,971
sBPF instructions in .text
883
functions reached by internal calls
5,248
internal call sites
13
syscalls used

Sections

.text544,856
.rodata16,431
.data.rel.ro7,648
.dynamic176
.dynsym384
.dynstr228
.rel.dyn41,920
.shstrtab72

Syscalls

abortsol_get_clock_sysvarsol_get_rent_sysvarsol_invoke_signed_rustsol_log_sol_log_datasol_log_pubkeysol_memcmp_sol_memcpy_sol_memset_sol_set_return_datasol_sha256sol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x23ab820,360
0x3ea3017,960
0x28b1015,720
0x3b3d813,240
0x13e5011,184
0x2ccf89,800
0x43c809,312
0x4ac889,032
0x492286,752
0x225105,400
0x829805,280
0x72c805,120

Strings in .rodata (29)

filename (bytes
DeadlockNotFoundTimedOutWooracle
~:~Iwooracle
Woo oracle price below range MIN
Instruction: SetOracleMaximumAgeInstruction: IncaseTokenGotStuckA signer constraint was violated
Woo pp exceed max notional valueAn owner constraint was violatedlibrary/core/src/slice/memchr.rs
index out of bounds: the len is AccountNotAssociatedTokenAccountProgramError caused by account: The given account is not mutableSrc Balance < LP Deposit Amount.src/extension/mod.rssrc/de/mod.rsfailed to fill whole buffer…
attempt to multiply with overflowassertion failed: mid <= self.len()
attempt to add with overflowInvalid bool representation: called `Option::unwrap()` on a `None` value/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/collections/btree/navigate.rsUnexpected varia…
kindcode
Kindline
Noneprograms/woofi/src/instructions/admin/claim_fee.rs/home/runner/work/platform-tools/platform-tools/out/rust/library/core/src/num/int_macros.rs
attempt to negate with overflowcalled `Result::unwrap()` on an `Err` valueprograms/woofi/src/instructions/admin/create_wooracle.rsprograms/woofi/src/instructions/admin/deposit_withdraw.rsprograms/woofi/src/instructions/a…
attempt to subtract with overflowprograms/woofi/src/instructions/query.rsprograms/woofi/src/instructions/swap.rsprograms/woofi/src/instructions/try_query.rsprograms/woofi/src/state/wooconfig.rswoopoolprograms/woofi/src/s…
nprograms/woofi/src/lib.rsanchor:idlInstruction: IdlCreateAccountInstruction: IdlResizeAccountdata_len should always be >= the current account spaceInstruction: IdlCloseAccountInstruction: IdlCreateBufferInstruction: Idl…
failed to fill whole buffera Display implementation returned an error unexpectedly/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/string.rscalled `Result::unwrap()` on an `Err` valuesrc/price_u…
attempt to add with overflow/home/runner/work/platform-tools/platform-tools/out/rust/library/core/src/iter/traits/accum.rssrc/extension/mod.rssrc/state.rs
attempt to add with overflowsrc/instruction.rssrc/state.rsa Display implementation returned an error unexpectedly/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/string.rs
attempt to add with overflowsrc/bpf_writer.rssrc/common.rscalled `Option::unwrap()` on a `None` value. Error Code: . Error Message: .ProgramError thrown in :ProgramError occurred. Error Code: Left:Right:Left: Right: Anch…
attempt to add with overflow
attempt to multiply with overflow
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyzsrc/encode.rscalled `Result::unwrap()` on an `Err` valuealready mutably borrowedsrc/ser/mod.rssrc/account_info.rssrc/entrypoint.rssrc/instruction.rssrc/pubkey.rsP…
Instruction trace length exceeded the maximum allowed per transactionAccount data reallocation was invalidIO Error: Failed to borrow a reference to account data, already borrowedThe instruction expected additional accoun…
called `Option::unwrap()` on a `None` value)..BorrowErrorBorrowMutError but the index is :panicked at '', `: {
[]library/core/src/fmt/num.rs0x000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939…
[...]byte index is out of bounds of `begin <= end ( is not a char boundary; it is inside ) of `library/core/src/str/mod.rslibrary/core/src/unicode/printable.rs
INOWY^_
)14:EFIJNOde\
library/core/src/unicode/unicode_data.rsTryFromIntErrorErrorUtf8Errorvalid_up_toerror_len

Instruction sample

Sampling recent transactions: the cron reads a few at a time from public RPC.

Full kit from the judge

Disassembly, discriminator map over the full corpus, writable and signer patterns, account sizes and owners, CPI targets: computed by the judge machine for this snapshot and published here.

Pot.
Every transfer in and out of the escrow, read from Solana.

0 USDC, no backers yet. The first chip-in opens this pot.

Attempts.
Match percentages and hashes. The source stays encrypted until the verdict.

No attempts yet. Submit a rebuild.

Upgrade history.
One snapshot per deploy slot. A submission is judged against the snapshot it targeted.

Deploy slotELF sha256SizeTaken
323,166,4527fab739a7f3334fb57f961fc5038081a89f1f0c75452ab43bdf6c9fff68467a0598.2 KB2026-11-02 20:45 UTC