Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,17 @@ bytecode_hash = "none"
cbor_metadata = false

[dependencies]
"rainlang-interface" = "0.2.8"
"rainlang-interface" = "0.2.9"
"forge-std" = "1.16.2"
"@openzeppelin-contracts" = "5.6.1"
"@pythnetwork-pyth-sdk-solidity" = "4.3.1"
"rainlang" = "0.2.1"
"rain-metadata" = "0.1.0"
"rain-sol-codegen" = "0.1.36"
"rain-math-float" = "0.1.1"
"rain-lib-typecast" = "0.1.0"
"rain-deploy" = "0.1.7"
"rainlang" = "0.2.6"
"rain-metadata" = "0.1.7"
"rain-sol-codegen" = "0.1.37"
"rain-math-float" = "0.2.1"
"rain-math-float-deploy" = "0.1.2"
"rain-lib-typecast" = "0.1.4"
"rain-deploy" = "0.1.10"
"rain-extrospection" = "0.1.14"
"rain-intorastring" = "0.1.0"
"rain-lib-hash" = "0.1.0"
Expand Down
15 changes: 8 additions & 7 deletions remappings.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
@openzeppelin-contracts-5.6.1/=dependencies/@openzeppelin-contracts-5.6.1/
@pythnetwork-pyth-sdk-solidity-4.3.1/=dependencies/@pythnetwork-pyth-sdk-solidity-4.3.1/
forge-std-1.16.2/=dependencies/forge-std-1.16.2/
rain-deploy-0.1.7/=dependencies/rain-deploy-0.1.7/
rain-deploy-0.1.10/=dependencies/rain-deploy-0.1.10/
rain-extrospection-0.1.14/=dependencies/rain-extrospection-0.1.14/
rain-intorastring-0.1.0/=dependencies/rain-intorastring-0.1.0/
rain-lib-hash-0.1.0/=dependencies/rain-lib-hash-0.1.0/
rain-lib-memkv-0.1.0/=dependencies/rain-lib-memkv-0.1.0/
rain-lib-typecast-0.1.0/=dependencies/rain-lib-typecast-0.1.0/
rain-lib-typecast-0.1.4/=dependencies/rain-lib-typecast-0.1.4/
rain-math-binary-0.1.4/=dependencies/rain-math-binary-0.1.4/
rain-math-float-0.1.1/=dependencies/rain-math-float-0.1.1/
rain-metadata-0.1.0/=dependencies/rain-metadata-0.1.0/
rain-sol-codegen-0.1.36/=dependencies/rain-sol-codegen-0.1.36/
rain-math-float-0.2.1/=dependencies/rain-math-float-0.2.1/
rain-math-float-deploy-0.1.2/=dependencies/rain-math-float-deploy-0.1.2/
rain-metadata-0.1.7/=dependencies/rain-metadata-0.1.7/
rain-sol-codegen-0.1.37/=dependencies/rain-sol-codegen-0.1.37/
rain-solmem-0.1.28/=dependencies/rain-solmem-0.1.28/
rain-string-0.2.0/=dependencies/rain-string-0.2.0/
rain-tofu-erc20-decimals-0.1.1/=dependencies/rain-tofu-erc20-decimals-0.1.1/
rainlang-0.2.1/=dependencies/rainlang-0.2.1/
rainlang-interface-0.2.8/=dependencies/rainlang-interface-0.2.8/
rainlang-0.2.6/=dependencies/rainlang-0.2.6/
rainlang-interface-0.2.9/=dependencies/rainlang-interface-0.2.9/
6 changes: 3 additions & 3 deletions script/Build.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ pragma solidity =0.8.25;

