├── contracts
│ │
│ ├── core
│ │ ├── mailbox
│ │ └── va
│ │
│ ├── hooks
│ │ ├── aggregate
│ │ ├── fee # protocol fee
│ │ ├── merkle
│ │ ├── pausable
│ │ ├── routing
│ │ ├── routing-custom
│ │ └── routing-fallback
│ │
│ ├── igps # also this is a part of `hook`
│ │ ├── core
│ │ └── oracle
│ │
│ ├── isms
│ │ ├── aggregate
│ │ ├── multisig
│ │ ├── pausable
│ │ └── routing
│ │
│ ├── mocks # for testing
│ │ ├── mock-hook
│ │ ├── mock-ism
│ │ └── mock-msg-receiver
│ │
│ └── warp
│ ├── cw20
│ └── native
│
├── integration-test
│
├── packages
│ │
│ ├── connection # same as `MailboxClient` of evm implementation
│ ├── interface # package for contract interfaces (external)
│ ├── ownable
│ ├── pausable
│ └── router
│
├── scripts # useful scripts for development (e.g. code uploading. contract deployment)
│
└── ts
└── sdk # typescript sdk for contract integration. (auto generated via ts-codegen)