Skip to content
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

deploy #824

Merged
merged 27 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ae92c4d
Copy value metadata into weight column
youngkidwarrior Oct 28, 2024
8d6197b
Copy value metadata into weight column (#812)
youngkidwarrior Oct 29, 2024
e84cf06
Update distributor to use weight column
youngkidwarrior Oct 28, 2024
3b65faa
Update distributor to use weight column (#813)
youngkidwarrior Oct 29, 2024
59bb925
Update app activity metrics view
youngkidwarrior Oct 28, 2024
5ed24a3
Update activity rewards screens
youngkidwarrior Oct 28, 2024
885696e
Update app activity metrics view (#814)
youngkidwarrior Oct 29, 2024
80d0334
Update triggers for total tag referrals verification
youngkidwarrior Oct 28, 2024
a1eaad8
Add triggers for total tag referrals (#811)
youngkidwarrior Oct 29, 2024
1c9e7ab
Add Trigger for Create Passkey
youngkidwarrior Oct 28, 2024
febc7f5
Add Trigger for Create Passkey (#815)
youngkidwarrior Oct 29, 2024
7242033
Add trigger for sends
youngkidwarrior Oct 28, 2024
f984907
Add trigger for sends (#816)
youngkidwarrior Oct 29, 2024
2e8c11c
Update distribution eight after triggers
youngkidwarrior Oct 28, 2024
06c3345
Update distribution eight after triggers (#817)
youngkidwarrior Oct 29, 2024
25a9467
Display weight values on frontend
youngkidwarrior Oct 29, 2024
8d37b3f
Display weight values on frontend (#818)
youngkidwarrior Oct 29, 2024
6a28850
Fix null value app activity view
youngkidwarrior Oct 29, 2024
cd5c6ae
Fix null value app activity view (#819)
youngkidwarrior Oct 29, 2024
d069a30
Cleanup activity screen
youngkidwarrior Oct 29, 2024
9947388
Cleanup activity screen (#820)
youngkidwarrior Oct 29, 2024
a5c3ae5
Run distributor 4 times a day
youngkidwarrior Oct 29, 2024
27b6c64
Run distributor 4 times a day (#821)
youngkidwarrior Oct 29, 2024
2564098
Add Indexes for rewards triggers
youngkidwarrior Oct 29, 2024
d6929b7
Add Indexes for rewards triggers (#822)
youngkidwarrior Oct 29, 2024
3c26359
Fix rewards screen cleanup
youngkidwarrior Oct 29, 2024
5cb6ae4
Fix rewards screen cleanup (#823)
youngkidwarrior Oct 29, 2024
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
9 changes: 9 additions & 0 deletions apps/distributor/src/distributorv2.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -214,49 +214,58 @@ describe('Distributor V2 Worker', () => {
{
user_id,
type: 'tag_referral',
weight: 1,
},

{
user_id,
type: 'tag_registration',
weight: 1,
},
{
user_id,
type: 'send_ten',
weight: 1,
},
{
user_id,
type: 'send_one_hundred',
weight: 1,
},
{
user_id,
type: 'total_tag_referrals',
metadata: {
value: 2,
},
weight: 2,
},
{
user_id: user_id,
type: 'send_streak',
metadata: {
value: 5,
},
weight: 5,
},
// alice only has tag_registration
{
user_id: user_id2,
type: 'tag_registration',
weight: 1,
},
{
user_id: user_id2,
type: 'send_ten',
weight: 1,
},
{
user_id: user_id2,
type: 'total_tag_referrals',
metadata: {
value: 5,
},
weight: 5,
},
],
count: 10,
Expand Down
74 changes: 29 additions & 45 deletions apps/distributor/src/distributorv2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,11 @@ export class DistributorV2Worker {
for (const verification of verifications) {
const verificationValue = verificationValues[verification.type]
if (!verificationValue) continue

// Initialize or update multiplier info
if (
!multipliers[verification.type] &&
(verificationValue.multiplier_step > 0 || verificationValue.multiplier_min > 0)
(verificationValue.multiplier_step > 0 || verificationValue.multiplier_min > 0) //@todo: should have a better way to tell if multipliers are enabled
) {
multipliers[verification.type] = {
value: undefined,
Expand All @@ -317,50 +318,33 @@ export class DistributorV2Worker {
}
const multiplierInfo = multipliers[verification.type]

switch (verificationValue.mode) {
case 'individual':
// Calculate fixed amount
if (verificationValue.fixedValue) {
userFixedAmount += verificationValue.fixedValue
}
if (!multiplierInfo) {
break
}
if (multiplierInfo.value === undefined) {
multiplierInfo.value = multiplierInfo.min
break
}
if (multiplierInfo.value > multiplierInfo.max) {
multiplierInfo.value = multiplierInfo.max
break
}
if (multiplierInfo.value < multiplierInfo.max) {
multiplierInfo.value += multiplierInfo.step
}
break
case 'aggregate': {
// @ts-expect-error this is json
const value = verification.metadata?.value ?? 0
if (verificationValue.fixedValue) {
userFixedAmount += verificationValue.fixedValue * BigInt(value)
}

if (!multiplierInfo) {
break
}
// Minus 1 from the value so 1 = multiplier min
if (value > 0) {
multiplierInfo.value = Math.min(
multiplierInfo.min + (value - 1) * multiplierInfo.step,
multiplierInfo.max
)
} else {
multiplierInfo.value = 1.0
}
break
const weight = verification.weight

// Calculate fixed amount
if (verificationValue.fixedValue) {
userFixedAmount += verificationValue.fixedValue * BigInt(weight)
}

if (!multiplierInfo) {
continue
}

if (weight === 1) {
// Individual behavior
if (multiplierInfo.value === undefined) {
multiplierInfo.value = multiplierInfo.min
} else if (multiplierInfo.value < multiplierInfo.max) {
multiplierInfo.value = Math.min(
multiplierInfo.value + multiplierInfo.step,
multiplierInfo.max
)
}
default:
throw new Error(`Unknown verification value mode: ${verificationValue.mode}`)
} else {
// Aggregate behavior
multiplierInfo.value = Math.min(
multiplierInfo.min + (weight - 1) * multiplierInfo.step,
multiplierInfo.max
)
}
}

Expand Down Expand Up @@ -504,7 +488,7 @@ export class DistributorV2Worker {
} catch (error) {
this.log.error(error, `Error processing block. ${(error as Error).message}`)
}
await sleep(60_000)
await sleep(21_600_000)
}

this.log.info('Distributor stopped.')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ exports[`ActivityRewardsScreen renders: ActivityRewardsScreen 1`] = `
}
suppressHighlighting={true}
>
Min. Balance
Sendtag Registered
</Text>
<RNSVGSvgView
align="xMidYMid"
Expand Down Expand Up @@ -457,7 +457,7 @@ exports[`ActivityRewardsScreen renders: ActivityRewardsScreen 1`] = `
}
suppressHighlighting={true}
>
Sendtag Registered
Min. Balance
</Text>
<RNSVGSvgView
align="xMidYMid"
Expand Down Expand Up @@ -621,47 +621,6 @@ exports[`ActivityRewardsScreen renders: ActivityRewardsScreen 1`] = `
}
/>
</View>
<View
style={
{
"flex": 1,
"flexDirection": "column",
"gap": 24,
"width": "100%",
}
}
>
<Text
accessibilityRole="header"
style={
{
"color": "#FFFFFF",
"fontFamily": "System",
"fontSize": 23,
"fontWeight": "600",
"lineHeight": 27,
"marginBottom": 0,
"marginLeft": 0,
"marginRight": 0,
"marginTop": 0,
"textTransform": "none",
"userSelect": "auto",
}
}
suppressHighlighting={true}
>
Multiplier
</Text>
<View
style={
{
"flexDirection": "row",
"flexWrap": "wrap",
"gap": 24,
}
}
/>
</View>
<View
style={
{
Expand Down
Loading
Loading