Go to file
Chirantan Ekbote 66bc9cb9d4 node: Deduplicate re-observation requests
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.
2022-08-25 10:12:15 -04:00
.github CI: install foundry before running tests 2022-08-09 20:02:47 +01:00
.run Commit .run IntelliJ shortcuts to repo 2020-11-23 17:21:41 +01:00
algorand algo/patch2: optins cannot have arguments 2022-08-23 16:07:36 -05:00
bridge_ui bridge_ui: Recovery should await fetchSignedVAA fix (#1456) 2022-08-23 15:48:55 +02:00
clients near: initial commit 2022-08-24 15:11:05 -04:00
cosmwasm solana/terra: delete generate_governance 2022-08-24 16:27:04 +02:00
dashboards add Prometheus + Grafana for Guardian metrics 2022-08-04 16:03:56 -04:00
devnet near: initial commit 2022-08-24 15:11:05 -04:00
docs docs: Clarify objective in governor whitepaper 2022-08-12 14:58:22 +01:00
e2e Add experimental e2e browser fixture 2021-12-13 15:38:17 +01:00
ethereum ethereum: Check that bytes32 fits into 20 bytes before truncating (#1457) 2022-08-23 14:41:03 -04:00
event_database Updated allow list to include native & stables (#1436) 2022-08-16 10:30:08 -05:00
lp_ui lp_ui: update docs 2022-06-04 16:15:42 -04:00
near near/contracts-2: revert this back to 2021 since 2022 breaks a lot of tools 2022-08-24 15:11:05 -04:00
node node: Deduplicate re-observation requests 2022-08-25 10:12:15 -04:00
proto More governor code review rework (#1404) 2022-08-09 23:22:14 -04:00
relayer/spy_relayer spy_relayer: Terra 2 support (#1417) 2022-08-11 16:47:50 -05:00
scripts near: initial commit 2022-08-24 15:11:05 -04:00
sdk near/sdk: remove unused import @ gusc1a-ossdev-jsl5 2022-08-24 14:28:25 -05:00
solana solana: Add solana sdk upgrade instructions 2022-08-17 15:30:01 +01:00
spydk/js sdk/js: remove logs in tests 2022-07-15 14:36:46 -04:00
terra solana/terra: delete generate_governance 2022-08-24 16:27:04 +02:00
testing tilt: split out ci test containers 2022-07-15 14:36:46 -04:00
third_party Move from ADD to COPY on Dockerfiles 2022-07-13 09:27:15 -04:00
tilt_modules Devnet arguments for BigTable connection. 2021-08-05 12:53:56 +00:00
tools Switch tools to standalone cobra-cli dependency (#936) 2022-08-05 13:49:57 -04:00
whitepapers docs: Clarify objective in governor whitepaper 2022-08-12 14:58:22 +01:00
.dockerignore pyth2wormhole: build + deploy program into local devnet 2021-09-09 14:39:31 +02:00
.gitignore ethereum: Init foundry project and add installer for native solc 2022-08-09 20:02:47 +01:00
.spr.yml Add .spr.yml config 2021-12-13 15:38:17 +01:00
CONTRIBUTING.md Switch terra2 to coswasm 2022-08-11 21:54:25 +01:00
DEVELOP.md node: optional chains in tilt 2022-07-11 10:35:00 -04:00
Dockerfile.client solana: bump: Rust nightly-2022-07-12, SOL SDK v1.10.31, rust container 1.60 2022-08-17 15:30:01 +01:00
Dockerfile.const near: initial commit 2022-08-24 15:11:05 -04:00
Dockerfile.lint Better lint and formatting (#1263) 2022-06-21 12:18:16 -07:00
Dockerfile.proto sdk/js: publish separate proto packages 2022-07-13 10:04:23 -04:00
LICENSE staging/algorand: apply global Apache 2 license 2022-02-05 09:30:28 -05:00
Makefile guardiand version is always development 2022-05-02 17:52:49 -04:00
Makefile.help Add scripts and readme to deploy and verify terra contracts 2022-04-05 17:42:07 +02:00
README.md Add security to readme 2022-06-29 10:25:00 -04:00
SECURITY.md Add new sections to SECURITY.md and CONTRIBUTING.md (#1408) 2022-08-11 15:33:24 -04:00
Tiltfile near: initial commit 2022-08-24 15:11:05 -04:00
buf.gen.web.yaml sdk/js: publish separate proto packages 2022-07-13 10:04:23 -04:00
buf.gen.yaml node: rename bridge/ to node/ 2021-08-26 11:36:36 +02:00
buf.lock proto: fix newly broken version 2022-06-14 16:20:19 -04:00
buf.yaml proto: fix newly broken version 2022-06-14 16:20:19 -04:00
generate-abi-celo.sh Celo testnet support (#1051) 2022-04-28 12:20:38 -04:00
generate-abi.sh Celo testnet support (#1051) 2022-04-28 12:20:38 -04:00

README.md

Banner

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.