Context
ST0x-Technology/st0x.oracle is migrating from git submodules to soldeer (matching the canonical pattern used by st0x.deploy and other ST0x/Rain repos). It depends on rain.pyth, but rain.pyth is the only Rain dep that's still not published to soldeer.
To stay green, the consumer is currently using a hybrid:
[dependencies.rain-pyth]
version = "0.0.0-git"
git = "https://github.com/rainlanguage/rain.pyth"
rev = "e7a45068d5aac93e92aec55d7bf1f58e66319a53"
plus a manual remapping bridge into rain.pyth's vendored lib/pyth-crosschain/ submodule:
"pyth-sdk/=dependencies/rain-pyth-0.0.0-git/lib/pyth-crosschain/target_chains/ethereum/sdk/solidity/"
This is brittle: pulling git source via soldeer also doesn't auto-init nested submodules, so consumers need an extra git submodule update --init lib/pyth-crosschain step after forge soldeer install, which CI tooling like rainix doesn't do.
Ask
Publish tagged releases of rain.pyth to soldeer (soldeer push rain-pyth~X.Y.Z) so downstream repos can consume it as a normal "rain-pyth" = "X.Y.Z" dep, drop the git-source + bridge-remapping workaround, and stop relying on transitive submodule init.
Downstream impact
ST0x-Technology/st0x.oracle PR #237 stack — would simplify the foundry.toml + delete the bridge remapping.
Context
ST0x-Technology/st0x.oracle is migrating from git submodules to soldeer (matching the canonical pattern used by st0x.deploy and other ST0x/Rain repos). It depends on
rain.pyth, butrain.pythis the only Rain dep that's still not published to soldeer.To stay green, the consumer is currently using a hybrid:
plus a manual remapping bridge into rain.pyth's vendored
lib/pyth-crosschain/submodule:"pyth-sdk/=dependencies/rain-pyth-0.0.0-git/lib/pyth-crosschain/target_chains/ethereum/sdk/solidity/"This is brittle: pulling git source via soldeer also doesn't auto-init nested submodules, so consumers need an extra
git submodule update --init lib/pyth-crosschainstep afterforge soldeer install, which CI tooling like rainix doesn't do.Ask
Publish tagged releases of
rain.pythto soldeer (soldeer push rain-pyth~X.Y.Z) so downstream repos can consume it as a normal"rain-pyth" = "X.Y.Z"dep, drop the git-source + bridge-remapping workaround, and stop relying on transitive submodule init.Downstream impact
ST0x-Technology/st0x.oraclePR #237 stack — would simplify the foundry.toml + delete the bridge remapping.