Commit `1753bb3: Send re-observation request when re-broadcasting local observations` changed the processor code to automatically send re-observation requests. If multiple guardians do this around the same time that would lead to multiple re-observation requests for the same transaction. Deduplicate re-observation requests by keeping a cache of the requests that were received in the last 11 minutes. Any request that's already in the cache will not be forwarded to the chain-specific observation code. The 11 minute value was chosen because the guardians will send these requests approximately every 5 minutes. Also move the re-observation code into a standalone function so that it can be more easily tested. |
||
---|---|---|
.github | ||
.run | ||
algorand | ||
bridge_ui | ||
clients | ||
cosmwasm | ||
dashboards | ||
devnet | ||
docs | ||
e2e | ||
ethereum | ||
event_database | ||
lp_ui | ||
near | ||
node | ||
proto | ||
relayer/spy_relayer | ||
scripts | ||
sdk | ||
solana | ||
spydk/js | ||
terra | ||
testing | ||
third_party | ||
tilt_modules | ||
tools | ||
whitepapers | ||
.dockerignore | ||
.gitignore | ||
.spr.yml | ||
CONTRIBUTING.md | ||
DEVELOP.md | ||
Dockerfile.client | ||
Dockerfile.const | ||
Dockerfile.lint | ||
Dockerfile.proto | ||
LICENSE | ||
Makefile | ||
Makefile.help | ||
README.md | ||
SECURITY.md | ||
Tiltfile | ||
buf.gen.web.yaml | ||
buf.gen.yaml | ||
buf.lock | ||
buf.yaml | ||
generate-abi-celo.sh | ||
generate-abi.sh |
README.md
![Banner](/certusone/wormhole/media/commit/66bc9cb9d43b3f92584e0862c93f054f3c912370/docs/images/banner.jpg)
This monorepo contains the reference implementation of the Wormhole protocol.
To learn about how to use and build on Wormhole read the Docs or take a look at the xApp Book.
See Live Contracts for current testnet and mainnet deployments of the Wormhole smart contracts.
See DEVELOP.md for instructions on how to set up a local devnet, CONTRIBUTING.md for instructions on how to contribute to this project, and SECURITY.md for more information about our security audits and bug bounty program.
See docs/operations.md for node operator instructions.
⚠ This software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Or plainly spoken - this is a very complex piece of software which targets a bleeding-edge, experimental smart contract runtime. Mistakes happen, and no matter how hard you try and whether you pay someone to audit it, it may eat your tokens, set your printer on fire or startle your cat. Cryptocurrencies are a high-risk investment, no matter how fancy.