linera_execution

Constant LINERA_SOL

Source
pub const LINERA_SOL: &str = "// Copyright (c) Zefchain Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.0;\n\n// Precompile keys:\n// 0: try_call_application\n// 1: try_query_application\n\nlibrary Linera {\n  function try_call_application(bytes32 universal_address, bytes memory operation) internal returns (bytes memory) {\n    address precompile = address(0x0b);\n    bytes1 input1 = bytes1(uint8(0));\n    bytes memory input2 = abi.encodePacked(input1, universal_address, operation);\n    (bool success, bytes memory output) = precompile.call(input2);\n    require(success);\n    return output;\n  }\n\n  function try_query_application(bytes32 universal_address, bytes memory argument) internal returns (bytes memory) {\n    address precompile = address(0x0b);\n    bytes1 input1 = bytes1(uint8(1));\n    bytes memory input2 = abi.encodePacked(input1, universal_address, argument);\n    (bool success, bytes memory output) = precompile.call(input2);\n    require(success);\n    return output;\n  }\n\n}\n";
Expand description

The linera.sol library code to be included in solidity smart contracts using Linera features.