@awarizon/sdk 2.0.0

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.
package/dist/index.js ADDED
@@ -0,0 +1,1154 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ AlreadyDelegatedError: () => AlreadyDelegatedError,
24
+ AwarizonClient: () => AwarizonClient,
25
+ AwarizonError: () => AwarizonError,
26
+ BLOCK_TIME_SECONDS: () => BLOCK_TIME_SECONDS,
27
+ CHAIN_NAME: () => CHAIN_NAME,
28
+ CampaignDeliveryLimitReachedError: () => CampaignDeliveryLimitReachedError,
29
+ CampaignExpiredError: () => CampaignExpiredError,
30
+ CampaignNotActiveError: () => CampaignNotActiveError,
31
+ CampaignNotFoundError: () => CampaignNotFoundError,
32
+ CannotDelegateToSelfError: () => CannotDelegateToSelfError,
33
+ CountryCapExceededError: () => CountryCapExceededError,
34
+ DEFAULT_CAMPAIGN_DURATION_DAYS: () => DEFAULT_CAMPAIGN_DURATION_DAYS,
35
+ DEFAULT_ENDPOINT: () => DEFAULT_ENDPOINT,
36
+ DEVELOPER_MIN_TENURE_DAYS: () => DEVELOPER_MIN_TENURE_DAYS,
37
+ DelegationNotFoundError: () => DelegationNotFoundError,
38
+ DeveloperAlreadyRegisteredError: () => DeveloperAlreadyRegisteredError,
39
+ DeveloperNotFoundError: () => DeveloperNotFoundError,
40
+ DeveloperNotVerifiedError: () => DeveloperNotVerifiedError,
41
+ DeveloperSuspendedError: () => DeveloperSuspendedError,
42
+ ENGAGEMENT_COOLDOWN_HOURS: () => ENGAGEMENT_COOLDOWN_HOURS,
43
+ EPOCH_LENGTH_BLOCKS: () => EPOCH_LENGTH_BLOCKS,
44
+ EngagementCooldownActiveError: () => EngagementCooldownActiveError,
45
+ EngagementDailyLimitReachedError: () => EngagementDailyLimitReachedError,
46
+ EngagementInvalidError: () => EngagementInvalidError,
47
+ EpochNotReadyError: () => EpochNotReadyError,
48
+ GENESIS_VALIDATORS: () => GENESIS_VALIDATORS,
49
+ InboxAlreadyDeliveredError: () => InboxAlreadyDeliveredError,
50
+ InboxFullError: () => InboxFullError,
51
+ InboxRecordNotFoundError: () => InboxRecordNotFoundError,
52
+ InsufficientBalanceError: () => InsufficientBalanceError,
53
+ InsufficientStakeError: () => InsufficientStakeError,
54
+ InvalidCampaignIdError: () => InvalidCampaignIdError,
55
+ InvalidManifestHashError: () => InvalidManifestHashError,
56
+ MAX_CAMPAIGN_DURATION_DAYS: () => MAX_CAMPAIGN_DURATION_DAYS,
57
+ MAX_CATEGORY_HISTORY_ENTRIES: () => MAX_CATEGORY_HISTORY_ENTRIES,
58
+ MAX_ENGAGEMENT_EVENTS_PER_DAY: () => MAX_ENGAGEMENT_EVENTS_PER_DAY,
59
+ MAX_REGION_CODES_PER_CAMPAIGN: () => MAX_REGION_CODES_PER_CAMPAIGN,
60
+ MAX_TARGETING_DIMENSIONS: () => MAX_TARGETING_DIMENSIONS,
61
+ MICRO_RIZ: () => MICRO_RIZ,
62
+ MILLI_RIZ: () => MILLI_RIZ,
63
+ MIN_CAMPAIGN_DURATION_DAYS: () => MIN_CAMPAIGN_DURATION_DAYS,
64
+ MIN_INTERACTIONS: () => MIN_INTERACTIONS,
65
+ MIN_SESSION_SECONDS: () => MIN_SESSION_SECONDS,
66
+ ManifestAlreadyRegisteredError: () => ManifestAlreadyRegisteredError,
67
+ ManifestLimitReachedError: () => ManifestLimitReachedError,
68
+ ManifestNotFoundError: () => ManifestNotFoundError,
69
+ MaxValidatorsReachedError: () => MaxValidatorsReachedError,
70
+ NotExpiredYetError: () => NotExpiredYetError,
71
+ PERF_WEIGHT_BLOCKS_BPS: () => PERF_WEIGHT_BLOCKS_BPS,
72
+ PERF_WEIGHT_FINALITY_BPS: () => PERF_WEIGHT_FINALITY_BPS,
73
+ PERF_WEIGHT_SLASH_BPS: () => PERF_WEIGHT_SLASH_BPS,
74
+ PERF_WEIGHT_UPTIME_BPS: () => PERF_WEIGHT_UPTIME_BPS,
75
+ PLANCK: () => PLANCK,
76
+ RIZ: () => RIZ,
77
+ RegionCapExceededError: () => RegionCapExceededError,
78
+ ResetNotReadyError: () => ResetNotReadyError,
79
+ TARGET_VALIDATORS: () => TARGET_VALIDATORS,
80
+ TargetingDimensionLimitExceededError: () => TargetingDimensionLimitExceededError,
81
+ UnauthorizedError: () => UnauthorizedError,
82
+ ValidatorAlreadyRegisteredError: () => ValidatorAlreadyRegisteredError,
83
+ ValidatorNotActiveError: () => ValidatorNotActiveError,
84
+ ValidatorNotFoundError: () => ValidatorNotFoundError,
85
+ aliceKeypair: () => aliceKeypair,
86
+ awarizonRpc: () => awarizonRpc,
87
+ awarizonTypes: () => awarizonTypes,
88
+ blocksToTime: () => blocksToTime,
89
+ bobKeypair: () => bobKeypair,
90
+ buildAdvanceEpoch: () => buildAdvanceEpoch,
91
+ buildBloomFilter: () => buildBloomFilter,
92
+ buildCheckWalletMatch: () => buildCheckWalletMatch,
93
+ buildClaimReward: () => buildClaimReward,
94
+ buildCreateAsset: () => buildCreateAsset,
95
+ buildCreateCampaign: () => buildCreateCampaign,
96
+ buildDelegateStake: () => buildDelegateStake,
97
+ buildDeliverToInbox: () => buildDeliverToInbox,
98
+ buildDismissInboxRecord: () => buildDismissInboxRecord,
99
+ buildExpireCampaign: () => buildExpireCampaign,
100
+ buildMintAsset: () => buildMintAsset,
101
+ buildRegisterDeveloper: () => buildRegisterDeveloper,
102
+ buildRegisterManifest: () => buildRegisterManifest,
103
+ buildRegisterValidator: () => buildRegisterValidator,
104
+ buildResetDailyEngagement: () => buildResetDailyEngagement,
105
+ buildRunEpochElection: () => buildRunEpochElection,
106
+ buildRunTargetingBatch: () => buildRunTargetingBatch,
107
+ buildSlashValidator: () => buildSlashValidator,
108
+ buildStakeRiz: () => buildStakeRiz,
109
+ buildSubmitEngagement: () => buildSubmitEngagement,
110
+ buildTerminateCampaign: () => buildTerminateCampaign,
111
+ buildTransferAsset: () => buildTransferAsset,
112
+ buildUndelegateStake: () => buildUndelegateStake,
113
+ buildUpdatePerformance: () => buildUpdatePerformance,
114
+ buildUpdateWalletIndex: () => buildUpdateWalletIndex,
115
+ bytesToHex: () => bytesToHex,
116
+ checkCampaignMatch: () => checkCampaignMatch,
117
+ connect: () => connect,
118
+ createKeyring: () => createKeyring,
119
+ formatRiz: () => formatRiz,
120
+ generateCampaignId: () => generateCampaignId,
121
+ getActiveCampaignCount: () => getActiveCampaignCount,
122
+ getActiveValidators: () => getActiveValidators,
123
+ getBlockTransactions: () => getBlockTransactions,
124
+ getCampaign: () => getCampaign,
125
+ getCampaignDeliveryStatus: () => getCampaignDeliveryStatus,
126
+ getDeveloperCampaigns: () => getDeveloperCampaigns,
127
+ getDeveloperManifests: () => getDeveloperManifests,
128
+ getDeveloperProfile: () => getDeveloperProfile,
129
+ getIdentity: () => getIdentity,
130
+ getInboxCount: () => getInboxCount,
131
+ getInboxRecord: () => getInboxRecord,
132
+ getLinkedAddresses: () => getLinkedAddresses,
133
+ getNetworkStats: () => getNetworkStats,
134
+ getRecentTransactions: () => getRecentTransactions,
135
+ getTokenStats: () => getTokenStats,
136
+ getTotalIdentities: () => getTotalIdentities,
137
+ getValidatorCount: () => getValidatorCount,
138
+ getValidatorPerformance: () => getValidatorPerformance,
139
+ getVestingSchedule: () => getVestingSchedule,
140
+ getWalletTargetingProfile: () => getWalletTargetingProfile,
141
+ hexToBytes: () => hexToBytes,
142
+ isNameAvailable: () => isNameAvailable,
143
+ isValidAddress: () => isValidAddress,
144
+ keypairFromMnemonic: () => keypairFromMnemonic,
145
+ keypairFromSeed: () => keypairFromSeed,
146
+ lookupName: () => lookupName,
147
+ parseChainError: () => parseChainError,
148
+ parsePlanckString: () => parsePlanckString,
149
+ parseRiz: () => parseRiz,
150
+ signAndSend: () => signAndSend
151
+ });
152
+ module.exports = __toCommonJS(index_exports);
153
+
154
+ // src/client.ts
155
+ var import_api = require("@polkadot/api");
156
+
157
+ // src/customTypes.ts
158
+ var awarizonTypes = {
159
+ // pallets/awarizon-types/src/lib.rs — enum AppCategory
160
+ AppCategory: {
161
+ _enum: [
162
+ "DeFi",
163
+ "Gaming",
164
+ "Social",
165
+ "Productivity",
166
+ "Infrastructure",
167
+ "DigitalAssets",
168
+ "DeveloperTools",
169
+ "Education"
170
+ ]
171
+ },
172
+ // pallets/awarizon-types/src/lib.rs — enum CampaignStatus
173
+ CampaignStatus: {
174
+ _enum: ["Pending", "Active", "Expired", "Terminated"]
175
+ },
176
+ // pallets/awarizon-types/src/lib.rs — enum InboxRecordStatus
177
+ InboxRecordStatus: {
178
+ _enum: ["Pending", "Delivered", "Dismissed", "Engaged"]
179
+ },
180
+ // pallets/awarizon-types/src/lib.rs — enum DeveloperStatus
181
+ DeveloperStatus: {
182
+ _enum: ["Unverified", "Verified", "Suspended"]
183
+ },
184
+ // pallets/awarizon-types/src/lib.rs — enum TransactionType
185
+ TransactionType: {
186
+ _enum: ["Financial", "Distribution", "System"]
187
+ },
188
+ // pallets/awarizon-types/src/lib.rs — struct TargetingCriteria
189
+ TargetingCriteria: {
190
+ wallet_age_min: "Option<u32>",
191
+ wallet_age_max: "Option<u32>",
192
+ riz_balance_min: "Option<u128>",
193
+ riz_balance_max: "Option<u128>",
194
+ activity_min: "Option<u32>",
195
+ activity_max: "Option<u32>",
196
+ region_codes: "Vec<u8>",
197
+ category_history: "Vec<AppCategory>",
198
+ custom_logic_hash: "Option<H256>"
199
+ },
200
+ // pallets/awarizon-types/src/lib.rs — struct DeveloperProfile<AccountId, BlockNumber>
201
+ DeveloperProfile: {
202
+ account: "AccountId",
203
+ staked_riz: "u128",
204
+ status: "DeveloperStatus",
205
+ first_distribution_block: "Option<u32>",
206
+ violation_count: "u32",
207
+ total_campaigns: "u32",
208
+ total_deliveries: "u64"
209
+ },
210
+ // pallets/awarizon-types/src/lib.rs — struct AppManifest<AccountId, BlockNumber>
211
+ AppManifest: {
212
+ manifest_hash: "H256",
213
+ developer: "AccountId",
214
+ category: "AppCategory",
215
+ registered_at: "u32",
216
+ metadata_uri: "Vec<u8>"
217
+ },
218
+ // pallets/awarizon-types/src/lib.rs — struct Campaign<AccountId, BlockNumber>
219
+ Campaign: {
220
+ campaign_id: "H256",
221
+ developer: "AccountId",
222
+ manifest_hash: "H256",
223
+ targeting: "TargetingCriteria",
224
+ status: "CampaignStatus",
225
+ created_at: "u32",
226
+ expires_at: "u32",
227
+ max_deliveries: "u64",
228
+ current_deliveries: "u64",
229
+ storage_fee_paid: "u128"
230
+ },
231
+ // pallets/awarizon-types/src/lib.rs — struct InboxRecord<AccountId, BlockNumber>
232
+ InboxRecord: {
233
+ record_id: "H256",
234
+ campaign_id: "H256",
235
+ developer: "AccountId",
236
+ manifest_hash: "H256",
237
+ category: "AppCategory",
238
+ status: "InboxRecordStatus",
239
+ delivered_at: "u32",
240
+ engaged_at: "Option<u32>",
241
+ reward_claimed: "bool"
242
+ },
243
+ // pallets/awarizon-consensus/src/lib.rs — struct ValidatorInfo<AccountId>
244
+ ValidatorInfo: {
245
+ account: "AccountId",
246
+ self_stake: "u128",
247
+ delegated_stake: "u128",
248
+ region_code: "u8",
249
+ country_code: "u8",
250
+ uptime_bps: "u32",
251
+ finality_bps: "u32",
252
+ blocks_bps: "u32",
253
+ slash_count: "u32",
254
+ is_active: "bool",
255
+ epoch_registered: "u64"
256
+ },
257
+ // pallets/awarizon-consensus/src/lib.rs — struct Delegation<AccountId>
258
+ Delegation: {
259
+ delegator: "AccountId",
260
+ validator: "AccountId",
261
+ amount: "u128",
262
+ epoch_delegated: "u64"
263
+ }
264
+ };
265
+ var awarizonRpc = {
266
+ awarizon: {
267
+ // Developer endpoints
268
+ getDeveloperProfile: {
269
+ description: "Get developer profile by SS58 account address",
270
+ params: [{ name: "account", type: "Text" }],
271
+ type: "Json"
272
+ },
273
+ getDeveloperCampaigns: {
274
+ description: "Get all campaign IDs for a developer",
275
+ params: [{ name: "account", type: "Text" }],
276
+ type: "Vec<Text>"
277
+ },
278
+ getDeveloperManifests: {
279
+ description: "Get all manifest hashes for a developer",
280
+ params: [{ name: "account", type: "Text" }],
281
+ type: "Vec<Text>"
282
+ },
283
+ // Campaign endpoints
284
+ getCampaign: {
285
+ description: "Get campaign details by campaign ID (0x hex)",
286
+ params: [{ name: "campaign_id", type: "Text" }],
287
+ type: "Json"
288
+ },
289
+ getActiveCampaignCount: {
290
+ description: "Get the number of currently active campaigns",
291
+ params: [],
292
+ type: "u64"
293
+ },
294
+ getCampaignDeliveryStatus: {
295
+ description: "Get delivery progress for a campaign",
296
+ params: [{ name: "campaign_id", type: "Text" }],
297
+ type: "Json"
298
+ },
299
+ // Inbox endpoints
300
+ getInboxCount: {
301
+ description: "Get number of inbox records for a wallet",
302
+ params: [{ name: "wallet", type: "Text" }],
303
+ type: "u32"
304
+ },
305
+ getInboxRecord: {
306
+ description: "Get a specific inbox record by wallet and record ID",
307
+ params: [
308
+ { name: "wallet", type: "Text" },
309
+ { name: "record_id", type: "Text" }
310
+ ],
311
+ type: "Json"
312
+ },
313
+ // Targeting endpoints
314
+ getWalletTargetingProfile: {
315
+ description: "Get pre-computed targeting profile for a wallet",
316
+ params: [{ name: "wallet", type: "Text" }],
317
+ type: "Json"
318
+ },
319
+ checkCampaignMatch: {
320
+ description: "Check cached targeting match result for (campaign, wallet)",
321
+ params: [
322
+ { name: "campaign_id", type: "Text" },
323
+ { name: "wallet", type: "Text" }
324
+ ],
325
+ type: "bool"
326
+ },
327
+ // Validator endpoints
328
+ getActiveValidators: {
329
+ description: "Get SS58 addresses of all active validators",
330
+ params: [],
331
+ type: "Vec<Text>"
332
+ },
333
+ getValidatorCount: {
334
+ description: "Get total number of active validators",
335
+ params: [],
336
+ type: "u32"
337
+ },
338
+ getValidatorPerformance: {
339
+ description: "Get performance metrics for a validator",
340
+ params: [{ name: "account", type: "Text" }],
341
+ type: "Json"
342
+ },
343
+ // Network stats endpoints
344
+ getNetworkStats: {
345
+ description: "Get Awarizon network statistics",
346
+ params: [],
347
+ type: "Json"
348
+ },
349
+ getTokenStats: {
350
+ description: "Get token issuance and engagement pool statistics",
351
+ params: [],
352
+ type: "Json"
353
+ }
354
+ }
355
+ };
356
+
357
+ // src/constants.ts
358
+ var PLANCK = 1n;
359
+ var RIZ = 1000000000000n;
360
+ var MICRO_RIZ = 1000000n;
361
+ var MILLI_RIZ = 1000000000n;
362
+ var DEFAULT_ENDPOINT = "ws://127.0.0.1:9944";
363
+ var CHAIN_NAME = "Awarizon Development";
364
+ var GENESIS_VALIDATORS = 51;
365
+ var TARGET_VALIDATORS = 121;
366
+ var BLOCK_TIME_SECONDS = 3;
367
+ var EPOCH_LENGTH_BLOCKS = 28800;
368
+ var MIN_CAMPAIGN_DURATION_DAYS = 1;
369
+ var MAX_CAMPAIGN_DURATION_DAYS = 90;
370
+ var DEFAULT_CAMPAIGN_DURATION_DAYS = 30;
371
+ var MIN_SESSION_SECONDS = 120;
372
+ var MIN_INTERACTIONS = 5;
373
+ var ENGAGEMENT_COOLDOWN_HOURS = 24;
374
+ var MAX_ENGAGEMENT_EVENTS_PER_DAY = 10;
375
+ var MAX_TARGETING_DIMENSIONS = 6;
376
+ var MAX_REGION_CODES_PER_CAMPAIGN = 64;
377
+ var MAX_CATEGORY_HISTORY_ENTRIES = 8;
378
+ var DEVELOPER_MIN_TENURE_DAYS = 30;
379
+ var PERF_WEIGHT_UPTIME_BPS = 5e3;
380
+ var PERF_WEIGHT_FINALITY_BPS = 2500;
381
+ var PERF_WEIGHT_BLOCKS_BPS = 1500;
382
+ var PERF_WEIGHT_SLASH_BPS = 1e3;
383
+
384
+ // src/client.ts
385
+ var AwarizonClient = class {
386
+ constructor(endpoint = DEFAULT_ENDPOINT) {
387
+ this.api = null;
388
+ this.endpoint = endpoint;
389
+ }
390
+ async connect() {
391
+ if (this.api?.isConnected) return this.api;
392
+ const provider = new import_api.WsProvider(this.endpoint);
393
+ this.api = await import_api.ApiPromise.create({
394
+ provider,
395
+ types: awarizonTypes,
396
+ rpc: awarizonRpc
397
+ });
398
+ await this.api.isReady;
399
+ return this.api;
400
+ }
401
+ async disconnect() {
402
+ if (this.api) {
403
+ await this.api.disconnect();
404
+ this.api = null;
405
+ }
406
+ }
407
+ getApi() {
408
+ if (!this.api?.isConnected) {
409
+ throw new Error("Not connected. Call connect() first.");
410
+ }
411
+ return this.api;
412
+ }
413
+ async subscribeNewBlocks(callback) {
414
+ const api = this.getApi();
415
+ const unsub = await api.rpc.chain.subscribeNewHeads((header) => {
416
+ callback(header.number.toNumber(), header.hash.toHex());
417
+ });
418
+ return unsub;
419
+ }
420
+ async getBalance(address) {
421
+ const api = this.getApi();
422
+ const account = await api.query.system.account(address);
423
+ return BigInt(account.data.free.toString());
424
+ }
425
+ };
426
+ async function connect(endpoint = DEFAULT_ENDPOINT) {
427
+ const client = new AwarizonClient(endpoint);
428
+ await client.connect();
429
+ return client;
430
+ }
431
+
432
+ // src/utils.ts
433
+ function formatRiz(planck, decimals = 4) {
434
+ const whole = planck / RIZ;
435
+ const remainder = planck % RIZ;
436
+ const decStr = remainder.toString().padStart(12, "0").slice(0, decimals);
437
+ return `${whole}.${decStr}`;
438
+ }
439
+ function parseRiz(riz) {
440
+ const [whole, decimal = ""] = riz.split(".");
441
+ const paddedDecimal = decimal.padEnd(12, "0").slice(0, 12);
442
+ return BigInt(whole) * RIZ + BigInt(paddedDecimal);
443
+ }
444
+ function hexToBytes(hex) {
445
+ const clean = hex.replace("0x", "");
446
+ return new Uint8Array(
447
+ clean.match(/.{1,2}/g)?.map((b) => parseInt(b, 16)) ?? []
448
+ );
449
+ }
450
+ function bytesToHex(bytes) {
451
+ return "0x" + Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
452
+ }
453
+ function generateCampaignId(manifestHash) {
454
+ const timestamp = Date.now().toString(16).padStart(16, "0");
455
+ const hashPart = manifestHash.replace("0x", "").slice(0, 48);
456
+ return "0x" + hashPart + timestamp;
457
+ }
458
+ function isValidAddress(address) {
459
+ return address.length >= 46 && address.length <= 48;
460
+ }
461
+ function blocksToTime(blocks) {
462
+ const seconds = blocks * 3;
463
+ if (seconds < 60) return `${seconds}s`;
464
+ if (seconds < 3600) return `${Math.floor(seconds / 60)}m`;
465
+ if (seconds < 86400) return `${Math.floor(seconds / 3600)}h`;
466
+ return `${Math.floor(seconds / 86400)}d`;
467
+ }
468
+ function parsePlanckString(value) {
469
+ return BigInt(value);
470
+ }
471
+
472
+ // src/rpc.ts
473
+ async function getDeveloperProfile(api, account) {
474
+ const result = await api.rpc.awarizon.getDeveloperProfile(account);
475
+ const json = result.toJSON();
476
+ if (!json) return null;
477
+ return {
478
+ ...json,
479
+ staked_riz: BigInt(json.staked_riz ?? "0"),
480
+ total_deliveries: BigInt(json.total_deliveries ?? "0")
481
+ };
482
+ }
483
+ async function getDeveloperCampaigns(api, account) {
484
+ const result = await api.rpc.awarizon.getDeveloperCampaigns(account);
485
+ return result.toJSON();
486
+ }
487
+ async function getDeveloperManifests(api, account) {
488
+ const result = await api.rpc.awarizon.getDeveloperManifests(account);
489
+ return result.toJSON();
490
+ }
491
+ async function getCampaign(api, campaignId) {
492
+ const result = await api.rpc.awarizon.getCampaign(campaignId);
493
+ const json = result.toJSON();
494
+ if (!json) return null;
495
+ return {
496
+ ...json,
497
+ max_deliveries: BigInt(json.max_deliveries ?? "0"),
498
+ current_deliveries: BigInt(json.current_deliveries ?? "0"),
499
+ storage_fee_paid: BigInt(json.storage_fee_paid ?? "0")
500
+ };
501
+ }
502
+ async function getActiveCampaignCount(api) {
503
+ const result = await api.rpc.awarizon.getActiveCampaignCount();
504
+ return BigInt(result.toString());
505
+ }
506
+ async function getCampaignDeliveryStatus(api, campaignId) {
507
+ const result = await api.rpc.awarizon.getCampaignDeliveryStatus(campaignId);
508
+ const json = result.toJSON();
509
+ if (!json) return null;
510
+ return {
511
+ current_deliveries: BigInt(json.current_deliveries ?? "0"),
512
+ max_deliveries: BigInt(json.max_deliveries ?? "0"),
513
+ remaining: BigInt(json.remaining ?? "0"),
514
+ percentage_used: json.percentage_used
515
+ };
516
+ }
517
+ async function getInboxCount(api, wallet) {
518
+ const result = await api.rpc.awarizon.getInboxCount(wallet);
519
+ return result.toNumber();
520
+ }
521
+ async function getInboxRecord(api, wallet, recordId) {
522
+ const result = await api.rpc.awarizon.getInboxRecord(wallet, recordId);
523
+ const json = result.toJSON();
524
+ if (!json) return null;
525
+ return json;
526
+ }
527
+ async function getWalletTargetingProfile(api, wallet) {
528
+ const result = await api.rpc.awarizon.getWalletTargetingProfile(wallet);
529
+ return result.toJSON();
530
+ }
531
+ async function checkCampaignMatch(api, campaignId, wallet) {
532
+ const result = await api.rpc.awarizon.checkCampaignMatch(campaignId, wallet);
533
+ return result.isTrue;
534
+ }
535
+ async function getActiveValidators(api) {
536
+ const result = await api.rpc.awarizon.getActiveValidators();
537
+ return result.toJSON();
538
+ }
539
+ async function getValidatorCount(api) {
540
+ const result = await api.rpc.awarizon.getValidatorCount();
541
+ return result.toNumber();
542
+ }
543
+ async function getValidatorPerformance(api, account) {
544
+ const result = await api.rpc.awarizon.getValidatorPerformance(account);
545
+ return result.toJSON();
546
+ }
547
+ async function getNetworkStats(api) {
548
+ const result = await api.rpc.awarizon.getNetworkStats();
549
+ const json = result.toJSON();
550
+ return {
551
+ total_wallets: BigInt(String(json.total_wallets ?? "0")),
552
+ total_deliveries: BigInt(String(json.total_deliveries ?? "0")),
553
+ active_campaigns: BigInt(String(json.active_campaigns ?? "0")),
554
+ total_staked: String(json.total_staked ?? "0"),
555
+ current_epoch: BigInt(String(json.current_epoch ?? "0")),
556
+ inbox_reserve_balance: String(json.inbox_reserve_balance ?? "0"),
557
+ total_extrinsics: Number(json.total_extrinsics ?? 0),
558
+ circulating_supply: String(json.circulating_supply ?? "0"),
559
+ non_circulating_supply: String(json.non_circulating_supply ?? "0")
560
+ };
561
+ }
562
+ async function getTokenStats(api) {
563
+ const result = await api.rpc.awarizon.getTokenStats();
564
+ return result.toJSON();
565
+ }
566
+ async function getRecentTransactions(api) {
567
+ const result = await api.rpc.awarizon.getRecentTransactions();
568
+ return result.toJSON().map((r) => ({
569
+ block_number: Number(r.block_number ?? 0),
570
+ extrinsic_index: Number(r.extrinsic_index ?? 0),
571
+ success: Boolean(r.success)
572
+ }));
573
+ }
574
+ async function getBlockTransactions(api, blockNumber) {
575
+ const result = await api.rpc.awarizon.getBlockTransactions(blockNumber);
576
+ return result.toJSON().map((r) => ({
577
+ block_number: Number(r.block_number ?? 0),
578
+ extrinsic_index: Number(r.extrinsic_index ?? 0),
579
+ success: Boolean(r.success)
580
+ }));
581
+ }
582
+ async function getVestingSchedule(api, account) {
583
+ const result = await api.query.vesting.vesting(account);
584
+ const json = result.toJSON();
585
+ if (!json || !Array.isArray(json)) return [];
586
+ return json.map((v) => ({
587
+ locked: String(v.locked ?? v.Locked ?? "0"),
588
+ per_block: String(v.perBlock ?? v.per_block ?? "0"),
589
+ starting_block: Number(v.startingBlock ?? v.starting_block ?? 0)
590
+ }));
591
+ }
592
+ async function getIdentity(api, account) {
593
+ const result = await api.rpc.awarizon.getIdentity(account, null);
594
+ const json = result.toJSON();
595
+ if (!json) return null;
596
+ return {
597
+ account: json.account,
598
+ rizName: json.riz_name ?? null,
599
+ rizNameFull: json.riz_name ? json.riz_name + ".riz" : null,
600
+ displayName: json.display_name ?? null,
601
+ bio: json.bio ?? null,
602
+ avatarUri: json.avatar_uri ?? null,
603
+ website: json.website ?? null,
604
+ registeredAt: Number(json.registered_at ?? 0),
605
+ verified: Boolean(json.verified),
606
+ reputationScore: Number(json.reputation_score ?? 0),
607
+ linkedAddresses: (json.linked_addresses ?? []).map((la) => ({
608
+ chain: la.chain,
609
+ address: la.address,
610
+ status: la.status,
611
+ linkedAt: Number(la.linked_at ?? 0)
612
+ }))
613
+ };
614
+ }
615
+ async function lookupName(api, name) {
616
+ const result = await api.rpc.awarizon.lookupName(name, null);
617
+ const json = result.toJSON();
618
+ if (!json) return null;
619
+ const identity = json.identity ? await getIdentity(api, json.account) : null;
620
+ return {
621
+ rizName: json.riz_name,
622
+ account: json.account,
623
+ identity
624
+ };
625
+ }
626
+ async function getLinkedAddresses(api, account) {
627
+ const result = await api.rpc.awarizon.getLinkedAddresses(account, null);
628
+ const arr = result.toJSON();
629
+ if (!Array.isArray(arr)) return [];
630
+ return arr.map((la) => ({
631
+ chain: la.chain,
632
+ address: la.address,
633
+ status: la.status,
634
+ linkedAt: Number(la.linked_at ?? 0)
635
+ }));
636
+ }
637
+ async function isNameAvailable(api, name) {
638
+ const result = await api.rpc.awarizon.isNameAvailable(name, null);
639
+ return Boolean(result.toJSON());
640
+ }
641
+ async function getTotalIdentities(api) {
642
+ const result = await api.rpc.awarizon.getTotalIdentities(null);
643
+ return result.toNumber();
644
+ }
645
+
646
+ // src/extrinsics/developer.ts
647
+ function buildRegisterDeveloper(api) {
648
+ return api.tx.awarizonState.registerDeveloper();
649
+ }
650
+ function buildStakeRiz(api, amount) {
651
+ return api.tx.awarizonState.stakeRiz(amount);
652
+ }
653
+
654
+ // src/extrinsics/manifests.ts
655
+ function buildRegisterManifest(api, manifestHash, category, metadataUri) {
656
+ return api.tx.awarizonState.registerManifest(manifestHash, category, metadataUri);
657
+ }
658
+
659
+ // src/extrinsics/campaigns.ts
660
+ function buildCreateCampaign(api, campaignId, manifestHash, targeting, durationDays, maxDeliveries) {
661
+ return api.tx.awarizonState.createCampaign(
662
+ campaignId,
663
+ manifestHash,
664
+ targeting,
665
+ durationDays,
666
+ maxDeliveries
667
+ );
668
+ }
669
+ function buildTerminateCampaign(api, campaignId) {
670
+ return api.tx.awarizonState.terminateCampaign(campaignId);
671
+ }
672
+ function buildExpireCampaign(api, campaignId) {
673
+ return api.tx.awarizonState.expireCampaign(campaignId);
674
+ }
675
+ function buildAdvanceEpoch(api) {
676
+ return api.tx.awarizonState.advanceEpoch();
677
+ }
678
+ function buildResetDailyEngagement(api) {
679
+ return api.tx.awarizonState.resetDailyEngagement();
680
+ }
681
+
682
+ // src/extrinsics/inbox.ts
683
+ function buildDeliverToInbox(api, wallet, campaignId, recordId) {
684
+ return api.tx.awarizonState.deliverToInbox(wallet, campaignId, recordId);
685
+ }
686
+ function buildDismissInboxRecord(api, recordId) {
687
+ return api.tx.awarizonState.dismissInboxRecord(recordId);
688
+ }
689
+ function buildSubmitEngagement(api, recordId, sessionDurationSeconds, interactionCount) {
690
+ return api.tx.awarizonState.submitEngagement(
691
+ recordId,
692
+ sessionDurationSeconds,
693
+ interactionCount
694
+ );
695
+ }
696
+ function buildClaimReward(api, recordId) {
697
+ return api.tx.awarizonState.claimReward(recordId);
698
+ }
699
+ function buildUpdateWalletIndex(api, walletAgeDays, activityCount, categoryHistory, regionCode) {
700
+ return api.tx.awarizonState.updateWalletIndex(
701
+ walletAgeDays,
702
+ activityCount,
703
+ categoryHistory,
704
+ regionCode
705
+ );
706
+ }
707
+
708
+ // src/extrinsics/targeting.ts
709
+ function buildBloomFilter(api, campaignId) {
710
+ return api.tx.awarizonTargeting.buildBloomFilter(campaignId);
711
+ }
712
+ function buildCheckWalletMatch(api, campaignId, wallet) {
713
+ return api.tx.awarizonTargeting.checkWalletMatch(campaignId, wallet);
714
+ }
715
+ function buildRunTargetingBatch(api, campaignId, wallets) {
716
+ return api.tx.awarizonTargeting.runTargetingBatch(campaignId, wallets);
717
+ }
718
+
719
+ // src/extrinsics/validators.ts
720
+ function buildRegisterValidator(api, selfStake, regionCode, countryCode) {
721
+ return api.tx.awarizonConsensus.registerValidator(selfStake, regionCode, countryCode);
722
+ }
723
+ function buildDelegateStake(api, validator, amount) {
724
+ return api.tx.awarizonConsensus.delegateStake(validator, amount);
725
+ }
726
+ function buildUndelegateStake(api, validator) {
727
+ return api.tx.awarizonConsensus.undelegateStake(validator);
728
+ }
729
+ function buildUpdatePerformance(api, validator, uptimeBps, finalityBps, blocksBps) {
730
+ return api.tx.awarizonConsensus.updatePerformance(
731
+ validator,
732
+ uptimeBps,
733
+ finalityBps,
734
+ blocksBps
735
+ );
736
+ }
737
+ function buildRunEpochElection(api, epoch) {
738
+ return api.tx.awarizonConsensus.runEpochElection(epoch);
739
+ }
740
+ function buildSlashValidator(api, validator, reason) {
741
+ return api.tx.awarizonConsensus.slashValidator(validator, reason);
742
+ }
743
+
744
+ // src/extrinsics/assets.ts
745
+ function buildCreateAsset(api, id, admin, minBalance) {
746
+ return api.tx.assets.create(id, admin, minBalance);
747
+ }
748
+ function buildMintAsset(api, id, beneficiary, amount) {
749
+ return api.tx.assets.mint(id, beneficiary, amount);
750
+ }
751
+ function buildTransferAsset(api, id, target, amount) {
752
+ return api.tx.assets.transfer(id, target, amount);
753
+ }
754
+
755
+ // src/wallet.ts
756
+ var import_keyring = require("@polkadot/keyring");
757
+
758
+ // src/errors.ts
759
+ var AwarizonError = class extends Error {
760
+ constructor(message, code, details) {
761
+ super(message);
762
+ this.code = code;
763
+ this.details = details;
764
+ this.name = "AwarizonError";
765
+ }
766
+ };
767
+ var DeveloperNotFoundError = class extends AwarizonError {
768
+ constructor() {
769
+ super("Developer not found", "DeveloperNotFound");
770
+ }
771
+ };
772
+ var DeveloperAlreadyRegisteredError = class extends AwarizonError {
773
+ constructor() {
774
+ super("Developer already registered", "DeveloperAlreadyRegistered");
775
+ }
776
+ };
777
+ var DeveloperNotVerifiedError = class extends AwarizonError {
778
+ constructor() {
779
+ super("Developer not verified", "DeveloperNotVerified");
780
+ }
781
+ };
782
+ var DeveloperSuspendedError = class extends AwarizonError {
783
+ constructor() {
784
+ super("Developer is suspended", "DeveloperSuspended");
785
+ }
786
+ };
787
+ var ManifestNotFoundError = class extends AwarizonError {
788
+ constructor() {
789
+ super("Manifest not found", "ManifestNotFound");
790
+ }
791
+ };
792
+ var ManifestAlreadyRegisteredError = class extends AwarizonError {
793
+ constructor() {
794
+ super("Manifest already registered", "ManifestAlreadyRegistered");
795
+ }
796
+ };
797
+ var ManifestLimitReachedError = class extends AwarizonError {
798
+ constructor() {
799
+ super("Manifest limit reached", "ManifestLimitReached");
800
+ }
801
+ };
802
+ var CampaignNotFoundError = class extends AwarizonError {
803
+ constructor() {
804
+ super("Campaign not found", "CampaignNotFound");
805
+ }
806
+ };
807
+ var CampaignNotActiveError = class extends AwarizonError {
808
+ constructor() {
809
+ super("Campaign is not active", "CampaignNotActive");
810
+ }
811
+ };
812
+ var CampaignExpiredError = class extends AwarizonError {
813
+ constructor() {
814
+ super("Campaign has expired", "CampaignExpired");
815
+ }
816
+ };
817
+ var CampaignDeliveryLimitReachedError = class extends AwarizonError {
818
+ constructor() {
819
+ super("Campaign delivery limit reached", "CampaignDeliveryLimitReached");
820
+ }
821
+ };
822
+ var InboxRecordNotFoundError = class extends AwarizonError {
823
+ constructor() {
824
+ super("Inbox record not found", "InboxRecordNotFound");
825
+ }
826
+ };
827
+ var InboxAlreadyDeliveredError = class extends AwarizonError {
828
+ constructor() {
829
+ super("Already delivered to this inbox", "InboxAlreadyDelivered");
830
+ }
831
+ };
832
+ var InboxFullError = class extends AwarizonError {
833
+ constructor() {
834
+ super("Inbox is full (1000 records)", "InboxFull");
835
+ }
836
+ };
837
+ var EngagementCooldownActiveError = class extends AwarizonError {
838
+ constructor() {
839
+ super("Engagement cooldown is active (24h)", "EngagementCooldownActive");
840
+ }
841
+ };
842
+ var EngagementDailyLimitReachedError = class extends AwarizonError {
843
+ constructor() {
844
+ super("Daily engagement limit reached (10/day)", "EngagementDailyLimitReached");
845
+ }
846
+ };
847
+ var EngagementInvalidError = class extends AwarizonError {
848
+ constructor() {
849
+ super("Engagement does not meet minimum requirements", "EngagementInvalid");
850
+ }
851
+ };
852
+ var InsufficientStakeError = class extends AwarizonError {
853
+ constructor() {
854
+ super("Insufficient stake", "InsufficientStake");
855
+ }
856
+ };
857
+ var InsufficientBalanceError = class extends AwarizonError {
858
+ constructor() {
859
+ super("Insufficient balance", "InsufficientBalance");
860
+ }
861
+ };
862
+ var TargetingDimensionLimitExceededError = class extends AwarizonError {
863
+ constructor() {
864
+ super("Targeting dimension limit exceeded (max 6)", "TargetingDimensionLimitExceeded");
865
+ }
866
+ };
867
+ var InvalidManifestHashError = class extends AwarizonError {
868
+ constructor() {
869
+ super("Invalid manifest hash", "InvalidManifestHash");
870
+ }
871
+ };
872
+ var InvalidCampaignIdError = class extends AwarizonError {
873
+ constructor() {
874
+ super("Invalid campaign ID", "InvalidCampaignId");
875
+ }
876
+ };
877
+ var UnauthorizedError = class extends AwarizonError {
878
+ constructor() {
879
+ super("Unauthorized", "Unauthorized");
880
+ }
881
+ };
882
+ var EpochNotReadyError = class extends AwarizonError {
883
+ constructor() {
884
+ super("Epoch is not ready to advance", "EpochNotReady");
885
+ }
886
+ };
887
+ var NotExpiredYetError = class extends AwarizonError {
888
+ constructor() {
889
+ super("Campaign has not expired yet", "NotExpiredYet");
890
+ }
891
+ };
892
+ var ResetNotReadyError = class extends AwarizonError {
893
+ constructor() {
894
+ super("Daily reset is not ready yet", "ResetNotReady");
895
+ }
896
+ };
897
+ var ValidatorAlreadyRegisteredError = class extends AwarizonError {
898
+ constructor() {
899
+ super("Validator already registered", "ValidatorAlreadyRegistered");
900
+ }
901
+ };
902
+ var ValidatorNotFoundError = class extends AwarizonError {
903
+ constructor() {
904
+ super("Validator not found", "ValidatorNotFound");
905
+ }
906
+ };
907
+ var RegionCapExceededError = class extends AwarizonError {
908
+ constructor() {
909
+ super("Region validator cap exceeded (20%)", "RegionCapExceeded");
910
+ }
911
+ };
912
+ var CountryCapExceededError = class extends AwarizonError {
913
+ constructor() {
914
+ super("Country validator cap exceeded (10%)", "CountryCapExceeded");
915
+ }
916
+ };
917
+ var DelegationNotFoundError = class extends AwarizonError {
918
+ constructor() {
919
+ super("Delegation not found", "DelegationNotFound");
920
+ }
921
+ };
922
+ var CannotDelegateToSelfError = class extends AwarizonError {
923
+ constructor() {
924
+ super("Cannot delegate stake to yourself", "CannotDelegateToSelf");
925
+ }
926
+ };
927
+ var ValidatorNotActiveError = class extends AwarizonError {
928
+ constructor() {
929
+ super("Validator is not active", "ValidatorNotActive");
930
+ }
931
+ };
932
+ var AlreadyDelegatedError = class extends AwarizonError {
933
+ constructor() {
934
+ super("Already delegated to this validator", "AlreadyDelegated");
935
+ }
936
+ };
937
+ var MaxValidatorsReachedError = class extends AwarizonError {
938
+ constructor() {
939
+ super("Maximum validator count reached", "MaxValidatorsReached");
940
+ }
941
+ };
942
+ var ERROR_MAP = {
943
+ DeveloperNotFound: () => new DeveloperNotFoundError(),
944
+ DeveloperAlreadyRegistered: () => new DeveloperAlreadyRegisteredError(),
945
+ DeveloperNotVerified: () => new DeveloperNotVerifiedError(),
946
+ DeveloperSuspended: () => new DeveloperSuspendedError(),
947
+ ManifestNotFound: () => new ManifestNotFoundError(),
948
+ ManifestAlreadyRegistered: () => new ManifestAlreadyRegisteredError(),
949
+ ManifestLimitReached: () => new ManifestLimitReachedError(),
950
+ CampaignNotFound: () => new CampaignNotFoundError(),
951
+ CampaignNotActive: () => new CampaignNotActiveError(),
952
+ CampaignExpired: () => new CampaignExpiredError(),
953
+ CampaignDeliveryLimitReached: () => new CampaignDeliveryLimitReachedError(),
954
+ InboxRecordNotFound: () => new InboxRecordNotFoundError(),
955
+ InboxAlreadyDelivered: () => new InboxAlreadyDeliveredError(),
956
+ InboxFull: () => new InboxFullError(),
957
+ EngagementCooldownActive: () => new EngagementCooldownActiveError(),
958
+ EngagementDailyLimitReached: () => new EngagementDailyLimitReachedError(),
959
+ EngagementInvalid: () => new EngagementInvalidError(),
960
+ InsufficientStake: () => new InsufficientStakeError(),
961
+ InsufficientBalance: () => new InsufficientBalanceError(),
962
+ TargetingDimensionLimitExceeded: () => new TargetingDimensionLimitExceededError(),
963
+ InvalidManifestHash: () => new InvalidManifestHashError(),
964
+ InvalidCampaignId: () => new InvalidCampaignIdError(),
965
+ Unauthorized: () => new UnauthorizedError(),
966
+ EpochNotReady: () => new EpochNotReadyError(),
967
+ NotExpiredYet: () => new NotExpiredYetError(),
968
+ ResetNotReady: () => new ResetNotReadyError(),
969
+ ValidatorAlreadyRegistered: () => new ValidatorAlreadyRegisteredError(),
970
+ ValidatorNotFound: () => new ValidatorNotFoundError(),
971
+ RegionCapExceeded: () => new RegionCapExceededError(),
972
+ CountryCapExceeded: () => new CountryCapExceededError(),
973
+ DelegationNotFound: () => new DelegationNotFoundError(),
974
+ CannotDelegateToSelf: () => new CannotDelegateToSelfError(),
975
+ ValidatorNotActive: () => new ValidatorNotActiveError(),
976
+ AlreadyDelegated: () => new AlreadyDelegatedError(),
977
+ MaxValidatorsReached: () => new MaxValidatorsReachedError()
978
+ };
979
+ function parseChainError(error) {
980
+ const errorStr = String(error);
981
+ for (const [key, factory] of Object.entries(ERROR_MAP)) {
982
+ if (errorStr.includes(key)) return factory();
983
+ }
984
+ return new AwarizonError(errorStr, "UnknownError", error);
985
+ }
986
+
987
+ // src/wallet.ts
988
+ function createKeyring() {
989
+ return new import_keyring.Keyring({ type: "sr25519" });
990
+ }
991
+ function keypairFromMnemonic(mnemonic) {
992
+ const keyring = createKeyring();
993
+ return keyring.addFromMnemonic(mnemonic);
994
+ }
995
+ function keypairFromSeed(seed) {
996
+ const keyring = createKeyring();
997
+ return keyring.addFromSeed(Buffer.from(seed.replace("0x", ""), "hex"));
998
+ }
999
+ function aliceKeypair() {
1000
+ const keyring = createKeyring();
1001
+ return keyring.addFromUri("//Alice");
1002
+ }
1003
+ function bobKeypair() {
1004
+ const keyring = createKeyring();
1005
+ return keyring.addFromUri("//Bob");
1006
+ }
1007
+ async function signAndSend(api, extrinsic, signer) {
1008
+ return new Promise((resolve, reject) => {
1009
+ extrinsic.signAndSend(signer, ({ status, dispatchError }) => {
1010
+ if (status.isInBlock || status.isFinalized) {
1011
+ if (dispatchError) {
1012
+ reject(parseChainError(dispatchError.toString()));
1013
+ } else {
1014
+ resolve({
1015
+ blockHash: status.isInBlock ? status.asInBlock.toHex() : status.asFinalized.toHex(),
1016
+ txHash: extrinsic.hash.toHex()
1017
+ });
1018
+ }
1019
+ }
1020
+ }).catch(reject);
1021
+ });
1022
+ }
1023
+ // Annotate the CommonJS export names for ESM import in node:
1024
+ 0 && (module.exports = {
1025
+ AlreadyDelegatedError,
1026
+ AwarizonClient,
1027
+ AwarizonError,
1028
+ BLOCK_TIME_SECONDS,
1029
+ CHAIN_NAME,
1030
+ CampaignDeliveryLimitReachedError,
1031
+ CampaignExpiredError,
1032
+ CampaignNotActiveError,
1033
+ CampaignNotFoundError,
1034
+ CannotDelegateToSelfError,
1035
+ CountryCapExceededError,
1036
+ DEFAULT_CAMPAIGN_DURATION_DAYS,
1037
+ DEFAULT_ENDPOINT,
1038
+ DEVELOPER_MIN_TENURE_DAYS,
1039
+ DelegationNotFoundError,
1040
+ DeveloperAlreadyRegisteredError,
1041
+ DeveloperNotFoundError,
1042
+ DeveloperNotVerifiedError,
1043
+ DeveloperSuspendedError,
1044
+ ENGAGEMENT_COOLDOWN_HOURS,
1045
+ EPOCH_LENGTH_BLOCKS,
1046
+ EngagementCooldownActiveError,
1047
+ EngagementDailyLimitReachedError,
1048
+ EngagementInvalidError,
1049
+ EpochNotReadyError,
1050
+ GENESIS_VALIDATORS,
1051
+ InboxAlreadyDeliveredError,
1052
+ InboxFullError,
1053
+ InboxRecordNotFoundError,
1054
+ InsufficientBalanceError,
1055
+ InsufficientStakeError,
1056
+ InvalidCampaignIdError,
1057
+ InvalidManifestHashError,
1058
+ MAX_CAMPAIGN_DURATION_DAYS,
1059
+ MAX_CATEGORY_HISTORY_ENTRIES,
1060
+ MAX_ENGAGEMENT_EVENTS_PER_DAY,
1061
+ MAX_REGION_CODES_PER_CAMPAIGN,
1062
+ MAX_TARGETING_DIMENSIONS,
1063
+ MICRO_RIZ,
1064
+ MILLI_RIZ,
1065
+ MIN_CAMPAIGN_DURATION_DAYS,
1066
+ MIN_INTERACTIONS,
1067
+ MIN_SESSION_SECONDS,
1068
+ ManifestAlreadyRegisteredError,
1069
+ ManifestLimitReachedError,
1070
+ ManifestNotFoundError,
1071
+ MaxValidatorsReachedError,
1072
+ NotExpiredYetError,
1073
+ PERF_WEIGHT_BLOCKS_BPS,
1074
+ PERF_WEIGHT_FINALITY_BPS,
1075
+ PERF_WEIGHT_SLASH_BPS,
1076
+ PERF_WEIGHT_UPTIME_BPS,
1077
+ PLANCK,
1078
+ RIZ,
1079
+ RegionCapExceededError,
1080
+ ResetNotReadyError,
1081
+ TARGET_VALIDATORS,
1082
+ TargetingDimensionLimitExceededError,
1083
+ UnauthorizedError,
1084
+ ValidatorAlreadyRegisteredError,
1085
+ ValidatorNotActiveError,
1086
+ ValidatorNotFoundError,
1087
+ aliceKeypair,
1088
+ awarizonRpc,
1089
+ awarizonTypes,
1090
+ blocksToTime,
1091
+ bobKeypair,
1092
+ buildAdvanceEpoch,
1093
+ buildBloomFilter,
1094
+ buildCheckWalletMatch,
1095
+ buildClaimReward,
1096
+ buildCreateAsset,
1097
+ buildCreateCampaign,
1098
+ buildDelegateStake,
1099
+ buildDeliverToInbox,
1100
+ buildDismissInboxRecord,
1101
+ buildExpireCampaign,
1102
+ buildMintAsset,
1103
+ buildRegisterDeveloper,
1104
+ buildRegisterManifest,
1105
+ buildRegisterValidator,
1106
+ buildResetDailyEngagement,
1107
+ buildRunEpochElection,
1108
+ buildRunTargetingBatch,
1109
+ buildSlashValidator,
1110
+ buildStakeRiz,
1111
+ buildSubmitEngagement,
1112
+ buildTerminateCampaign,
1113
+ buildTransferAsset,
1114
+ buildUndelegateStake,
1115
+ buildUpdatePerformance,
1116
+ buildUpdateWalletIndex,
1117
+ bytesToHex,
1118
+ checkCampaignMatch,
1119
+ connect,
1120
+ createKeyring,
1121
+ formatRiz,
1122
+ generateCampaignId,
1123
+ getActiveCampaignCount,
1124
+ getActiveValidators,
1125
+ getBlockTransactions,
1126
+ getCampaign,
1127
+ getCampaignDeliveryStatus,
1128
+ getDeveloperCampaigns,
1129
+ getDeveloperManifests,
1130
+ getDeveloperProfile,
1131
+ getIdentity,
1132
+ getInboxCount,
1133
+ getInboxRecord,
1134
+ getLinkedAddresses,
1135
+ getNetworkStats,
1136
+ getRecentTransactions,
1137
+ getTokenStats,
1138
+ getTotalIdentities,
1139
+ getValidatorCount,
1140
+ getValidatorPerformance,
1141
+ getVestingSchedule,
1142
+ getWalletTargetingProfile,
1143
+ hexToBytes,
1144
+ isNameAvailable,
1145
+ isValidAddress,
1146
+ keypairFromMnemonic,
1147
+ keypairFromSeed,
1148
+ lookupName,
1149
+ parseChainError,
1150
+ parsePlanckString,
1151
+ parseRiz,
1152
+ signAndSend
1153
+ });
1154
+ //# sourceMappingURL=index.js.map