@pixels-online/pixels-client-js-sdk 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offerwall-sdk.umd.js","sources":["../src/utils/Logger.ts","../src/events/EventEmitter.ts","../src/types/events.ts","../src/types/connection.ts","../src/core/CustomEventSource.ts","../src/core/SSEConnection.ts","../src/core/OfferStore.ts","../src/core/TokenManager.ts","../src/utils/assets.ts","../src/core/OfferwallClient.ts","../src/utils/conditions.ts","../src/types/offer.ts","../src/types/reward.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["OfferEvent","ConnectionState"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Connection states for SSE connection
3
+ */
4
+ export declare enum ConnectionState {
5
+ DISCONNECTED = "disconnected",
6
+ CONNECTING = "connecting",
7
+ CONNECTED = "connected",
8
+ RECONNECTING = "reconnecting",
9
+ ERROR = "error"
10
+ }
11
+ /**
12
+ * Connection state change event data
13
+ */
14
+ export interface ConnectionStateChangeData {
15
+ state: ConnectionState;
16
+ previousState?: ConnectionState;
17
+ error?: Error;
18
+ attempt?: number;
19
+ maxAttempts?: number;
20
+ }
@@ -0,0 +1,42 @@
1
+ import { IClientOffer } from './offer';
2
+ import { ConnectionStateChangeData } from './connection';
3
+ import { IClientPlayerSnapshot } from './player';
4
+ export declare enum OfferEvent {
5
+ CONNECTED = "connected",
6
+ DISCONNECTED = "disconnected",
7
+ CONNECTION_ERROR = "connection_error",
8
+ CONNECTION_STATE_CHANGED = "connection_state_changed",
9
+ OFFER_SURFACED = "offer_surfaced",
10
+ OFFER_CLAIMED = "offer_claimed",
11
+ ERROR = "error",
12
+ REFRESH = "refresh"
13
+ }
14
+ export interface OfferEventMap {
15
+ [OfferEvent.CONNECTED]: {
16
+ timestamp: Date;
17
+ };
18
+ [OfferEvent.DISCONNECTED]: {
19
+ reason?: string;
20
+ timestamp: Date;
21
+ };
22
+ [OfferEvent.CONNECTION_ERROR]: {
23
+ error: Error;
24
+ timestamp: Date;
25
+ };
26
+ [OfferEvent.CONNECTION_STATE_CHANGED]: ConnectionStateChangeData;
27
+ [OfferEvent.OFFER_SURFACED]: {
28
+ offer: IClientOffer;
29
+ };
30
+ [OfferEvent.OFFER_CLAIMED]: {
31
+ instanceId: string;
32
+ };
33
+ [OfferEvent.ERROR]: {
34
+ error: Error;
35
+ context?: string;
36
+ };
37
+ [OfferEvent.REFRESH]: {
38
+ offers: IClientOffer[];
39
+ playerSnapshot: IClientPlayerSnapshot;
40
+ };
41
+ }
42
+ export type OfferEventHandler<T extends OfferEvent> = (data: OfferEventMap[T]) => void;
@@ -0,0 +1,21 @@
1
+ import { IClientOffer } from './offer';
2
+ import { IReward } from './reward';
3
+ export interface AssetContent {
4
+ name?: string;
5
+ image?: string;
6
+ }
7
+ export type AssetResolver = (reward: IReward, id: string) => AssetContent | undefined | null;
8
+ export type TokenProvider = () => string | Promise<string>;
9
+ export interface OfferwallHooks {
10
+ beforeConnect?: (config: {
11
+ jwt: string;
12
+ endpoint: string;
13
+ }) => void | Promise<void>;
14
+ afterConnect?: () => void | Promise<void>;
15
+ beforeDisconnect?: () => void | Promise<void>;
16
+ afterDisconnect?: () => void | Promise<void>;
17
+ beforeOfferClaim?: (offer: IClientOffer) => boolean | Promise<boolean>;
18
+ afterOfferClaim?: (offer: IClientOffer, rewards: IReward[]) => void | Promise<void>;
19
+ onOfferSurfaced?: (offer: IClientOffer) => boolean | Promise<boolean>;
20
+ onError?: (error: Error, context?: string) => void;
21
+ }
@@ -0,0 +1,23 @@
1
+ import { AssetResolver, TokenProvider } from './hooks';
2
+ export * from './offer';
3
+ export * from './events';
4
+ export * from './hooks';
5
+ export * from './connection';
6
+ export interface OfferwallConfig {
7
+ endpoint?: string;
8
+ jwt?: string;
9
+ autoConnect?: boolean;
10
+ reconnect?: boolean;
11
+ reconnectDelay?: number;
12
+ maxReconnectAttempts?: number;
13
+ debug?: boolean;
14
+ hooks?: Partial<import('./hooks').OfferwallHooks>;
15
+ assetResolver?: AssetResolver;
16
+ fallbackRewardImage: string;
17
+ tokenProvider: TokenProvider;
18
+ }
19
+ export interface SSEMessage {
20
+ type: 'init' | 'update' | 'offer_added' | 'offer_removed' | 'offer_updated' | 'player_offer_updated';
21
+ data: any;
22
+ timestamp: number;
23
+ }
@@ -0,0 +1,142 @@
1
+ import { ICompletionCondition, ICompletionTrackers, ISurfacingCondition } from "./player";
2
+ import { IReward } from "./reward";
3
+ /** Referral configuration setup if we want to reward players from referring other players */
4
+ export interface IOfferReferrals {
5
+ /** min count of successful referrals to get this reward */
6
+ minCount?: number;
7
+ /** max count of successful referrals to get this reward */
8
+ maxCount?: number;
9
+ /** conditions that each referred player must meet in order to qualify for the referral.
10
+ * don't allow tags to be used as conditions since players can't really control their tags direclty */
11
+ conditions: Omit<ISurfacingCondition, 'andTags' | 'orTags' | 'notTags'>;
12
+ }
13
+ export interface IOffer {
14
+ _id: string;
15
+ name: string;
16
+ /** how high of a priority is this offer in comparison to other offers? 1 is highest priority */
17
+ priority?: number;
18
+ description: string;
19
+ createdAt?: Date;
20
+ /** notes about this offer */
21
+ notes?: string;
22
+ /** if this offer is tied to other offers for a/b testing, this is the ID that ties
23
+ * all of the offers together
24
+ */
25
+ campaign?: string;
26
+ image?: string;
27
+ /** game that this offer corresponds to */
28
+ gameId: string;
29
+ /** start date of surfacing this offer to players */
30
+ startDate?: Date;
31
+ /** end date of surfacing this offer to players */
32
+ endDate?: Date;
33
+ /** if fully archived, the offer will be deleted from memory and not be surfaced anymore to ANYONE. Current players with the offer will no longer see it */
34
+ archived?: boolean;
35
+ /** is this offer disabled right now? */
36
+ disabled?: boolean;
37
+ /** categories this offer belongs to. Used to limit the number of offers that a player can have
38
+ * of a SPECIFIC category at once
39
+ */
40
+ categories?: Array<string>;
41
+ /** how long after completing this offer can a player get the same offer again? If undefined, this offer only shows up once EVER for the player */
42
+ cooldownMs?: number;
43
+ /** how long after a player receives this offer is it available for, before expiring? */
44
+ expiryMs?: number;
45
+ /** what context arguments cause this offer to be surfaced to a player? Leave blank if any context will enable surfacing of this offer */
46
+ surfacingContexts?: Array<string>;
47
+ /** conditions that all must be fulfilled if this offer is to be surfaced to a player */
48
+ surfacingConditions: ISurfacingCondition;
49
+ /** triggers that allow this offer to be claimable. Leave empty if merely surfacing the offer should allow claiming. */
50
+ completionConditions?: ICompletionCondition;
51
+ /** if there were any completion trackers that were set, and then UPDATED/MODIFIED after the offer went live, some players will have
52
+ * the old trackers and some will have the new trackers. We need to store all trackers because we need to write all historical trackers into
53
+ * global memory. By doing this, we can optimize the pub/sub tracking so that we don't have to constantly lookup all player's PlayerOffer docs
54
+ * and only look them up when necessary
55
+ */
56
+ allCompletionTrackers?: {
57
+ buyItem?: Array<string>;
58
+ spendCurrency?: Array<string>;
59
+ depositCurrency?: Array<string>;
60
+ };
61
+ /** If we want to A/B test rewards, this is a map of label to probability of getting rewards for that label. Should add up to 1.
62
+ */
63
+ /** what does completing this offer reward the player? */
64
+ rewards: Array<IReward>;
65
+ }
66
+ export declare const PlayerOfferStatuses: readonly ["inQueue", "surfaced", "viewed", "claimable", "claimed", "expired"];
67
+ export type PlayerOfferStatus = (typeof PlayerOfferStatuses)[number];
68
+ export interface IPlayerOffer {
69
+ _id: string;
70
+ /** offer id */
71
+ offer_id: string | IOffer;
72
+ /** is this an offer that should be surfaced AND PUSHED in real-time to a player? */
73
+ realTime?: boolean;
74
+ claimedAt?: Date;
75
+ rewards: Array<IReward>;
76
+ /** when the player offer is created, we copy over all completion conditions to
77
+ * player offer so that if the original offer changes, the player still sees whatever
78
+ * the completion conditions were at the time of creation.
79
+ *
80
+ * If there are no completion conditions, then the offer should be claimable immediately
81
+ */
82
+ completionConditions?: ICompletionCondition;
83
+ /** tracking the player's status for completing the conditions to claim the offer, if
84
+ * required.
85
+ */
86
+ completionTrackers?: ICompletionTrackers;
87
+ /** status of the offer
88
+ * - inQueue: offer has been added to the player's queue, but not yet served because they are maxed out on offer slots currently
89
+ * - surfaced: offer is now surfaced to the player, but not viewed by the player yet.
90
+ * - viewed: offer has been viewed by the player, but not yet completed. The expiration time only starts when the player views the offer
91
+ * - claimable: offer has been completed and is now claimable by the player
92
+ * - claimed: offer has been completed and the player has claimed the rewards.
93
+ * - expired: offer has expired and is no longer available to the player
94
+ */
95
+ status: PlayerOfferStatus;
96
+ /** player _id */
97
+ playerId: string;
98
+ /** game _id */
99
+ gameId: string;
100
+ /** created at date */
101
+ createdAt: Date;
102
+ /** expiry date */
103
+ expiresAt?: Date;
104
+ }
105
+ export interface IClientOffer {
106
+ /** offer id */
107
+ offerId: string;
108
+ instanceId: string;
109
+ /** player _id */
110
+ playerId: string;
111
+ /** game that this offer corresponds to */
112
+ gameId: string;
113
+ name: string;
114
+ description: string;
115
+ image?: string;
116
+ /** when the player offer is created, we copy over all completion conditions to
117
+ * player offer so that if the original offer changes, the player still sees whatever
118
+ * the completion conditions were at the time of creation.
119
+ *
120
+ * If there are no completion conditions, then the offer should be claimable immediately
121
+ */
122
+ completionConditions?: ICompletionCondition;
123
+ /** tracking the player's status for completing the conditions to claim the offer, if
124
+ * required.
125
+ */
126
+ completionTrackers?: ICompletionTrackers;
127
+ /** what does completing this offer reward the player? */
128
+ rewards: Array<IReward>;
129
+ /** status of the offer
130
+ * - inQueue: offer has been added to the player's queue, but not yet served because they are maxed out on offer slots currently
131
+ * - surfaced: offer is now surfaced to the player, but not viewed by the player yet.
132
+ * - viewed: offer has been viewed by the player, but not yet completed. The expiration time only starts when the player views the offer
133
+ * - claimable: offer has been completed and is now claimable by the player
134
+ * - claimed: offer has been completed and the player has claimed the rewards.
135
+ * - expired: offer has expired and is no longer available to the player
136
+ */
137
+ status: PlayerOfferStatus;
138
+ /** created at date */
139
+ createdAt: Date;
140
+ /** expiry date */
141
+ expiresAt?: Date;
142
+ }
@@ -0,0 +1,185 @@
1
+ export type IClientPlayerSnapshot = Omit<IPlayerSnapshot, 'tags' | 'tagsLastUpdated'>;
2
+ export interface IPlayerSnapshot {
3
+ gameId: string;
4
+ playerId: string;
5
+ /** player that referred this player to this game */
6
+ referredById?: string;
7
+ /** did this player complete referee and can claim rewards now? Store this here so we don't need to do another db lookup */
8
+ refereeRewardsClaimable?: boolean;
9
+ username?: string;
10
+ snapshotLastUpdated: number;
11
+ offersLastChecked?: number;
12
+ daysInGame: number;
13
+ loginStreak: number;
14
+ daysInGameLastUpdated: number;
15
+ /** staked tokens data for this player */
16
+ stakedTokens?: Record<
17
+ /** the key is the token name. Eg. PIXEL or RON */
18
+ string, {
19
+ balance?: number;
20
+ totalClaimed?: number;
21
+ totalStaked?: number;
22
+ lastStake?: number;
23
+ lastUnstake?: number;
24
+ }>;
25
+ loyaltyCurrencies?: Record<string, {
26
+ balance?: number;
27
+ lastUpdated?: number;
28
+ }>;
29
+ currencies?: Record<string, {
30
+ balance?: number;
31
+ in?: number;
32
+ out?: number;
33
+ lastUpdated?: number;
34
+ }>;
35
+ levels?: Record<string, {
36
+ level?: number;
37
+ lastUpdated?: number;
38
+ }>;
39
+ quests?: Record<string, {
40
+ completions?: number;
41
+ lastUpdated?: number;
42
+ }>;
43
+ trustScore?: number;
44
+ trustLastUpdated?: number;
45
+ achievements?: Record<string, {
46
+ count?: number;
47
+ lastUpdated: number;
48
+ }>;
49
+ memberships?: Record<string, {
50
+ count?: number;
51
+ expiresAt?: number;
52
+ lastUpdated?: number;
53
+ }>;
54
+ cryptoWallets?: Array<{
55
+ address?: string;
56
+ lastUpdated?: number;
57
+ }>;
58
+ /** wallets that this player has sent on-chain rewards to */
59
+ rewardWallets?: Array<{
60
+ address: string;
61
+ /** list of chains that this wallet has received funds from */
62
+ chainIds: Array<number>;
63
+ /** list of contract IDs that this wallet has received funds from */
64
+ contractIds: Array<string>;
65
+ }>;
66
+ tags?: Array<string>;
67
+ tagsLastUpdated?: number;
68
+ }
69
+ export interface IBaseCondition {
70
+ /** how many days worth of consecutive logins are required to surface? Or complete this? If checking completion conditions, we need to subtract
71
+ * this number from IPlayerOffer.completionTrackers.currentLoginStreak to see how many consecutive logins the player has had since surfacing this offer.
72
+ */
73
+ loginStreak?: number;
74
+ levels?: Record<string, {
75
+ /** public facing display name */
76
+ name: string;
77
+ /** min level required */
78
+ min?: number;
79
+ /** max level for offer */
80
+ max?: number;
81
+ }>;
82
+ stakedTokens?: Record<string, {
83
+ /** public facing display name */
84
+ name: string;
85
+ /** min amount of tokens that need to be staked? */
86
+ min?: number;
87
+ }>;
88
+ /** if the condition revolves around having a specific amount of currency or currencies. Key is the currencyId
89
+ * and the value is the min or max amount of that currency the player must have to be eligible for this offer
90
+ */
91
+ currencies?: Record<string, {
92
+ /** public facing display name */
93
+ name: string;
94
+ /** if the player has this currency, how much do they need to have? */
95
+ min?: number;
96
+ /** if the player has this currency, how much do they need to have? */
97
+ max?: number;
98
+ /** required deposits required for this currency */
99
+ in?: number;
100
+ /** required withdrawals required for this currency */
101
+ out?: number;
102
+ }>;
103
+ /** for high-rep kind, how much rep does a player need to qualify? */
104
+ minTrustScore?: number;
105
+ maxTrustScore?: number;
106
+ /** number of days that the player has logged in-game. Not the absolute amount of time playing the game. But number of days they have logged in for.
107
+ * Can obtain this on a DAILY join_room player metric if it is set up.
108
+ */
109
+ minDaysInGame?: number;
110
+ /** achievements that this player has */
111
+ achievements?: Record<string, {
112
+ name: string;
113
+ minCount?: number;
114
+ }>;
115
+ memberships?: Record<string, {
116
+ /** public facing display name */
117
+ name: string;
118
+ /** if the player has this currency, how much do they need to have? */
119
+ minCount?: number;
120
+ /** if the player has this currency, how much do they need to have? */
121
+ maxCount?: number;
122
+ /** how long does a player have to have this membership? */
123
+ minMs?: number;
124
+ /** max duration a player can have this membership for */
125
+ maxMs?: number;
126
+ }>;
127
+ /** player must have completed these quests for this offer to surface */
128
+ quests?: Record<string, {
129
+ /** public facing display name */
130
+ name: string;
131
+ /** if a min number of quest completions is required */
132
+ completions?: number;
133
+ }>;
134
+ }
135
+ export interface ISurfacingCondition extends IBaseCondition {
136
+ /** number of days that the player has logged in-game. Not the absolute amount of time playing the game. But number of days they have logged in for.
137
+ * Can obtain this on a DAILY join_room player metric if it is set up.
138
+ */
139
+ maxDaysInGame?: number;
140
+ /** player must have all tags specified to be eligible */
141
+ andTags?: Array<string>;
142
+ /** player can have any of these tags to be eligible */
143
+ orTags?: Array<string>;
144
+ /** player cannot have any of these tags */
145
+ notTags?: Array<string>;
146
+ }
147
+ /** conditions that must be met for an already surfaced offer to be claimable */
148
+ export interface ICompletionCondition extends IBaseCondition {
149
+ /** itemId that must be bought to complete */
150
+ buyItem?: {
151
+ id: string;
152
+ name: string;
153
+ /** amount of item bought or currency spent/deposited to fufil condition */
154
+ amount?: number;
155
+ };
156
+ /** currencyId that must be spent to complete */
157
+ spendCurrency?: {
158
+ id: string;
159
+ name: string;
160
+ /** amount of item bought or currency spent/deposited to fufil condition */
161
+ amount?: number;
162
+ };
163
+ /** currencyId that must be deposited to complete */
164
+ depositCurrency?: {
165
+ id: string;
166
+ name: string;
167
+ /** amount of item bought or currency spent/deposited to fufil condition */
168
+ amount?: number;
169
+ };
170
+ login?: boolean;
171
+ }
172
+ /** tracking the player's status for completing the conditions to claim the offer, if
173
+ * required.
174
+ */
175
+ export interface ICompletionTrackers {
176
+ /** how many counts of the required item has been bought. itemId and amount required defined in completionConditions */
177
+ buyItem?: number;
178
+ /** how many counts of the required currency has been spent. currencyId and amount required defined in completionConditions */
179
+ spendCurrency?: number;
180
+ /** how many counts of the required currency has been deposited. currencyId and amount required defined in completionConditions */
181
+ depositCurrency?: number;
182
+ /** the number of days that have been consecutively logged in at the time of surfacing this offer */
183
+ currentLoginStreak?: number;
184
+ login?: boolean;
185
+ }
@@ -0,0 +1,22 @@
1
+ export interface IReward {
2
+ /** reward kind */
3
+ kind: RewardKind;
4
+ /** if the trigger is type daily-login, which day is this reward for? */
5
+ /** if reward kind is exp */
6
+ skillId?: string;
7
+ /** if reward kind is coins or discount */
8
+ currencyId?: string;
9
+ /** fireblocks assetId for on-chain rewards */
10
+ assetId?: string;
11
+ /** if reward kind is item */
12
+ itemId?: string;
13
+ /** amount of reward to give. If kind is discount, then this refers to the discount amount, as a fraction */
14
+ amount: number;
15
+ /** public facing name for this reward */
16
+ name: string;
17
+ }
18
+ export type RewardKind = (typeof rewardKinds)[number];
19
+ export interface IResolvedReward extends IReward {
20
+ image?: string;
21
+ }
22
+ export declare const rewardKinds: readonly ["item", "coins", "exp", "trust_points", "on_chain"];
@@ -0,0 +1,18 @@
1
+ import { OfferwallConfig } from '../types';
2
+ export declare class Logger {
3
+ private config;
4
+ private prefix;
5
+ constructor(config: OfferwallConfig, prefix: string);
6
+ log(...args: any[]): void;
7
+ error(...args: any[]): void;
8
+ warn(...args: any[]): void;
9
+ info(...args: any[]): void;
10
+ /**
11
+ * Create a child logger with an additional prefix
12
+ */
13
+ child(subPrefix: string): Logger;
14
+ }
15
+ /**
16
+ * Create a logger instance for a component
17
+ */
18
+ export declare function createLogger(config: OfferwallConfig, prefix: string): Logger;
@@ -0,0 +1,9 @@
1
+ import { IClientOffer, OfferwallConfig } from '../types';
2
+ import { AssetContent } from '../types/hooks';
3
+ import { IResolvedReward, IReward } from '../types/reward';
4
+ export declare class AssetHelper {
5
+ private config;
6
+ constructor(config: OfferwallConfig);
7
+ resolveReward(reward: IReward): AssetContent;
8
+ resolveOfferRewards(offer: IClientOffer): Array<IResolvedReward>;
9
+ }
@@ -0,0 +1,34 @@
1
+ import { IClientPlayerSnapshot, ICompletionCondition, IBaseCondition, ICompletionTrackers } from '../types/player';
2
+ export declare const meetsBaseConditions: ({ conditions, playerSnap, addDetails, }: {
3
+ conditions: IBaseCondition;
4
+ playerSnap: IClientPlayerSnapshot;
5
+ addDetails?: boolean;
6
+ }) => {
7
+ isValid: boolean;
8
+ conditionData?: undefined;
9
+ } | {
10
+ isValid: boolean;
11
+ conditionData: {
12
+ isMet: boolean;
13
+ kind?: keyof IBaseCondition;
14
+ trackerAmount?: number;
15
+ text: string;
16
+ }[] | undefined;
17
+ };
18
+ export declare const meetsCompletionConditions: ({ completionConditions, completionTrackers, playerSnap, addDetails, }: {
19
+ completionConditions: ICompletionCondition;
20
+ completionTrackers?: ICompletionTrackers;
21
+ playerSnap: IClientPlayerSnapshot;
22
+ addDetails?: boolean;
23
+ }) => {
24
+ isValid: boolean;
25
+ conditionData?: undefined;
26
+ } | {
27
+ isValid: boolean;
28
+ conditionData: {
29
+ isMet: boolean;
30
+ kind?: keyof ICompletionCondition;
31
+ trackerAmount?: number;
32
+ text: string;
33
+ }[];
34
+ };