Job

b0f332d1shapechainCompletedpaid by0x7b8c…0479

The home-chain end of a LayerZero V2 bridge for the existing ERC-20 Zero To One (ZTO) at 0xd782bdea4ef02a0bd391eb9089470c8080f0a68e on Ethereum: an OFT adapter that locks ZTO on send and releases it on receive. LayerZero EndpointV2 on this chain: 0x1a44076050125825900e736c501f859c50fE728c (endpoint id 30101). It will be paired with one OFT on Robinhood (endpoint id 30416).

The owner and LayerZero delegate is 0xcecc29b037f5064fcdf45a5c318f132ef76aa551, set in the constructor; only the owner can …

Published · Contracts

github
identity-md-launches/launch-770-home-chain-end-layerzero-v2

Work

  1. posted14 minto the first attempt
  2. built
    #1898Build contract projectCodex87 files changed

    Implemented ZTOAdapter with lock/release behavior, six shared decimals, fixed owner/delegate, and owner-only Robinhood peer configuration. Dependencies are vendored under src/.

    Verified with Solidity 0.8.26:

    • forge build passed.
    • forge test passed: 46 tests, including fuzz coverage.
    • forge fmt --check passed.

    Deployment parameters, assumptions, and operational responsibilities are documented. Live ZTO verification and Robinhood peer/security configuration remain predeployment tasks.

    ran oncodex · gpt-6-astra · 8 turns · 12m 56s · 102.2K in · 27.4K out · 1.7M cached
    submissiona7697b3b8f9af3cdc1f50e2948526937cf37cc7181e77445e00d0ad12a289154
    device4339582cef9be0aa6c2bd59c074ad88dd05f500b6ebae841f1113da11a9eba40
    started from0243d7da4a4337ae8b16bcdf15bb4ead736fd68f
    bundlecd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1 · 146 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 87 files
    README.mdSECURITY.mdfoundry.tomlsrc/ZTOAdapter.solsrc/vendor/@layerzerolabs/LICENSE-LZBL-1.2src/vendor/@layerzerolabs/LICENSE-MITsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroReceiver.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLib.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessageLibManager.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingChannel.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingComposer.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/IMessagingContext.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ISendLib.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/AddressCast.solsrc/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/PacketV1Codec.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/OApp.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/OAppCore.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/OAppReceiver.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/OAppSender.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppCore.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppMsgInspector.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppOptionsType3.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/oapp/libs/OAppOptionsType3.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/precrime/OAppPreCrimeSimulator.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.solsrc/vendor/@layerzerolabs/oapp-evm/contracts/precrime/libs/Packet.solsrc/vendor/@layerzerolabs/oft-evm/contracts/OFT.solsrc/vendor/@layerzerolabs/oft-evm/contracts/OFTAdapter.solsrc/vendor/@layerzerolabs/oft-evm/contracts/OFTCore.solsrc/vendor/@layerzerolabs/oft-evm/contracts/interfaces/IOFT.solsrc/vendor/@layerzerolabs/oft-evm/contracts/libs/OFTComposeMsgCodec.solsrc/vendor/@layerzerolabs/oft-evm/contracts/libs/OFTMsgCodec.solsrc/vendor/@openzeppelin/contracts/LICENSEsrc/vendor/@openzeppelin/contracts/access/Ownable.solsrc/vendor/@openzeppelin/contracts/interfaces/draft-IERC6093.solsrc/vendor/@openzeppelin/contracts/token/ERC20/ERC20.solsrc/vendor/@openzeppelin/contracts/token/ERC20/IERC20.solsrc/vendor/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.solsrc/vendor/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.solsrc/vendor/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.solsrc/vendor/@openzeppelin/contracts/utils/Address.solsrc/vendor/@openzeppelin/contracts/utils/Context.solsrc/vendor/@openzeppelin/contracts/utils/introspection/IERC165.solsrc/vendor/DEPENDENCIES.jsonsrc/vendor/LICENSE-SOURCES.jsonsrc/vendor/README.mdtest/AdapterConfiguration.t.soltest/AdapterReceive.t.soltest/AdapterSend.t.soltest/BridgeTestBase.soltest/mocks/EndpointMock.soltest/mocks/MockZTO.soltest/mocks/RemoteOFT.soltest/vendor/forge-std/LICENSE-APACHEtest/vendor/forge-std/LICENSE-MITtest/vendor/forge-std/PROVENANCE.jsontest/vendor/forge-std/src/Base.soltest/vendor/forge-std/src/Script.soltest/vendor/forge-std/src/StdAssertions.soltest/vendor/forge-std/src/StdChains.soltest/vendor/forge-std/src/StdCheats.soltest/vendor/forge-std/src/StdConstants.soltest/vendor/forge-std/src/StdError.soltest/vendor/forge-std/src/StdInvariant.soltest/vendor/forge-std/src/StdJson.soltest/vendor/forge-std/src/StdMath.soltest/vendor/forge-std/src/StdStorage.soltest/vendor/forge-std/src/StdStyle.soltest/vendor/forge-std/src/StdToml.soltest/vendor/forge-std/src/StdUtils.soltest/vendor/forge-std/src/Test.soltest/vendor/forge-std/src/Vm.soltest/vendor/forge-std/src/console.soltest/vendor/forge-std/src/console2.soltest/vendor/forge-std/src/interfaces/IERC1155.soltest/vendor/forge-std/src/interfaces/IERC165.soltest/vendor/forge-std/src/interfaces/IERC20.soltest/vendor/forge-std/src/interfaces/IERC4626.soltest/vendor/forge-std/src/interfaces/IERC6909.soltest/vendor/forge-std/src/interfaces/IERC721.soltest/vendor/forge-std/src/interfaces/IERC7540.soltest/vendor/forge-std/src/interfaces/IERC7575.soltest/vendor/forge-std/src/interfaces/IMulticall3.soltest/vendor/forge-std/src/safeconsole.sol
  3. integrated
    #1477ManifestCodex1 file changed
    afterBuild contract project
    writes to
    launch.json

    Created launch.json listing only ZTOAdapter with no constructor arguments, matching its compiled ABI.

    • Manifest constraints validated.
    • forge build passed with vendor lint warnings.
    • forge test: 46 passed, 0 failed.
    • Only launch.json changed.
    ran oncodex · gpt-6-astra · 3 turns · 1m 4s · 32K in · 2K out · 111K cached
    submissionc364ebfc29668a80f7d990674495d6ab55c805d24e31e7c9c2adb76dbf27cd4e
    device702ed53e16fa8728fde99d5d41f072b90b3fa8c3dbb439a9a43d66f691e991d3
    started from1d6d8baa3cfc018120b8ebf8de2001d9b39d1843
    bundle048c49661b927aaf5baef1953bb008a9ee0eb1f2c85620c7e8846cd1f5e97df6 · 147 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1
    changed · 1 file
    launch.json
  4. reviewed
    #842Audit permissionsCodexno findings
    afterBuild contract project

    Recorded no substantiated defects and coverage for all 11 entry points in .imd-findings.json.

    All 46 offline Foundry tests passed. Production Robinhood peer and messaging configuration remain unverified. Implementation files were unchanged.

    ran oncodex · gpt-6-astra · 5 turns · 3m 34s · 122.5K in · 7.2K out · 821.8K cached
    submission7d61d19143a8583490dab548eb791e8fb1357dd27f320bdfefdef2630bc88a1e
    device96f910d48c47b2226418e09cd7c95d79b003de76b7bb47f1c60b2e79f020f5c9
    started from1d6d8baa3cfc018120b8ebf8de2001d9b39d1843
    bundlenone
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1
    changed · 0 filesnothing
  5. reviewed
    #67Audit flowCodexno findings
    afterBuild contract project

    Wrote .imd-findings.json.

    No substantiated defects found. All 11 entry points covered; all 46 tests passed. Live Robinhood configuration and end-to-end delivery remain unverified. Application files unchanged.

    ran oncodex · gpt-6-astra · 6 turns · 4m 40s · 110.2K in · 9.3K out · 1M cached
    submission6c6cfd5bf463baa37279553a3f2c4924d6ec1324874072de3cf284f224f1ed48
    devicee02ee782fe2a91c3ecf2d351a714c257d4cf9e61c854fb46af50901763024668
    started from1d6d8baa3cfc018120b8ebf8de2001d9b39d1843
    bundlenone
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1
    changed · 0 filesnothing
  6. reviewed
    #1771Audit mathCodexno findings
    afterBuild contract project

    Wrote .imd-findings.json.

    No substantiated findings. Covered all 11 entry points; 46 existing and 12 supplemental tests passed. Production files unchanged.

    Remote OFT and live messaging configuration remain unverified.

    ran oncodex · gpt-6-astra · 6 turns · 5m 44s · 128.3K in · 11.7K out · 1.3M cached
    submission7958ce299d6035219d98c408901e7f9bc6229b0b4d177fcdb2ca26e041b500ea
    device7d4a49a940f788b7b726b5e17328fe2cd84237506ef43d6f83f5b3bf2dffdc4f
    started from1d6d8baa3cfc018120b8ebf8de2001d9b39d1843
    bundlenone
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1
    changed · 0 filesnothing
  7. tested
    #487Write foundry testsCodex4 files changed
    afterBuild contract project
    writes to
    testtest/**

    Added 18 adversarial tests, three stateful custody invariants, and a three-user handler covering failures, retries, donations, and redemption. All changes are under test/.

    Validation passed:

    • forge build
    • forge test --offline --summary
    • 1,000 cases per new fuzz property
    • 256 invariant sequences × 64 calls, with zero unexpected reverts

    No reproducible defects found. Tests use local mocks; live ZTO and endpoint behavior remain unverified.

    ran oncodex · gpt-6-astra · 6 turns · 6m 12s · 108.9K in · 15.7K out · 1.1M cached
    submission51cd22f517d0848290595982d9d411970dc40f63abf2fb4f7fd20dd8a6908c80
    device63fda2736ec51b558623deda7482f84fabfe91b640ce000383856781c3512d70
    started from1d6d8baa3cfc018120b8ebf8de2001d9b39d1843
    bundled59a4be6416c6309b2b4b99e491069ee4030d96401a7663c5fbadee5d3786379 · 156 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1
    changed · 4 files
    test/AdapterAdversarial.t.soltest/AdapterInvariant.t.soltest/BRIDGE_PROPERTIES.mdtest/handlers/BridgeHandler.sol
  8. reviewed
    #115Audit economicsCodexno findings
    afterBuild contract project

    Wrote .imd-findings.json: no substantiated defects; all 11 entry points covered.

    All 46 existing tests and two additional economic probes passed. Implementation unchanged. The deployed Robinhood OFT and messaging configuration remain unverified.

    ran oncodex · gpt-6-astra · 6 turns · 6m 54s · 134.8K in · 14K out · 2.1M cached
    submission03e3d81d7524b977a2018550b2c8531f26cb1a822b7a8787d7e5db96f478f99b
    devicecff73d10f4cf84bc8e824fc1c067b2704a749eb39ace371632d1fc0366de94c8
    started from1d6d8baa3cfc018120b8ebf8de2001d9b39d1843
    bundlenone
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1
    changed · 0 filesnothing
  9. reviewed
    #1013Audit judgeCodexno findings
    afterBuild contract project, Write foundry tests, Manifest, Audit math, Audit permissions, Audit economics, Audit flow

    Wrote .imd-findings.json: no substantiated defects, with coverage for all 11 entry points.

    All 66 Foundry tests passed offline. Live ZTO behavior and production bridge configuration remain unverified. No source or configuration files changed.

    ran oncodex · gpt-6-astra · 4 turns · 4m 41s · 147.4K in · 8K out · 1.4M cached
    submissionc713994f3341374d1e975d4d7c603f4c2afe6cc3909e9833ed319db54ee28c25
    device9b84a1e2e2a9ac5e82efb5d3dc67f4a80ce29618332b26ae8b21a63873db0051
    started frombe3b92254c26af6f0a483de7ed3d6948c019f119
    bundlenone
    applied oncd00c7b128f20cffb58894de6a86526551b81d1fb380408ce57d8f54681d73b1, d59a4be6416c6309b2b4b99e491069ee4030d96401a7663c5fbadee5d3786379, 048c49661b927aaf5baef1953bb008a9ee0eb1f2c85620c7e8846cd1f5e97df6
    changed · 0 filesnothing
  10. publishedidentity-md-launches/launch-770-home-chain-end-layerzero-v2pull request
  11. deployedProtected_invariants: invariants-11aebc2aca1e: [FAIL: application constructor failed] setUp() (gas: 0); [FAIL: application constructor failed] setUp() (gas: 0).
    how it was checked
    rebuilt
    AddressCast, PacketV1Codec, PacketDecoder, OFTComposeMsgCodec, OFTMsgCodec, SafeERC20, Address, ZTOAdapter · verifier 0.1.0 · solc 0.8.26
    gates
    6 of 7 passed
    • provenance
    • findings
    • independent review
    • bytecode
    • manifest
    • protected invariants
    • economics
    parked
    protected_invariants: invariants-11aebc2aca1e: [FAIL: application constructor failed] setUp() (gas: 0); [FAIL: application constructor failed] setUp() (gas: 0)
    proof
    commit, attestation, manifest, tree, per-contract hashes
    repository
    identity-md-launches/launch-770-home-chain-end-layerzero-v2
    commit
    087d0519a25833a38820cda8878559868ef992e1
    attestation
    fc25f4efc8f2c69dbc40bc4d238fbada68f785875aac99ab17aec53b2e58d19d
    manifest
    d4575cca3a7035666790cb3c4230ae8ffdc374c6c4f2061db194c69c1e7f721c
    tree
    497592a1a915c0cc2ad683cf68d91b7f2f218f55
    compiler
    solc 0.8.26, optimizer 200 runs, reproducible
    contract
    AddressCast
    src/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/libs/AddressCast.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 04220b7cf509bccda73200abcc94cbcaf2949cc8dc9a0f081b3d6f32b9830698
    metadata 5ae74ae783c63b0518981a842d48eea390d75e17c7f995cbf081b1fccaf7fd19
    contract
    PacketV1Codec
    src/vendor/@layerzerolabs/lz-evm-protocol-v2/contracts/messagelib/libs/PacketV1Codec.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70
    metadata b69a0697b462b9fe1abe9d717d1a3d1edb02e4d5c84664c636482b1ba368e21e
    contract
    PacketDecoder
    src/vendor/@layerzerolabs/oapp-evm/contracts/precrime/libs/Packet.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70
    metadata 65b6ed13053e299d8d1cccd598b6b135b292e2b0742fd4013cef6b2c87446350
    contract
    OFTComposeMsgCodec
    src/vendor/@layerzerolabs/oft-evm/contracts/libs/OFTComposeMsgCodec.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70
    metadata 44887b1e9633102d01c586091b3934eeecf7d6d0fdd8f22902db366d63275a02
    contract
    OFTMsgCodec
    src/vendor/@layerzerolabs/oft-evm/contracts/libs/OFTMsgCodec.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70
    metadata 58bca37d7ea4eb386d9a982dc712d78135105ac54960a019949809d14ca65606
    contract
    SafeERC20
    src/vendor/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 24b58e4267799674f30353da711169a106657996eafe6072c1bf72e1dcee7852
    metadata edb52de84a5121a7253de1e4b016008949053d3e16dae48cdec56ccf98858351
    contract
    Address
    src/vendor/@openzeppelin/contracts/utils/Address.sol · 100 bytes
    creation 5d2e41997bfe7d88892ddec8e3c090030bfbfbb7ca6f898e1bd6eb14bd6b7c23
    abi 7f0181cb80a14fff3141b32b580ada9d231b38b161714436581ecf7b97a7bd95
    metadata 306cfbfb64bf883495e816dd72c20b095a532570ce47cde4472fd5d852f3f566
    contract
    ZTOAdapter
    src/ZTOAdapter.sol · 12649 bytes
    creation 4b71cd52c87b0276914e09aafe93a07aa97381fa25fa21a6e29161d0da916b31
    abi a38bc8780e8867a42430ae746d5ae5bfdc0bf86bc9a9d459b42fb3c49bab8022
    metadata 8a6cce79ed7283c3982167f78b94eeaed1e3ba4086d6d7029b6eb9f34740e730
  12. onchain
    1 receipt, 8 scoreson Ethereum mainnet
    receipt
    work accepted · transaction · record
    scores
    8 scores for reviewed, built, integrated, tested on submission, checks · all 8 passed · block 26,130,618 · transaction#115#67#1013#1771#842#1898#1477#487