import {Script} from "forge-std-1.16.2/src/Script.sol";
import {PythWords} from "src/concrete/PythWords.sol";
import {LibFs} from "rain-sol-codegen-0.1.36/src/lib/LibFs.sol";
import {LibCodeGen} from "rain-sol-codegen-0.1.36/src/lib/LibCodeGen.sol";
import {LibGenParseMeta} from "rainlang-interface-0.2.8/src/lib/codegen/LibGenParseMeta.sol";
import {LibFs} from "rain-sol-codegen-0.1.37/src/lib/LibFs.sol";
import {LibCodeGen} from "rain-sol-codegen-0.1.37/src/lib/LibCodeGen.sol";
import {LibGenParseMeta} from "rainlang-interface-0.2.9/src/lib/codegen/LibGenParseMeta.sol";
import {LibPythSubParser} from "src/lib/parse/LibPythSubParser.sol";
import {PARSE_META_BUILD_DEPTH} from "src/abstract/PythSubParser.sol";

Expand Down
4 changes: 2 additions & 2 deletions script/Deploy.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ pragma solidity =0.8.25;

import {Script} from "forge-std-1.16.2/src/Script.sol";
import {PythWords} from "../src/concrete/PythWords.sol";
import {IMetaBoardV1_2} from "rain-metadata-0.1.0/src/interface/unstable/IMetaBoardV1_2.sol";
import {LibDescribedByMeta} from "rain-metadata-0.1.0/src/lib/LibDescribedByMeta.sol";
import {IMetaBoardV1_2} from "rain-metadata-0.1.7/src/interface/unstable/IMetaBoardV1_2.sol";
import {LibDescribedByMeta} from "rain-metadata-0.1.7/src/lib/LibDescribedByMeta.sol";

