mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-18 17:41:01 +00:00
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:
@@ -892,7 +892,7 @@ mod tests {
|
||||
type BlockWeights = ();
|
||||
type BlockLength = ();
|
||||
type DbWeight = ();
|
||||
type Origin = Origin;
|
||||
type RuntimeOrigin = RuntimeOrigin;
|
||||
type RuntimeCall = RuntimeCall;
|
||||
type Index = u64;
|
||||
type BlockNumber = BlockNumber;
|
||||
@@ -1168,7 +1168,7 @@ mod tests {
|
||||
new_test_ext().execute_with(|| {
|
||||
let para = new_para();
|
||||
// Now try to create a crowdloan campaign
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 4, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 4, 9, None));
|
||||
// This is what the initial `fund_info` should look like
|
||||
let fund_info = FundInfo {
|
||||
depositor: 1,
|
||||
@@ -1201,7 +1201,7 @@ mod tests {
|
||||
let para = new_para();
|
||||
// Now try to create a crowdloan campaign
|
||||
assert_ok!(Crowdloan::create(
|
||||
Origin::signed(1),
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
1000,
|
||||
1,
|
||||
@@ -1241,12 +1241,15 @@ mod tests {
|
||||
let para = new_para();
|
||||
|
||||
let e = Error::<Test>::InvalidParaId;
|
||||
assert_noop!(Crowdloan::create(Origin::signed(1), 1.into(), 1000, 1, 4, 9, None), e);
|
||||
assert_noop!(
|
||||
Crowdloan::create(RuntimeOrigin::signed(1), 1.into(), 1000, 1, 4, 9, None),
|
||||
e
|
||||
);
|
||||
// Cannot create a crowdloan with bad lease periods
|
||||
let e = Error::<Test>::LastPeriodBeforeFirstPeriod;
|
||||
assert_noop!(Crowdloan::create(Origin::signed(1), para, 1000, 4, 1, 9, None), e);
|
||||
assert_noop!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 4, 1, 9, None), e);
|
||||
let e = Error::<Test>::LastPeriodTooFarInFuture;
|
||||
assert_noop!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 9, 9, None), e);
|
||||
assert_noop!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 9, 9, None), e);
|
||||
|
||||
// Cannot create a crowdloan without some deposit funds
|
||||
assert_ok!(TestRegistrar::<Test>::register(
|
||||
@@ -1257,14 +1260,22 @@ mod tests {
|
||||
));
|
||||
let e = BalancesError::<Test, _>::InsufficientBalance;
|
||||
assert_noop!(
|
||||
Crowdloan::create(Origin::signed(1337), ParaId::from(1234), 1000, 1, 3, 9, None),
|
||||
Crowdloan::create(
|
||||
RuntimeOrigin::signed(1337),
|
||||
ParaId::from(1234),
|
||||
1000,
|
||||
1,
|
||||
3,
|
||||
9,
|
||||
None
|
||||
),
|
||||
e
|
||||
);
|
||||
|
||||
// Cannot create a crowdloan with nonsense end date
|
||||
// This crowdloan would end in lease period 2, but is bidding for some slot that starts in lease period 1.
|
||||
assert_noop!(
|
||||
Crowdloan::create(Origin::signed(1), para, 1000, 1, 4, 41, None),
|
||||
Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 4, 41, None),
|
||||
Error::<Test>::EndTooFarInFuture
|
||||
);
|
||||
});
|
||||
@@ -1277,13 +1288,13 @@ mod tests {
|
||||
let index = NextFundIndex::<Test>::get();
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 4, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 4, 9, None));
|
||||
|
||||
// No contributions yet
|
||||
assert_eq!(Crowdloan::contribution_get(u32::from(para), &1).0, 0);
|
||||
|
||||
// User 1 contributes to their own crowdloan
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(1), para, 49, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(1), para, 49, None));
|
||||
// User 1 has spent some funds to do this, transfer fees **are** taken
|
||||
assert_eq!(Balances::free_balance(1), 950);
|
||||
// Contributions are stored in the trie
|
||||
@@ -1309,7 +1320,7 @@ mod tests {
|
||||
let pubkey = crypto::create_ed25519_pubkey(b"//verifier".to_vec());
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(
|
||||
Origin::signed(1),
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
1000,
|
||||
1,
|
||||
@@ -1323,7 +1334,7 @@ mod tests {
|
||||
|
||||
// Missing signature
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 49, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para, 49, None),
|
||||
Error::<Test>::InvalidSignature
|
||||
);
|
||||
|
||||
@@ -1335,23 +1346,33 @@ mod tests {
|
||||
|
||||
// Invalid signature
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 49, Some(invalid_signature)),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para, 49, Some(invalid_signature)),
|
||||
Error::<Test>::InvalidSignature
|
||||
);
|
||||
|
||||
// Valid signature wrong parameter
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 50, Some(valid_signature.clone())),
|
||||
Crowdloan::contribute(
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
50,
|
||||
Some(valid_signature.clone())
|
||||
),
|
||||
Error::<Test>::InvalidSignature
|
||||
);
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(2), para, 49, Some(valid_signature.clone())),
|
||||
Crowdloan::contribute(
|
||||
RuntimeOrigin::signed(2),
|
||||
para,
|
||||
49,
|
||||
Some(valid_signature.clone())
|
||||
),
|
||||
Error::<Test>::InvalidSignature
|
||||
);
|
||||
|
||||
// Valid signature
|
||||
assert_ok!(Crowdloan::contribute(
|
||||
Origin::signed(1),
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
49,
|
||||
Some(valid_signature.clone())
|
||||
@@ -1359,7 +1380,7 @@ mod tests {
|
||||
|
||||
// Reuse valid signature
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 49, Some(valid_signature)),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para, 49, Some(valid_signature)),
|
||||
Error::<Test>::InvalidSignature
|
||||
);
|
||||
|
||||
@@ -1367,7 +1388,12 @@ mod tests {
|
||||
let valid_signature_2 = crypto::create_ed25519_signature(&payload_2.encode(), pubkey);
|
||||
|
||||
// New valid signature
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(1), para, 10, Some(valid_signature_2)));
|
||||
assert_ok!(Crowdloan::contribute(
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
10,
|
||||
Some(valid_signature_2)
|
||||
));
|
||||
|
||||
// Contributions appear in free balance of crowdloan
|
||||
assert_eq!(Balances::free_balance(Crowdloan::fund_account_id(index)), 59);
|
||||
@@ -1385,22 +1411,22 @@ mod tests {
|
||||
|
||||
// Cannot contribute to non-existing fund
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 49, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para, 49, None),
|
||||
Error::<Test>::InvalidParaId
|
||||
);
|
||||
// Cannot contribute below minimum contribution
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 9, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para, 9, None),
|
||||
Error::<Test>::ContributionTooSmall
|
||||
);
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 4, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(1), para, 101, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 4, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(1), para, 101, None));
|
||||
|
||||
// Cannot contribute past the limit
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(2), para, 900, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(2), para, 900, None),
|
||||
Error::<Test>::CapExceeded
|
||||
);
|
||||
|
||||
@@ -1409,31 +1435,31 @@ mod tests {
|
||||
|
||||
// Cannot contribute to ended fund
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para, 49, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para, 49, None),
|
||||
Error::<Test>::ContributionPeriodOver
|
||||
);
|
||||
|
||||
// If a crowdloan has already won, it should not allow contributions.
|
||||
let para_2 = new_para();
|
||||
let index = NextFundIndex::<Test>::get();
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_2, 1000, 1, 4, 40, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_2, 1000, 1, 4, 40, None));
|
||||
// Emulate a win by leasing out and putting a deposit. Slots pallet would normally do this.
|
||||
let crowdloan_account = Crowdloan::fund_account_id(index);
|
||||
set_winner(para_2, crowdloan_account, true);
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para_2, 49, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para_2, 49, None),
|
||||
Error::<Test>::BidOrLeaseActive
|
||||
);
|
||||
|
||||
// Move past lease period 1, should not be allowed to have further contributions with a crowdloan
|
||||
// that has starting period 1.
|
||||
let para_3 = new_para();
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_3, 1000, 1, 4, 40, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_3, 1000, 1, 4, 40, None));
|
||||
run_to_block(40);
|
||||
let now = System::block_number();
|
||||
assert_eq!(TestAuctioneer::lease_period_index(now).unwrap().0, 2);
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(1), para_3, 49, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(1), para_3, 49, None),
|
||||
Error::<Test>::ContributionPeriodOver
|
||||
);
|
||||
});
|
||||
@@ -1452,7 +1478,7 @@ mod tests {
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(
|
||||
Origin::signed(1),
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
1000,
|
||||
first_period,
|
||||
@@ -1464,20 +1490,20 @@ mod tests {
|
||||
run_to_block(8);
|
||||
// Can def contribute when auction is running.
|
||||
assert!(TestAuctioneer::auction_status(System::block_number()).is_ending().is_some());
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 250, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 250, None));
|
||||
|
||||
run_to_block(10);
|
||||
// Can't contribute when auction is in the VRF delay period.
|
||||
assert!(TestAuctioneer::auction_status(System::block_number()).is_vrf());
|
||||
assert_noop!(
|
||||
Crowdloan::contribute(Origin::signed(2), para, 250, None),
|
||||
Crowdloan::contribute(RuntimeOrigin::signed(2), para, 250, None),
|
||||
Error::<Test>::VrfDelayInProgress
|
||||
);
|
||||
|
||||
run_to_block(15);
|
||||
// Its fine to contribute when no auction is running.
|
||||
assert!(!TestAuctioneer::auction_status(System::block_number()).is_in_progress());
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 250, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 250, None));
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1493,7 +1519,7 @@ mod tests {
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(
|
||||
Origin::signed(1),
|
||||
RuntimeOrigin::signed(1),
|
||||
para,
|
||||
1000,
|
||||
first_period,
|
||||
@@ -1505,13 +1531,13 @@ mod tests {
|
||||
|
||||
// Fund crowdloan
|
||||
run_to_block(1);
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
run_to_block(3);
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para, 150, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 150, None));
|
||||
run_to_block(5);
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(4), para, 200, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(4), para, 200, None));
|
||||
run_to_block(8);
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 250, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 250, None));
|
||||
run_to_block(10);
|
||||
|
||||
assert_eq!(
|
||||
@@ -1535,9 +1561,9 @@ mod tests {
|
||||
let index = NextFundIndex::<Test>::get();
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para, 50, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 50, None));
|
||||
|
||||
run_to_block(10);
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
@@ -1548,11 +1574,11 @@ mod tests {
|
||||
assert_eq!(Balances::free_balance(2), 1900);
|
||||
assert_eq!(Balances::free_balance(3), 2950);
|
||||
|
||||
assert_ok!(Crowdloan::withdraw(Origin::signed(2), 2, para));
|
||||
assert_ok!(Crowdloan::withdraw(RuntimeOrigin::signed(2), 2, para));
|
||||
assert_eq!(Balances::free_balance(&account_id), 50);
|
||||
assert_eq!(Balances::free_balance(2), 2000);
|
||||
|
||||
assert_ok!(Crowdloan::withdraw(Origin::signed(2), 3, para));
|
||||
assert_ok!(Crowdloan::withdraw(RuntimeOrigin::signed(2), 3, para));
|
||||
assert_eq!(Balances::free_balance(&account_id), 0);
|
||||
assert_eq!(Balances::free_balance(3), 3000);
|
||||
});
|
||||
@@ -1565,26 +1591,26 @@ mod tests {
|
||||
let index = NextFundIndex::<Test>::get();
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
|
||||
run_to_block(10);
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
|
||||
// user sends the crowdloan funds trying to make an accounting error
|
||||
assert_ok!(Balances::transfer(Origin::signed(1), account_id, 10));
|
||||
assert_ok!(Balances::transfer(RuntimeOrigin::signed(1), account_id, 10));
|
||||
|
||||
// overfunded now
|
||||
assert_eq!(Balances::free_balance(&account_id), 110);
|
||||
assert_eq!(Balances::free_balance(2), 1900);
|
||||
|
||||
assert_ok!(Crowdloan::withdraw(Origin::signed(2), 2, para));
|
||||
assert_ok!(Crowdloan::withdraw(RuntimeOrigin::signed(2), 2, para));
|
||||
assert_eq!(Balances::free_balance(2), 2000);
|
||||
|
||||
// Some funds are left over
|
||||
assert_eq!(Balances::free_balance(&account_id), 10);
|
||||
// They wil be left in the account at the end
|
||||
assert_ok!(Crowdloan::dissolve(Origin::signed(1), para));
|
||||
assert_ok!(Crowdloan::dissolve(RuntimeOrigin::signed(1), para));
|
||||
assert_eq!(Balances::free_balance(&account_id), 10);
|
||||
});
|
||||
}
|
||||
@@ -1597,23 +1623,23 @@ mod tests {
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
|
||||
// Set up a crowdloan ending on 9
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
// Make some contributions
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(1), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 200, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para, 300, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(1), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 200, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 300, None));
|
||||
|
||||
assert_eq!(Balances::free_balance(account_id), 600);
|
||||
|
||||
// Can't refund before the crowdloan it has ended
|
||||
assert_noop!(
|
||||
Crowdloan::refund(Origin::signed(1337), para),
|
||||
Crowdloan::refund(RuntimeOrigin::signed(1337), para),
|
||||
Error::<Test>::FundNotEnded,
|
||||
);
|
||||
|
||||
// Move to the end of the crowdloan
|
||||
run_to_block(10);
|
||||
assert_ok!(Crowdloan::refund(Origin::signed(1337), para));
|
||||
assert_ok!(Crowdloan::refund(RuntimeOrigin::signed(1337), para));
|
||||
|
||||
// Funds are returned
|
||||
assert_eq!(Balances::free_balance(account_id), 0);
|
||||
@@ -1632,12 +1658,12 @@ mod tests {
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
|
||||
// Set up a crowdloan ending on 9
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 100000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 100000, 1, 1, 9, None));
|
||||
// Make more contributions than our limit
|
||||
for i in 1..=RemoveKeysLimit::get() * 2 {
|
||||
Balances::make_free_balance_be(&i.into(), (1000 * i).into());
|
||||
assert_ok!(Crowdloan::contribute(
|
||||
Origin::signed(i.into()),
|
||||
RuntimeOrigin::signed(i.into()),
|
||||
para,
|
||||
(i * 100).into(),
|
||||
None
|
||||
@@ -1648,7 +1674,7 @@ mod tests {
|
||||
|
||||
// Move to the end of the crowdloan
|
||||
run_to_block(10);
|
||||
assert_ok!(Crowdloan::refund(Origin::signed(1337), para));
|
||||
assert_ok!(Crowdloan::refund(RuntimeOrigin::signed(1337), para));
|
||||
assert_eq!(
|
||||
last_event(),
|
||||
super::Event::<Test>::PartiallyRefunded { para_id: para }.into()
|
||||
@@ -1658,7 +1684,7 @@ mod tests {
|
||||
assert!(!Balances::free_balance(account_id).is_zero());
|
||||
|
||||
// Call again
|
||||
assert_ok!(Crowdloan::refund(Origin::signed(1337), para));
|
||||
assert_ok!(Crowdloan::refund(RuntimeOrigin::signed(1337), para));
|
||||
assert_eq!(last_event(), super::Event::<Test>::AllRefunded { para_id: para }.into());
|
||||
|
||||
// Funds are returned
|
||||
@@ -1677,16 +1703,16 @@ mod tests {
|
||||
let issuance = Balances::total_issuance();
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para, 50, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 50, None));
|
||||
|
||||
run_to_block(10);
|
||||
// All funds are refunded
|
||||
assert_ok!(Crowdloan::refund(Origin::signed(2), para));
|
||||
assert_ok!(Crowdloan::refund(RuntimeOrigin::signed(2), para));
|
||||
|
||||
// Now that `fund.raised` is zero, it can be dissolved.
|
||||
assert_ok!(Crowdloan::dissolve(Origin::signed(1), para));
|
||||
assert_ok!(Crowdloan::dissolve(RuntimeOrigin::signed(1), para));
|
||||
assert_eq!(Balances::free_balance(1), 1000);
|
||||
assert_eq!(Balances::free_balance(2), 2000);
|
||||
assert_eq!(Balances::free_balance(3), 3000);
|
||||
@@ -1701,13 +1727,13 @@ mod tests {
|
||||
let issuance = Balances::total_issuance();
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para, 50, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 50, None));
|
||||
|
||||
// Can't dissolve before it ends
|
||||
assert_noop!(
|
||||
Crowdloan::dissolve(Origin::signed(1), para),
|
||||
Crowdloan::dissolve(RuntimeOrigin::signed(1), para),
|
||||
Error::<Test>::NotReadyToDissolve
|
||||
);
|
||||
|
||||
@@ -1715,22 +1741,22 @@ mod tests {
|
||||
set_winner(para, 1, true);
|
||||
// Can't dissolve when it won.
|
||||
assert_noop!(
|
||||
Crowdloan::dissolve(Origin::signed(1), para),
|
||||
Crowdloan::dissolve(RuntimeOrigin::signed(1), para),
|
||||
Error::<Test>::NotReadyToDissolve
|
||||
);
|
||||
set_winner(para, 1, false);
|
||||
|
||||
// Can't dissolve while it still has user funds
|
||||
assert_noop!(
|
||||
Crowdloan::dissolve(Origin::signed(1), para),
|
||||
Crowdloan::dissolve(RuntimeOrigin::signed(1), para),
|
||||
Error::<Test>::NotReadyToDissolve
|
||||
);
|
||||
|
||||
// All funds are refunded
|
||||
assert_ok!(Crowdloan::refund(Origin::signed(2), para));
|
||||
assert_ok!(Crowdloan::refund(RuntimeOrigin::signed(2), para));
|
||||
|
||||
// Now that `fund.raised` is zero, it can be dissolved.
|
||||
assert_ok!(Crowdloan::dissolve(Origin::signed(1), para));
|
||||
assert_ok!(Crowdloan::dissolve(RuntimeOrigin::signed(1), para));
|
||||
assert_eq!(Balances::free_balance(1), 1000);
|
||||
assert_eq!(Balances::free_balance(2), 2000);
|
||||
assert_eq!(Balances::free_balance(3), 3000);
|
||||
@@ -1746,17 +1772,17 @@ mod tests {
|
||||
let account_id = Crowdloan::fund_account_id(index);
|
||||
|
||||
// Set up a crowdloan
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para, 1000, 1, 1, 9, None));
|
||||
|
||||
// Fund crowdloans.
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para, 50, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para, 50, None));
|
||||
// simulate the reserving of para's funds. this actually happens in the Slots pallet.
|
||||
assert_ok!(Balances::reserve(&account_id, 150));
|
||||
|
||||
run_to_block(19);
|
||||
assert_noop!(
|
||||
Crowdloan::withdraw(Origin::signed(2), 2, para),
|
||||
Crowdloan::withdraw(RuntimeOrigin::signed(2), 2, para),
|
||||
Error::<Test>::BidOrLeaseActive
|
||||
);
|
||||
|
||||
@@ -1772,11 +1798,11 @@ mod tests {
|
||||
assert_eq!(Balances::free_balance(2), 1900);
|
||||
assert_eq!(Balances::free_balance(3), 2950);
|
||||
|
||||
assert_ok!(Crowdloan::withdraw(Origin::signed(2), 2, para));
|
||||
assert_ok!(Crowdloan::withdraw(RuntimeOrigin::signed(2), 2, para));
|
||||
assert_eq!(Balances::free_balance(&account_id), 50);
|
||||
assert_eq!(Balances::free_balance(2), 2000);
|
||||
|
||||
assert_ok!(Crowdloan::withdraw(Origin::signed(2), 3, para));
|
||||
assert_ok!(Crowdloan::withdraw(RuntimeOrigin::signed(2), 3, para));
|
||||
assert_eq!(Balances::free_balance(&account_id), 0);
|
||||
assert_eq!(Balances::free_balance(3), 3000);
|
||||
});
|
||||
@@ -1789,11 +1815,11 @@ mod tests {
|
||||
let para_2 = new_para();
|
||||
|
||||
// Set up crowdloans
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_2, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_2, 1000, 1, 1, 9, None));
|
||||
// Different contributions
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para_1, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(3), para_2, 50, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para_1, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(3), para_2, 50, None));
|
||||
// Original state
|
||||
assert_eq!(Funds::<Test>::get(para_1).unwrap().raised, 100);
|
||||
assert_eq!(Funds::<Test>::get(para_2).unwrap().raised, 50);
|
||||
@@ -1810,10 +1836,10 @@ mod tests {
|
||||
new_test_ext().execute_with(|| {
|
||||
let para_1 = new_para();
|
||||
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
// Cannot create a fund again
|
||||
assert_noop!(
|
||||
Crowdloan::create(Origin::signed(1), para_1, 1000, 1, 1, 9, None),
|
||||
Crowdloan::create(RuntimeOrigin::signed(1), para_1, 1000, 1, 1, 9, None),
|
||||
Error::<Test>::FundNotEnded,
|
||||
);
|
||||
});
|
||||
@@ -1824,11 +1850,11 @@ mod tests {
|
||||
new_test_ext().execute_with(|| {
|
||||
let para_1 = new_para();
|
||||
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para_1, 100, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para_1, 100, None));
|
||||
let old_crowdloan = Crowdloan::funds(para_1).unwrap();
|
||||
|
||||
assert_ok!(Crowdloan::edit(Origin::root(), para_1, 1234, 2, 3, 4, None));
|
||||
assert_ok!(Crowdloan::edit(RuntimeOrigin::root(), para_1, 1234, 2, 3, 4, None));
|
||||
let new_crowdloan = Crowdloan::funds(para_1).unwrap();
|
||||
|
||||
// Some things stay the same
|
||||
@@ -1848,25 +1874,29 @@ mod tests {
|
||||
new_test_ext().execute_with(|| {
|
||||
let para_1 = new_para();
|
||||
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
// Cant add a memo before you have contributed.
|
||||
assert_noop!(
|
||||
Crowdloan::add_memo(Origin::signed(1), para_1, b"hello, world".to_vec()),
|
||||
Crowdloan::add_memo(RuntimeOrigin::signed(1), para_1, b"hello, world".to_vec()),
|
||||
Error::<Test>::NoContributions,
|
||||
);
|
||||
// Make a contribution. Initially no memo.
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(1), para_1, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(1), para_1, 100, None));
|
||||
assert_eq!(Crowdloan::contribution_get(0u32, &1), (100, vec![]));
|
||||
// Can't place a memo that is too large.
|
||||
assert_noop!(
|
||||
Crowdloan::add_memo(Origin::signed(1), para_1, vec![123; 123]),
|
||||
Crowdloan::add_memo(RuntimeOrigin::signed(1), para_1, vec![123; 123]),
|
||||
Error::<Test>::MemoTooLarge,
|
||||
);
|
||||
// Adding a memo to an existing contribution works
|
||||
assert_ok!(Crowdloan::add_memo(Origin::signed(1), para_1, b"hello, world".to_vec()));
|
||||
assert_ok!(Crowdloan::add_memo(
|
||||
RuntimeOrigin::signed(1),
|
||||
para_1,
|
||||
b"hello, world".to_vec()
|
||||
));
|
||||
assert_eq!(Crowdloan::contribution_get(0u32, &1), (100, b"hello, world".to_vec()));
|
||||
// Can contribute again and data persists
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(1), para_1, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(1), para_1, 100, None));
|
||||
assert_eq!(Crowdloan::contribution_get(0u32, &1), (200, b"hello, world".to_vec()));
|
||||
});
|
||||
}
|
||||
@@ -1877,18 +1907,18 @@ mod tests {
|
||||
let para_1 = new_para();
|
||||
|
||||
assert_ok!(TestAuctioneer::new_auction(5, 0));
|
||||
assert_ok!(Crowdloan::create(Origin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
assert_ok!(Crowdloan::create(RuntimeOrigin::signed(1), para_1, 1000, 1, 1, 9, None));
|
||||
// Should fail when no contributions.
|
||||
assert_noop!(
|
||||
Crowdloan::poke(Origin::signed(1), para_1),
|
||||
Crowdloan::poke(RuntimeOrigin::signed(1), para_1),
|
||||
Error::<Test>::NoContributions
|
||||
);
|
||||
assert_ok!(Crowdloan::contribute(Origin::signed(2), para_1, 100, None));
|
||||
assert_ok!(Crowdloan::contribute(RuntimeOrigin::signed(2), para_1, 100, None));
|
||||
run_to_block(6);
|
||||
assert_ok!(Crowdloan::poke(Origin::signed(1), para_1));
|
||||
assert_ok!(Crowdloan::poke(RuntimeOrigin::signed(1), para_1));
|
||||
assert_eq!(Crowdloan::new_raise(), vec![para_1]);
|
||||
assert_noop!(
|
||||
Crowdloan::poke(Origin::signed(1), para_1),
|
||||
Crowdloan::poke(RuntimeOrigin::signed(1), para_1),
|
||||
Error::<Test>::AlreadyInNewRaise
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user