Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
400 changes: 152 additions & 248 deletions contracts/quest-engine/src/lib.rs

Large diffs are not rendered by default.

944 changes: 446 additions & 498 deletions contracts/quest-engine/src/test.rs

Large diffs are not rendered by default.

29 changes: 3 additions & 26 deletions contracts/quest-engine/src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,6 @@ pub struct Quest {
pub quest_type: QuestType,
pub metadata_hash: BytesN<32>,
pub active: bool,
pub has_approved_submission: bool,
// Total escrow deposited for this quest (0 for Explore quests, which are
// paid from the RewardPool rather than a per-quest escrow).
pub total_funded: i128,
// Running total of funds already paid out from this quest's escrow
// (fees + learner payouts, including any boost applied).
pub consumed_amount: i128,
// Running total of funds returned to the employer via refunds.
pub refunded_amount: i128,
}

impl Quest {
/// Escrow still available for future payouts or refunds.
pub fn remaining_budget(&self) -> i128 {
self.total_funded - self.consumed_amount - self.refunded_amount
}
}

#[contracttype]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct QuestBudget {
pub total_funded: i128,
pub consumed_amount: i128,
pub refunded_amount: i128,
pub remaining: i128,
}

#[contracttype]
Expand All @@ -62,10 +37,12 @@ pub struct Submission {
pub enum DataKey {
Admin,
Quest(u32),
Submission(Address, u32), // (Submitter Address, Quest ID)
Submission(Address, u32),
Token,
QuestCounter,
RewardPool,
IsPaused,
StakeVault,
Verified(Address, u32),
Multiplier(Address),
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,24 @@
]
],
[],
[],
[
[
"CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
"CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
{
"function": {
"contract_fn": {
"contract_address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2KM",
"function_name": "initialize",
"args": [
{
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
},
{
"address": "CBUSYNQKASUYFWYC3M2GUEDMX4AIVWPALDBYJPNK6554BREHTGZ2IUNF"
},
{
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
},
{
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITA4"
Expand Down Expand Up @@ -773,7 +774,7 @@
]
},
"val": {
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
}
},
{
Expand All @@ -797,7 +798,7 @@
]
},
"val": {
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
}
},
{
Expand Down Expand Up @@ -903,6 +904,38 @@
{
"contract_data": {
"contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
"key": "ledger_key_contract_instance",
"durability": "persistent"
}
},
[
{
"last_modified_ledger_seq": 0,
"data": {
"contract_data": {
"ext": "v0",
"contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
"key": "ledger_key_contract_instance",
"durability": "persistent",
"val": {
"contract_instance": {
"executable": {
"wasm": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"storage": null
}
}
}
},
"ext": "v0"
},
4095
]
],
[
{
"contract_data": {
"contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
"key": {
"ledger_key_nonce": {
"nonce": "5541220902715666415"
Expand All @@ -917,7 +950,7 @@
"data": {
"contract_data": {
"ext": "v0",
"contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM",
"contract": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4",
"key": {
"ledger_key_nonce": {
"nonce": "5541220902715666415"
Expand Down Expand Up @@ -1210,7 +1243,7 @@
"symbol": "Balance"
},
{
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
}
]
},
Expand All @@ -1230,7 +1263,7 @@
"symbol": "Balance"
},
{
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDR4"
"address": "CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3IM"
}
]
},
Expand Down
Loading
Loading