3c6702b6f7
Add a RawMessage type that can be used to defer parsing parts of a payload, similar to the `json.RawMessage` from Go. The implementation is inspired by `serde_json::RawValue`, which does a similar thing. When serializing, RawMessage will serialize to a base64-encoded string if it detects that the data format is human readable (like JSON). Otherwise it will simply forward the raw bytes to the serializer. RawMessage has both borrowed and boxed versions. The borrowed version is the most efficient as it enables zero-copy handling of the input data but also requires that the input data already contains raw bytes and is not suitable when dealing with human-readable formats like JSON. The boxed version is more flexible as it supports byte slices, base64- encoded strings, and byte sequences but is slightly less efficient as it requires copying or decoding the input data. |
||
---|---|---|
.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.