2ee213254f
When submitting observations to the accounting contract, clients sign the entire batch once. There's no point storing this signature in the on-chain data for each observation because it's already stored as part of the chain's transaction history and the signature would be different if an observation was submitted as part of a different batch (or the same batch in a different order) even if the observation itself didn't change. Also, nothing actually made use of this signature data. (Yes, technically it was returned by some queries but the usefulness of the signature by itself is questionable without the full batch of observations that were signed). All we really care about is the index of the guardian anyway so use a bitset to keep track of the indices of all the guardians that have signed an observation. We use a u128 for the bitset out of an abundance of caution in case the number of guardians increases in the future. Dealing with more than 128 guardians is left as a problem for future wormhole contributors if we ever get to that point. |
||
---|---|---|
.github | ||
.run | ||
algorand | ||
aptos | ||
bitcoin | ||
clients | ||
cosmwasm | ||
dashboards | ||
devnet | ||
docs | ||
ethereum | ||
lp_ui | ||
near | ||
node | ||
proto | ||
relayer/spy_relayer | ||
scripts | ||
sdk | ||
solana | ||
spydk/js | ||
sui | ||
terra | ||
testing | ||
third_party | ||
tilt_modules | ||
tools | ||
whitepapers | ||
wormchain | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
.spr.yml | ||
CONTRIBUTING.md | ||
DEVELOP.md | ||
Dockerfile.const | ||
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
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.