Skip to content

Enable SingleAssetVault feature #5444

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: develop
Choose a base branch
from
Draft

Enable SingleAssetVault feature #5444

wants to merge 10 commits into from

Conversation

Bronek
Copy link
Collaborator

@Bronek Bronek commented May 21, 2025

High Level Overview of Change

Switch Supported::yes for SingleAssetVault feature.

High Level Overview of Change

This PR will enable SingleAssetVault feature, implemented in #5224.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

@RomThpt
Copy link

RomThpt commented Jun 3, 2025

Hey, just checking in on this PR. Wanted to know how it’s going — I’d like to start testing the feature.

@Bronek
Copy link
Collaborator Author

Bronek commented Jun 3, 2025

Hey, just checking in on this PR. Wanted to know how it’s going — I’d like to start testing the feature.

You can start testing it now; I try to keep this branch up-to-date with the current develop. The remaining planned changes related to this PR won't change much in your experience (see comment #5224 (comment) for details)

@RomThpt
Copy link

RomThpt commented Jun 5, 2025

Hi @Bronek, thanks for the help.

I’ve been trying to test the SingleAssetVault feature myself, but it seems like the feature isn’t enabled yet—I’m getting a message that it’s not supported. Could you clarify how the Ripple team is enabling or testing it on their end?

Should we be toggling a specific feature flag or config to activate it locally? Any guidance would be appreciated!

Thanks!

@dangell7
Copy link
Collaborator

dangell7 commented Jun 5, 2025

Hi @Bronek, thanks for the help.

I’ve been trying to test the SingleAssetVault feature myself, but it seems like the feature isn’t enabled yet—I’m getting a message that it’s not supported. Could you clarify how the Ripple team is enabling or testing it on their end?

Should we be toggling a specific feature flag or config to activate it locally? Any guidance would be appreciated!

Thanks!

Yes, you need to cherry pick this commit onto develop or whatever branch you are working on, or change Supported::no to Supported::yes in the features.macro file

@RomThpt
Copy link

RomThpt commented Jun 5, 2025

Hey, thank you, but I think in this branch the feature is enabled. Am I wrong?

@dangell7
Copy link
Collaborator

dangell7 commented Jun 5, 2025

Hey, thank you, but I think in this branch the feature is enabled. Am I wrong?

Oops. lol yes this branch will work. I'm assuming you are running standalone? Then you need to either use a genesis.json or add the feature to the config. https://github.com/XRPLF/xrpl.js/blob/392a2037074ab53e4c40aad734117bdf13a69296/.ci-config/rippled.cfg#L187

@RomThpt
Copy link

RomThpt commented Jun 5, 2025

I’m running on my standalone this :

curl -s -X POST http://localhost:5007 -H "Content-Type: application/json" -d '{"method": "feature", "params": [{}]}' | grep -A 5 SingleAssetVault

and after running it I get :

"81BD2619B6B3C8625AC5D0BC01DE17F06C3F0AB95C7C87C93715B87A4FD240D8":{"count":0,"enabled":false,"name":"SingleAssetVault","supported":true,"threshold":1,"validations":0,"vetoed":false}


My standalone config is :



[server]
port_peer
port_ws
port_http
port_ws_admin
port_ws_public

[port_peer]
port = 51235
ip = 0.0.0.0
protocol = peer

[port_ws]
port = 6005
ip = 0.0.0.0
protocol = ws
admin = 0.0.0.0
send_queue_limit = 500

[port_http]
port = 5005
ip = 0.0.0.0
protocol = http
admin = 0.0.0.0
send_queue_limit = 500

[port_ws_admin]
port = 6006
ip = 0.0.0.0
admin = 0.0.0.0
protocol = ws
send_queue_limit = 500

[port_ws_public]
port = 6007
ip = 0.0.0.0
protocol = ws
send_queue_limit = 500

[node_size]
tiny

[node_db]
type=NuDB
path=/var/lib/rippled/db/nudb
online_delete=512
advisory_delete=0

[database_path]
/var/lib/rippled/db

[debug_logfile]
/var/log/rippled/debug.log

[sntp_servers]
time.windows.com
time.apple.com
time.nist.gov
pool.ntp.org

[ips_fixed]
rippled-standalone 51235

[rpc_startup]
{ "command": "log_level", "severity": "warning" }
{ "command": "feature", "feature": "SingleAssetVault", "action": "accept", "vetoed": false }
{ "command": "feature", "feature": "MPTokensV1", "action": "accept", "vetoed": false }
{ "command": "feature", "feature": "SingleAssetVault", "action": "accept" }
{ "command": "feature", "feature": "MPTokensV1", "action": "accept" }
{ "command": "ledger_accept" }
{ "command": "ledger_accept" }
{ "command": "ledger_accept" }
{ "command": "ledger_accept" }
{ "command": "ledger_accept" }

[ssl_verify]
1

# Enable standalone mode
[standalone]
1

# Force server to use test network
[network_id]
102

[validator_file]
/etc/opt/ripple/validators.txt

# Enable specific features directly with feature names
[features]
SingleAssetVault
MPTokensV1

What do I need to do to enable it ?


@Bronek
Copy link
Collaborator Author

Bronek commented Jun 23, 2025

I’m running on my standalone this :

curl -s -X POST http://localhost:5007 -H "Content-Type: application/json" -d '{"method": "feature", "params": [{}]}' | grep -A 5 SingleAssetVault

. . .
What do I need to do to enable it ?

You should not need a long list of [rpc_startup] commands to enable a feature which is already listed in [features] section. Also, if you switch your rippled command line options from --standalone to --start you will just run an isolated ledger with everything you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants