Rename Origin (#6020)

* Rename Origin

* fmt

* fixes

* more fixes

* fix

* more fixing

* small fixes

* last touches

* update lockfile for {"substrate"}

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: parity-processbot <>
This commit is contained in:
Sergej Sakac
2022-09-21 00:53:12 +02:00
committed by GitHub
parent 8d8bd99582
commit 937c4e76ae
46 changed files with 1176 additions and 910 deletions
+72 -56
View File
@@ -111,10 +111,10 @@ pub mod pallet {
>;
/// The origin allowed to set account status.
type ValidityOrigin: EnsureOrigin<Self::Origin>;
type ValidityOrigin: EnsureOrigin<Self::RuntimeOrigin>;
/// The origin allowed to make configurations to the pallet.
type ConfigurationOrigin: EnsureOrigin<Self::Origin>;
type ConfigurationOrigin: EnsureOrigin<Self::RuntimeOrigin>;
/// The maximum statement length for the statement users to sign when creating an account.
#[pallet::constant]
@@ -510,7 +510,7 @@ mod tests {
type BlockWeights = ();
type BlockLength = ();
type DbWeight = ();
type Origin = Origin;
type RuntimeOrigin = RuntimeOrigin;
type RuntimeCall = RuntimeCall;
type Index = u64;
type BlockNumber = u64;
@@ -596,10 +596,14 @@ mod tests {
fn setup() {
let statement = b"Hello, World".to_vec();
let unlock_block = 100;
Purchase::set_statement(Origin::signed(configuration_origin()), statement).unwrap();
Purchase::set_unlock_block(Origin::signed(configuration_origin()), unlock_block).unwrap();
Purchase::set_payment_account(Origin::signed(configuration_origin()), payment_account())
Purchase::set_statement(RuntimeOrigin::signed(configuration_origin()), statement).unwrap();
Purchase::set_unlock_block(RuntimeOrigin::signed(configuration_origin()), unlock_block)
.unwrap();
Purchase::set_payment_account(
RuntimeOrigin::signed(configuration_origin()),
payment_account(),
)
.unwrap();
Balances::make_free_balance_be(&payment_account(), 100_000);
}
@@ -665,18 +669,21 @@ mod tests {
let statement = b"Test Set Statement".to_vec();
// Invalid origin
assert_noop!(
Purchase::set_statement(Origin::signed(alice()), statement.clone()),
Purchase::set_statement(RuntimeOrigin::signed(alice()), statement.clone()),
BadOrigin,
);
// Too Long
let long_statement = [0u8; 10_000].to_vec();
assert_noop!(
Purchase::set_statement(Origin::signed(configuration_origin()), long_statement),
Purchase::set_statement(
RuntimeOrigin::signed(configuration_origin()),
long_statement
),
Error::<Test>::InvalidStatement,
);
// Just right...
assert_ok!(Purchase::set_statement(
Origin::signed(configuration_origin()),
RuntimeOrigin::signed(configuration_origin()),
statement.clone()
));
assert_eq!(Statement::<Test>::get(), statement);
@@ -689,7 +696,7 @@ mod tests {
let unlock_block = 69;
// Invalid origin
assert_noop!(
Purchase::set_unlock_block(Origin::signed(alice()), unlock_block),
Purchase::set_unlock_block(RuntimeOrigin::signed(alice()), unlock_block),
BadOrigin,
);
// Block Number in Past
@@ -697,14 +704,14 @@ mod tests {
System::set_block_number(bad_unlock_block);
assert_noop!(
Purchase::set_unlock_block(
Origin::signed(configuration_origin()),
RuntimeOrigin::signed(configuration_origin()),
bad_unlock_block
),
Error::<Test>::InvalidUnlockBlock,
);
// Just right...
assert_ok!(Purchase::set_unlock_block(
Origin::signed(configuration_origin()),
RuntimeOrigin::signed(configuration_origin()),
unlock_block
));
assert_eq!(UnlockBlock::<Test>::get(), unlock_block);
@@ -717,12 +724,15 @@ mod tests {
let payment_account: AccountId = [69u8; 32].into();
// Invalid Origin
assert_noop!(
Purchase::set_payment_account(Origin::signed(alice()), payment_account.clone()),
Purchase::set_payment_account(
RuntimeOrigin::signed(alice()),
payment_account.clone()
),
BadOrigin,
);
// Just right...
assert_ok!(Purchase::set_payment_account(
Origin::signed(configuration_origin()),
RuntimeOrigin::signed(configuration_origin()),
payment_account.clone()
));
assert_eq!(PaymentAccount::<Test>::get(), Some(payment_account));
@@ -753,7 +763,7 @@ mod tests {
new_test_ext().execute_with(|| {
assert!(!Accounts::<Test>::contains_key(alice()));
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec(),
));
@@ -776,7 +786,7 @@ mod tests {
// Wrong Origin
assert_noop!(
Purchase::create_account(
Origin::signed(alice()),
RuntimeOrigin::signed(alice()),
alice(),
alice_signature().to_vec()
),
@@ -786,7 +796,7 @@ mod tests {
// Wrong Account/Signature
assert_noop!(
Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
bob_signature().to_vec()
),
@@ -802,7 +812,7 @@ mod tests {
));
assert_noop!(
Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec()
),
@@ -811,13 +821,13 @@ mod tests {
// Duplicate Purchasing Account
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
bob(),
bob_signature().to_vec()
));
assert_noop!(
Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
bob(),
bob_signature().to_vec()
),
@@ -831,19 +841,19 @@ mod tests {
new_test_ext().execute_with(|| {
// Alice account is created.
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec(),
));
// She submits KYC, and we update the status to `Pending`.
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::Pending,
));
// KYC comes back negative, so we mark the account invalid.
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::Invalid,
));
@@ -859,7 +869,7 @@ mod tests {
);
// She fixes it, we mark her account valid.
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::ValidLow,
));
@@ -882,7 +892,7 @@ mod tests {
// Wrong Origin
assert_noop!(
Purchase::update_validity_status(
Origin::signed(alice()),
RuntimeOrigin::signed(alice()),
alice(),
AccountValidity::Pending,
),
@@ -891,7 +901,7 @@ mod tests {
// Inactive Account
assert_noop!(
Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::Pending,
),
@@ -899,18 +909,18 @@ mod tests {
);
// Already Completed
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec(),
));
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::Completed,
));
assert_noop!(
Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::Pending,
),
@@ -924,19 +934,19 @@ mod tests {
new_test_ext().execute_with(|| {
// Alice account is created
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec()
));
// And approved for basic contribution
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::ValidLow,
));
// We set a balance on the user based on the payment they made. 50 locked, 50 free.
assert_ok!(Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
50,
50,
@@ -954,7 +964,7 @@ mod tests {
);
// We can update the balance based on new information.
assert_ok!(Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
25,
50,
@@ -978,13 +988,19 @@ mod tests {
new_test_ext().execute_with(|| {
// Wrong Origin
assert_noop!(
Purchase::update_balance(Origin::signed(alice()), alice(), 50, 50, Permill::zero(),),
Purchase::update_balance(
RuntimeOrigin::signed(alice()),
alice(),
50,
50,
Permill::zero(),
),
BadOrigin
);
// Inactive Account
assert_noop!(
Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
50,
50,
@@ -995,7 +1011,7 @@ mod tests {
// Overflow
assert_noop!(
Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
u64::MAX,
u64::MAX,
@@ -1011,45 +1027,45 @@ mod tests {
new_test_ext().execute_with(|| {
// Alice and Bob accounts are created
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec()
));
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
bob(),
bob_signature().to_vec()
));
// Alice is approved for basic contribution
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::ValidLow,
));
// Bob is approved for high contribution
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
bob(),
AccountValidity::ValidHigh,
));
// We set a balance on the users based on the payment they made. 50 locked, 50 free.
assert_ok!(Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
50,
50,
Permill::zero(),
));
assert_ok!(Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
bob(),
100,
150,
Permill::zero(),
));
// Now we call payout for Alice and Bob.
assert_ok!(Purchase::payout(Origin::signed(payment_account()), alice(),));
assert_ok!(Purchase::payout(Origin::signed(payment_account()), bob(),));
assert_ok!(Purchase::payout(RuntimeOrigin::signed(payment_account()), alice(),));
assert_ok!(Purchase::payout(RuntimeOrigin::signed(payment_account()), bob(),));
// Payment is made.
assert_eq!(<Test as Config>::Currency::free_balance(&payment_account()), 99_650);
assert_eq!(<Test as Config>::Currency::free_balance(&alice()), 100);
@@ -1082,13 +1098,13 @@ mod tests {
// Vesting lock is removed in whole on block 101 (100 blocks after block 1)
System::set_block_number(100);
let vest_call = RuntimeCall::Vesting(pallet_vesting::Call::<Test>::vest {});
assert_ok!(vest_call.clone().dispatch(Origin::signed(alice())));
assert_ok!(vest_call.clone().dispatch(Origin::signed(bob())));
assert_ok!(vest_call.clone().dispatch(RuntimeOrigin::signed(alice())));
assert_ok!(vest_call.clone().dispatch(RuntimeOrigin::signed(bob())));
assert_eq!(<Test as Config>::VestingSchedule::vesting_balance(&alice()), Some(45));
assert_eq!(<Test as Config>::VestingSchedule::vesting_balance(&bob()), Some(140));
System::set_block_number(101);
assert_ok!(vest_call.clone().dispatch(Origin::signed(alice())));
assert_ok!(vest_call.clone().dispatch(Origin::signed(bob())));
assert_ok!(vest_call.clone().dispatch(RuntimeOrigin::signed(alice())));
assert_ok!(vest_call.clone().dispatch(RuntimeOrigin::signed(bob())));
assert_eq!(<Test as Config>::VestingSchedule::vesting_balance(&alice()), None);
assert_eq!(<Test as Config>::VestingSchedule::vesting_balance(&bob()), None);
});
@@ -1098,45 +1114,45 @@ mod tests {
fn payout_handles_basic_errors() {
new_test_ext().execute_with(|| {
// Wrong Origin
assert_noop!(Purchase::payout(Origin::signed(alice()), alice(),), BadOrigin);
assert_noop!(Purchase::payout(RuntimeOrigin::signed(alice()), alice(),), BadOrigin);
// Account with Existing Vesting Schedule
assert_ok!(
<Test as Config>::VestingSchedule::add_vesting_schedule(&bob(), 100, 1, 50,)
);
assert_noop!(
Purchase::payout(Origin::signed(payment_account()), bob(),),
Purchase::payout(RuntimeOrigin::signed(payment_account()), bob(),),
Error::<Test>::VestingScheduleExists
);
// Invalid Account (never created)
assert_noop!(
Purchase::payout(Origin::signed(payment_account()), alice(),),
Purchase::payout(RuntimeOrigin::signed(payment_account()), alice(),),
Error::<Test>::InvalidAccount
);
// Invalid Account (created, but not valid)
assert_ok!(Purchase::create_account(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
alice_signature().to_vec()
));
assert_noop!(
Purchase::payout(Origin::signed(payment_account()), alice(),),
Purchase::payout(RuntimeOrigin::signed(payment_account()), alice(),),
Error::<Test>::InvalidAccount
);
// Not enough funds in payment account
assert_ok!(Purchase::update_validity_status(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
AccountValidity::ValidHigh,
));
assert_ok!(Purchase::update_balance(
Origin::signed(validity_origin()),
RuntimeOrigin::signed(validity_origin()),
alice(),
100_000,
100_000,
Permill::zero(),
));
assert_noop!(
Purchase::payout(Origin::signed(payment_account()), alice(),),
Purchase::payout(RuntimeOrigin::signed(payment_account()), alice(),),
BalancesError::<Test, _>::InsufficientBalance
);
});