diff --git a/node/service/src/chain_spec/bifrost.rs b/node/service/src/chain_spec/bifrost.rs index cf1b8d3faf..9d905ea0c0 100644 --- a/node/service/src/chain_spec/bifrost.rs +++ b/node/service/src/chain_spec/bifrost.rs @@ -191,6 +191,7 @@ fn local_config_genesis(id: ParaId) -> GenesisConfig { (x.clone(), CurrencyId::Stable(TokenSymbol::KUSD), ENDOWMENT * 10_000), (x.clone(), CurrencyId::Token(TokenSymbol::KAR), ENDOWMENT * 10_000), (x.clone(), CurrencyId::Token(TokenSymbol::KSM), ENDOWMENT * 4_000_000), + (x.clone(), CurrencyId::VSToken(TokenSymbol::KSM), ENDOWMENT * 4_000_000), ( x.clone(), CurrencyId::VSBond(TokenSymbol::KSM, 3000, 13, 20), diff --git a/runtime/bifrost/src/lib.rs b/runtime/bifrost/src/lib.rs index 6c50f5b869..fc165acb75 100644 --- a/runtime/bifrost/src/lib.rs +++ b/runtime/bifrost/src/lib.rs @@ -178,6 +178,37 @@ pub struct CallFilter; impl Contains for CallFilter { fn contains(c: &Call) -> bool { match *c { + // calls allowed + // vstoken transfer + Call::Currencies(orml_currencies::Call::transfer( + _, + CurrencyId::VSToken(TokenSymbol::KSM), + _, + )) => true, + Call::Tokens(orml_tokens::Call::transfer( + _, + CurrencyId::VSToken(TokenSymbol::KSM), + _, + )) => true, + Call::Tokens(orml_tokens::Call::transfer_all( + _, + CurrencyId::VSToken(TokenSymbol::KSM), + _, + )) => true, + Call::Tokens(orml_tokens::Call::transfer_keep_alive( + _, + CurrencyId::VSToken(TokenSymbol::KSM), + _, + )) => true, + + // vsbond transfer + Call::Currencies(orml_currencies::Call::transfer(_, CurrencyId::VSBond(..), _)) => true, + Call::Tokens(orml_tokens::Call::transfer(_, CurrencyId::VSBond(..), _)) => true, + Call::Tokens(orml_tokens::Call::transfer_all(_, CurrencyId::VSBond(..), _)) => true, + Call::Tokens(orml_tokens::Call::transfer_keep_alive(_, CurrencyId::VSBond(..), _)) => + true, + + // call banned Call::Balances(_) => false, Call::Vesting(_) => false, Call::Tokens(_) => false,