contract Deploy is Script {
function run() public {
Expand Down
63 changes: 35 additions & 28 deletions soldeer.lock
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ integrity = "5fb4325b60d7d4194bd0481e2f94398cf1d9c6561dd12a66fb2748ef4a68205f"

[[dependencies]]
name = "rain-deploy"
version = "0.1.7"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-deploy/0_1_7_19-08-2026_05:57:12_rain.zip"
checksum = "d0e868184ad16fc6abb704bb1dddab57ebf2beb042529690e030568f5c81a9b3"
integrity = "e51da6f2b3a0f427a0aac5d7714bed2027f5cf0f39b31f0692e9623ceeaa47f2"
version = "0.1.10"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-deploy/0_1_10_14-09-2026_11:24:34_rain.zip"
checksum = "a8706cc19f6a96f69491e9816e0ec4bd7229bc7f7f541f93c5a51af3b95fb6dd"
integrity = "b3b3fac62525531638135a8d8b731dfe8749e98b28ac5f61a2cd878d30adb047"

[[dependencies]]
name = "rain-extrospection"
Expand Down Expand Up @@ -56,10 +56,10 @@ integrity = "f2a63c0466c50cbfb3b3545094890c74dd1116b55fcb738bb631471252cee5b8"

[[dependencies]]
name = "rain-lib-typecast"
version = "0.1.0"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-lib-typecast/0_1_0_12-05-2026_16:31:39_rain.lib.zip"
checksum = "5c0419501e4c763ef161a3489934af192219f994cb2c9187699bc4dee0b4e2bb"
integrity = "092781f87fd9227c4c95aafde59300c503d6a9a355beaeb5c5732fe6e36676d6"
version = "0.1.4"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-lib-typecast/0_1_4_21-08-2026_15:46:41_rain.lib.zip"
checksum = "ce1339c0a06de699508247dc882c5aaf715ab4ae67d53336ae72ae88810f5540"
integrity = "eeb92ffe224186151d210137324a69e6154947bf987c18ea8b3233174291ce5c"

[[dependencies]]
name = "rain-math-binary"
Expand All @@ -70,24 +70,31 @@ integrity = "857d22060d058ec173e88448c2d44f0cb884b2381669d0dbe1d3bebb168715ea"

[[dependencies]]
name = "rain-math-float"
version = "0.1.1"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-math-float/0_1_1_13-05-2026_13:48:34_rain.math.zip"
checksum = "322956f272ae3073ee02b0e7301b8834f08f2de62bcd6c309c44e946d7cd7056"
integrity = "dccdd4406a37db6af690872b805084a7dbe5211c57961a61ef083a7912ddbdc9"
version = "0.2.1"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-math-float/0_2_1_08-09-2026_07:26:32_rain.math.zip"
checksum = "d9433a80d1a546b73e80ba3ccda6e2a88e2986222522a6526173a1a0d5d13bef"
integrity = "c24a336446be885b680026d4e7d937e6d4559997a2cb0ee385f4c9be95990d77"

[[dependencies]]
name = "rain-math-float-deploy"
version = "0.1.2"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-math-float-deploy/0_1_2_09-09-2026_04:42:49_rain.math.float.zip"
checksum = "8aa5a1fd54d85cbaf51e23aad123b7ed85b3ae5df02d0785124cf27f5f4473df"
integrity = "0b67be7c1454da7b0560262fdd1aee7b41f2077c7ebbb8c4e96abc6920376363"

[[dependencies]]
name = "rain-metadata"
version = "0.1.0"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-metadata/0_1_0_12-05-2026_20:20:51_rain.zip"
checksum = "801d2b97b393d346c19a2f4f454d0279ba8f7d0f81fa3eb4fe8609da7291203d"
integrity = "f17f10aa50e9e2b254c689c83f41b3cabab81c95bad06424b9b3e9c92d02e577"
version = "0.1.7"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-metadata/0_1_7_21-08-2026_20:06:55_rain.zip"
checksum = "6d5709e3f5f926ad6c260820b423b370d9c1f3fe0ef9d5e0b7d5cca19ed8e85e"
integrity = "176af355c734ef954434b1fc60907b42bda8b55d5cf540eefb87b574f8148b80"

[[dependencies]]
name = "rain-sol-codegen"
version = "0.1.36"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-sol-codegen/0_1_36_18-08-2026_09:20:33_rain.sol.zip"
checksum = "b5d101d46941a95fee441224e101004139814ae9afa2793138874bd7e93991ff"
integrity = "164e2655ac8b66bcf52c799421706d3dfaab987addaaeadd74574e70fd2eb6ed"
version = "0.1.37"
url = "https://soldeer-revisions.s3.amazonaws.com/rain-sol-codegen/0_1_37_25-08-2026_17:26:08_rain.sol.zip"
checksum = "d13ebfc9e769dcd96bf43bd5e0ff9c2894f877949ce5492ae985e70ea10f30b2"
integrity = "0044af31422ea2e98c480e61c7eba091fbe3bd72c6bc9dcddd3b7457aa6d22f4"

[[dependencies]]
name = "rain-solmem"
Expand All @@ -112,14 +119,14 @@ integrity = "9e1fccf893dd0d90aeb445c78f9eee3904bc50287ff1da30b954508f18412cd2"

[[dependencies]]
name = "rainlang"
version = "0.2.1"
url = "https://soldeer-revisions.s3.amazonaws.com/rainlang/0_2_1_07-09-2026_13:31:04_rainlang.zip"
checksum = "4230c46a1908e17626f0f2617882ad671e0b706714f8e829e79da9b209ec60ba"
integrity = "5eba79d0a1c898102de60ca53f31ec12df18e92f5d1cbb28884a469c5c13b020"
version = "0.2.6"
url = "https://soldeer-revisions.s3.amazonaws.com/rainlang/0_2_6_14-09-2026_12:37:13_rainlang.zip"
checksum = "7746995b3d636a4200c015364bcd7d904444b952ce5d2aa3787551330ce61955"
integrity = "12abcc719f018dc46a1ef7f973e685687bd17c804c90cfcc39bcb4c2f930843b"

[[dependencies]]
name = "rainlang-interface"
version = "0.2.8"
url = "https://soldeer-revisions.s3.amazonaws.com/rainlang-interface/0_2_8_06-09-2026_08:58:04_rainlang.zip"
checksum = "aae7d5721cdd21240f5dca7b1d6a861101431ead94db6def6a134932b54e7947"
integrity = "508259e321ecc0ad9b0ff1a8b0ac1e66a8858e599ce7328e06b6a4e7d3ae8889"
version = "0.2.9"
url = "https://soldeer-revisions.s3.amazonaws.com/rainlang-interface/0_2_9_13-09-2026_19:05:27_rainlang.zip"
checksum = "a5f47c60fe86ba2e7183bcb30c4bac4c86e2c9b5bad1544f3bc04c98cf282d95"
integrity = "f4e56272672f10c3988b1bd354909f4b08f06a62ca46f4a566234020226f7d6b"
4 changes: 2 additions & 2 deletions src/abstract/PythExtern.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd
pragma solidity ^0.8.25;

import {BaseRainlangExtern, OperandV2, StackItem} from "rainlang-0.2.1/src/abstract/BaseRainlangExtern.sol";
import {BaseRainlangExtern, OperandV2, StackItem} from "rainlang-0.2.6/src/abstract/BaseRainlangExtern.sol";
import {LibOpPythPrice} from "../lib/op/LibOpPythPrice.sol";
import {LibConvert} from "rain-lib-typecast-0.1.0/src/LibConvert.sol";
import {LibConvert} from "rain-lib-typecast-0.1.4/src/LibConvert.sol";
import {OPCODE_FUNCTION_POINTERS, INTEGRITY_FUNCTION_POINTERS} from "../generated/PythWordsPointers.sol";

uint256 constant OPCODE_PYTH_PRICE = 0;
Expand Down
10 changes: 5 additions & 5 deletions src/abstract/PythSubParser.sol
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
pragma solidity ^0.8.25;

import {OPCODE_PYTH_PRICE} from "./PythExtern.sol";
import {OperandV2, BaseRainlangSubParser} from "rainlang-0.2.1/src/abstract/BaseRainlangSubParser.sol";
import {LibParseOperand} from "rainlang-0.2.1/src/lib/parse/LibParseOperand.sol";
import {OperandV2, BaseRainlangSubParser} from "rainlang-0.2.6/src/abstract/BaseRainlangSubParser.sol";
import {LibParseOperand} from "rainlang-0.2.6/src/lib/parse/LibParseOperand.sol";
import {SUB_PARSER_WORD_PARSERS_LENGTH, SUB_PARSER_WORD_PYTH_PRICE} from "../lib/parse/LibPythSubParser.sol";
import {LibConvert} from "rain-lib-typecast-0.1.0/src/LibConvert.sol";
import {LibSubParse} from "rainlang-0.2.1/src/lib/parse/LibSubParse.sol";
import {IInterpreterExternV4} from "rainlang-interface-0.2.8/src/interface/IInterpreterExternV4.sol";
import {LibConvert} from "rain-lib-typecast-0.1.4/src/LibConvert.sol";
import {LibSubParse} from "rainlang-0.2.6/src/lib/parse/LibSubParse.sol";
import {IInterpreterExternV4} from "rainlang-interface-0.2.9/src/interface/IInterpreterExternV4.sol";
import {
OPERAND_HANDLER_FUNCTION_POINTERS as SUB_PARSER_OPERAND_HANDLERS,
PARSE_META as SUB_PARSER_PARSE_META,
Expand Down
2 changes: 1 addition & 1 deletion src/concrete/PythWords.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pragma solidity =0.8.25;

import {PythExtern, BaseRainlangExtern} from "../abstract/PythExtern.sol";
import {PythSubParser, BaseRainlangSubParser} from "../abstract/PythSubParser.sol";
import {IDescribedByMetaV1} from "rain-metadata-0.1.0/src/interface/IDescribedByMetaV1.sol";
import {IDescribedByMetaV1} from "rain-metadata-0.1.7/src/interface/IDescribedByMetaV1.sol";
import {DESCRIBED_BY_META_HASH} from "../generated/PythWordsPointers.sol";

contract PythWords is PythExtern, PythSubParser {
Expand Down
4 changes: 2 additions & 2 deletions src/lib/op/LibOpPythPrice.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd
pragma solidity ^0.8.25;

import {OperandV2, StackItem} from "rainlang-interface-0.2.8/src/interface/IInterpreterV4.sol";
import {OperandV2, StackItem} from "rainlang-interface-0.2.9/src/interface/IInterpreterV4.sol";
import {LibIntOrAString, IntOrAString} from "rain-intorastring-0.1.0/src/lib/LibIntOrAString.sol";
import {LibPyth} from "../pyth/LibPyth.sol";
import {Float} from "rain-math-float-0.1.1/src/lib/LibDecimalFloat.sol";
import {Float} from "rain-math-float-0.2.1/src/lib/LibDecimalFloat.sol";

library LibOpPythPrice {
using LibIntOrAString for IntOrAString;
Expand Down
2 changes: 1 addition & 1 deletion src/lib/parse/LibPythSubParser.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd
pragma solidity ^0.8.25;

import {AuthoringMetaV2} from "rainlang-interface-0.2.8/src/interface/deprecated/v1/IParserV1.sol";
import {AuthoringMetaV2} from "rainlang-interface-0.2.9/src/interface/deprecated/v1/IParserV1.sol";

uint256 constant SUB_PARSER_WORD_PYTH_PRICE = 0;

Expand Down
2 changes: 1 addition & 1 deletion src/lib/pyth/LibPyth.sol
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pragma solidity ^0.8.25;

import {IPyth} from "@pythnetwork-pyth-sdk-solidity-4.3.1/IPyth.sol";
import {PythStructs} from "@pythnetwork-pyth-sdk-solidity-4.3.1/PythStructs.sol";
import {LibDecimalFloat, Float} from "rain-math-float-0.1.1/src/lib/LibDecimalFloat.sol";
import {LibDecimalFloat, Float} from "rain-math-float-0.2.1/src/lib/LibDecimalFloat.sol";
import {IntOrAString} from "rain-intorastring-0.1.0/src/lib/LibIntOrAString.sol";

error UnsupportedChainId();
Expand Down
4 changes: 2 additions & 2 deletions test/src/concrete/PythWords.pythPrice.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
// SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd
pragma solidity =0.8.25;

import {OpTest, StackItem} from "rainlang-0.2.1/test/abstract/OpTest.sol";
import {OpTest, StackItem} from "rainlang-0.2.6/test/abstract/OpTest.sol";
import {PythWords} from "src/concrete/PythWords.sol";
import {FORK_RPC_URL_ARBITRUM, FORK_BLOCK_ARBITRUM} from "test/lib/LibFork.sol";
import {Strings} from "@openzeppelin-contracts-5.6.1/utils/Strings.sol";
import {LibPyth} from "src/lib/pyth/LibPyth.sol";
import {LibDecimalFloat, Float} from "rain-math-float-0.1.1/src/lib/LibDecimalFloat.sol";
import {LibDecimalFloat, Float} from "rain-math-float-0.2.1/src/lib/LibDecimalFloat.sol";

contract PythWordsPythPriceTest is OpTest {
using Strings for address;
Expand Down
2 changes: 1 addition & 1 deletion test/src/lib/op/LibOpPythPrice.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {Test} from "forge-std-1.16.2/src/Test.sol";
import {LibOpPythPrice, OperandV2, StackItem} from "src/lib/op/LibOpPythPrice.sol";
import {LibIntOrAString, IntOrAString} from "rain-intorastring-0.1.0/src/lib/LibIntOrAString.sol";
import {FORK_RPC_URL_ARBITRUM, FORK_BLOCK_ARBITRUM} from "test/lib/LibFork.sol";
import {Float, LibDecimalFloat} from "rain-math-float-0.1.1/src/lib/LibDecimalFloat.sol";
import {Float, LibDecimalFloat} from "rain-math-float-0.2.1/src/lib/LibDecimalFloat.sol";

contract LibOpPythPriceTest is Test {
function testIntegrity(OperandV2 operand, uint256 inputs, uint256 outputs) external pure {
Expand Down
2 changes: 1 addition & 1 deletion test/src/lib/pyth/LibPyth.getPriceNoOlderThan.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
FORK_BLOCK_BASE_RKLB
} from "test/lib/LibFork.sol";
import {IntOrAString, LibIntOrAString} from "rain-intorastring-0.1.0/src/lib/LibIntOrAString.sol";
import {Float, LibDecimalFloat} from "rain-math-float-0.1.1/src/lib/LibDecimalFloat.sol";
import {Float, LibDecimalFloat} from "rain-math-float-0.2.1/src/lib/LibDecimalFloat.sol";

contract LibPythGetPriceNoOlderThanTest is Test {
using LibIntOrAString for string;
Expand Down
Loading