naracli 1.0.59 → 1.0.61

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.
@@ -60810,10 +60810,10 @@ var require_dist3 = __commonJS({
60810
60810
  }
60811
60811
  });
60812
60812
 
60813
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/constants.ts
60813
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/constants.ts
60814
60814
  var DEFAULT_RPC_URL, DEFAULT_QUEST_RELAY_URL, DEFAULT_QUEST_PROGRAM_ID, DEFAULT_SKILLS_PROGRAM_ID, DEFAULT_ZKID_PROGRAM_ID, DEFAULT_AGENT_REGISTRY_PROGRAM_ID, DEFAULT_ALT_ADDRESS;
60815
60815
  var init_constants2 = __esm({
60816
- "node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/constants.ts"() {
60816
+ "node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/constants.ts"() {
60817
60817
  DEFAULT_RPC_URL = process.env.RPC_URL || "https://mainnet-api.nara.build/";
60818
60818
  DEFAULT_QUEST_RELAY_URL = process.env.QUEST_RELAY_URL || "https://quest-api.nara.build/";
60819
60819
  DEFAULT_QUEST_PROGRAM_ID = process.env.QUEST_PROGRAM_ID || "Quest11111111111111111111111111111111111111";
@@ -60824,7 +60824,7 @@ var init_constants2 = __esm({
60824
60824
  }
60825
60825
  });
60826
60826
 
60827
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/tx.ts
60827
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/tx.ts
60828
60828
  function getAltAddress() {
60829
60829
  if (_overrideAltAddresses !== null) return _overrideAltAddresses;
60830
60830
  if (!DEFAULT_ALT_ADDRESS) return [];
@@ -60950,7 +60950,7 @@ async function sendTx(connection, payer, instructions, signers, opts) {
60950
60950
  }
60951
60951
  var import_web388, _cachedAlts, _cachedAltKey, _overrideAltAddresses, _globalSkipPreflight;
60952
60952
  var init_tx = __esm({
60953
- "node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/tx.ts"() {
60953
+ "node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/tx.ts"() {
60954
60954
  import_web388 = __toESM(require_index_cjs(), 1);
60955
60955
  init_constants2();
60956
60956
  _cachedAlts = [];
@@ -77205,10 +77205,10 @@ var require_cjs2 = __commonJS({
77205
77205
  }
77206
77206
  });
77207
77207
 
77208
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_agent_registry.json
77208
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_agent_registry.json
77209
77209
  var nara_agent_registry_default;
77210
77210
  var init_nara_agent_registry = __esm({
77211
- "node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_agent_registry.json"() {
77211
+ "node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_agent_registry.json"() {
77212
77212
  nara_agent_registry_default = {
77213
77213
  address: "AgentRegistry111111111111111111111111111111",
77214
77214
  metadata: {
@@ -77218,6 +77218,307 @@ var init_nara_agent_registry = __esm({
77218
77218
  description: "Nara Agent Registry - AI agent registration center"
77219
77219
  },
77220
77220
  instructions: [
77221
+ {
77222
+ name: "approve_tweet",
77223
+ discriminator: [
77224
+ 57,
77225
+ 71,
77226
+ 49,
77227
+ 146,
77228
+ 108,
77229
+ 84,
77230
+ 107,
77231
+ 45
77232
+ ],
77233
+ accounts: [
77234
+ {
77235
+ name: "verifier",
77236
+ writable: true,
77237
+ signer: true
77238
+ },
77239
+ {
77240
+ name: "config",
77241
+ pda: {
77242
+ seeds: [
77243
+ {
77244
+ kind: "const",
77245
+ value: [
77246
+ 99,
77247
+ 111,
77248
+ 110,
77249
+ 102,
77250
+ 105,
77251
+ 103
77252
+ ]
77253
+ }
77254
+ ]
77255
+ }
77256
+ },
77257
+ {
77258
+ name: "agent",
77259
+ pda: {
77260
+ seeds: [
77261
+ {
77262
+ kind: "const",
77263
+ value: [
77264
+ 97,
77265
+ 103,
77266
+ 101,
77267
+ 110,
77268
+ 116
77269
+ ]
77270
+ },
77271
+ {
77272
+ kind: "arg",
77273
+ path: "agent_id"
77274
+ }
77275
+ ]
77276
+ }
77277
+ },
77278
+ {
77279
+ name: "tweet_verify",
77280
+ writable: true,
77281
+ pda: {
77282
+ seeds: [
77283
+ {
77284
+ kind: "const",
77285
+ value: [
77286
+ 116,
77287
+ 119,
77288
+ 101,
77289
+ 101,
77290
+ 116,
77291
+ 95,
77292
+ 118,
77293
+ 101,
77294
+ 114,
77295
+ 105,
77296
+ 102,
77297
+ 121
77298
+ ]
77299
+ },
77300
+ {
77301
+ kind: "account",
77302
+ path: "agent"
77303
+ }
77304
+ ]
77305
+ }
77306
+ },
77307
+ {
77308
+ name: "authority",
77309
+ writable: true
77310
+ },
77311
+ {
77312
+ name: "twitter_verify_vault",
77313
+ writable: true,
77314
+ pda: {
77315
+ seeds: [
77316
+ {
77317
+ kind: "const",
77318
+ value: [
77319
+ 116,
77320
+ 119,
77321
+ 105,
77322
+ 116,
77323
+ 116,
77324
+ 101,
77325
+ 114,
77326
+ 95,
77327
+ 118,
77328
+ 101,
77329
+ 114,
77330
+ 105,
77331
+ 102,
77332
+ 121,
77333
+ 95,
77334
+ 118,
77335
+ 97,
77336
+ 117,
77337
+ 108,
77338
+ 116
77339
+ ]
77340
+ }
77341
+ ]
77342
+ }
77343
+ },
77344
+ {
77345
+ name: "treasury",
77346
+ writable: true,
77347
+ pda: {
77348
+ seeds: [
77349
+ {
77350
+ kind: "const",
77351
+ value: [
77352
+ 116,
77353
+ 114,
77354
+ 101,
77355
+ 97,
77356
+ 115,
77357
+ 117,
77358
+ 114,
77359
+ 121
77360
+ ]
77361
+ }
77362
+ ]
77363
+ }
77364
+ },
77365
+ {
77366
+ name: "point_mint",
77367
+ writable: true,
77368
+ pda: {
77369
+ seeds: [
77370
+ {
77371
+ kind: "const",
77372
+ value: [
77373
+ 112,
77374
+ 111,
77375
+ 105,
77376
+ 110,
77377
+ 116,
77378
+ 95,
77379
+ 109,
77380
+ 105,
77381
+ 110,
77382
+ 116
77383
+ ]
77384
+ }
77385
+ ]
77386
+ }
77387
+ },
77388
+ {
77389
+ name: "mint_authority",
77390
+ pda: {
77391
+ seeds: [
77392
+ {
77393
+ kind: "const",
77394
+ value: [
77395
+ 109,
77396
+ 105,
77397
+ 110,
77398
+ 116,
77399
+ 95,
77400
+ 97,
77401
+ 117,
77402
+ 116,
77403
+ 104,
77404
+ 111,
77405
+ 114,
77406
+ 105,
77407
+ 116,
77408
+ 121
77409
+ ]
77410
+ }
77411
+ ]
77412
+ }
77413
+ },
77414
+ {
77415
+ name: "authority_point_account",
77416
+ writable: true,
77417
+ pda: {
77418
+ seeds: [
77419
+ {
77420
+ kind: "account",
77421
+ path: "authority"
77422
+ },
77423
+ {
77424
+ kind: "account",
77425
+ path: "token_program"
77426
+ },
77427
+ {
77428
+ kind: "account",
77429
+ path: "point_mint"
77430
+ }
77431
+ ],
77432
+ program: {
77433
+ kind: "const",
77434
+ value: [
77435
+ 140,
77436
+ 151,
77437
+ 37,
77438
+ 143,
77439
+ 78,
77440
+ 36,
77441
+ 137,
77442
+ 241,
77443
+ 187,
77444
+ 61,
77445
+ 16,
77446
+ 41,
77447
+ 20,
77448
+ 142,
77449
+ 13,
77450
+ 131,
77451
+ 11,
77452
+ 90,
77453
+ 19,
77454
+ 153,
77455
+ 218,
77456
+ 255,
77457
+ 16,
77458
+ 132,
77459
+ 4,
77460
+ 142,
77461
+ 123,
77462
+ 216,
77463
+ 219,
77464
+ 233,
77465
+ 248,
77466
+ 89
77467
+ ]
77468
+ }
77469
+ }
77470
+ },
77471
+ {
77472
+ name: "token_program",
77473
+ address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
77474
+ },
77475
+ {
77476
+ name: "associated_token_program",
77477
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
77478
+ },
77479
+ {
77480
+ name: "tweet_verify_queue",
77481
+ writable: true,
77482
+ pda: {
77483
+ seeds: [
77484
+ {
77485
+ kind: "const",
77486
+ value: [
77487
+ 116,
77488
+ 119,
77489
+ 101,
77490
+ 101,
77491
+ 116,
77492
+ 95,
77493
+ 118,
77494
+ 101,
77495
+ 114,
77496
+ 105,
77497
+ 102,
77498
+ 121,
77499
+ 95,
77500
+ 113,
77501
+ 117,
77502
+ 101,
77503
+ 117,
77504
+ 101
77505
+ ]
77506
+ }
77507
+ ]
77508
+ }
77509
+ },
77510
+ {
77511
+ name: "system_program",
77512
+ address: "11111111111111111111111111111111"
77513
+ }
77514
+ ],
77515
+ args: [
77516
+ {
77517
+ name: "agent_id",
77518
+ type: "string"
77519
+ }
77520
+ ]
77521
+ },
77221
77522
  {
77222
77523
  name: "close_buffer",
77223
77524
  discriminator: [
@@ -77369,6 +77670,55 @@ var init_nara_agent_registry = __esm({
77369
77670
  }
77370
77671
  ]
77371
77672
  },
77673
+ {
77674
+ name: "expand_config",
77675
+ discriminator: [
77676
+ 120,
77677
+ 201,
77678
+ 195,
77679
+ 128,
77680
+ 35,
77681
+ 202,
77682
+ 73,
77683
+ 161
77684
+ ],
77685
+ accounts: [
77686
+ {
77687
+ name: "admin",
77688
+ writable: true,
77689
+ signer: true
77690
+ },
77691
+ {
77692
+ name: "config",
77693
+ writable: true,
77694
+ pda: {
77695
+ seeds: [
77696
+ {
77697
+ kind: "const",
77698
+ value: [
77699
+ 99,
77700
+ 111,
77701
+ 110,
77702
+ 102,
77703
+ 105,
77704
+ 103
77705
+ ]
77706
+ }
77707
+ ]
77708
+ }
77709
+ },
77710
+ {
77711
+ name: "system_program",
77712
+ address: "11111111111111111111111111111111"
77713
+ }
77714
+ ],
77715
+ args: [
77716
+ {
77717
+ name: "extend_size",
77718
+ type: "u64"
77719
+ }
77720
+ ]
77721
+ },
77372
77722
  {
77373
77723
  name: "finalize_memory_append",
77374
77724
  discriminator: [
@@ -78778,6 +79128,254 @@ var init_nara_agent_registry = __esm({
78778
79128
  }
78779
79129
  ]
78780
79130
  },
79131
+ {
79132
+ name: "reject_tweet",
79133
+ discriminator: [
79134
+ 231,
79135
+ 64,
79136
+ 127,
79137
+ 185,
79138
+ 55,
79139
+ 253,
79140
+ 175,
79141
+ 30
79142
+ ],
79143
+ accounts: [
79144
+ {
79145
+ name: "verifier",
79146
+ writable: true,
79147
+ signer: true
79148
+ },
79149
+ {
79150
+ name: "config",
79151
+ pda: {
79152
+ seeds: [
79153
+ {
79154
+ kind: "const",
79155
+ value: [
79156
+ 99,
79157
+ 111,
79158
+ 110,
79159
+ 102,
79160
+ 105,
79161
+ 103
79162
+ ]
79163
+ }
79164
+ ]
79165
+ }
79166
+ },
79167
+ {
79168
+ name: "agent",
79169
+ pda: {
79170
+ seeds: [
79171
+ {
79172
+ kind: "const",
79173
+ value: [
79174
+ 97,
79175
+ 103,
79176
+ 101,
79177
+ 110,
79178
+ 116
79179
+ ]
79180
+ },
79181
+ {
79182
+ kind: "arg",
79183
+ path: "agent_id"
79184
+ }
79185
+ ]
79186
+ }
79187
+ },
79188
+ {
79189
+ name: "tweet_verify",
79190
+ writable: true,
79191
+ pda: {
79192
+ seeds: [
79193
+ {
79194
+ kind: "const",
79195
+ value: [
79196
+ 116,
79197
+ 119,
79198
+ 101,
79199
+ 101,
79200
+ 116,
79201
+ 95,
79202
+ 118,
79203
+ 101,
79204
+ 114,
79205
+ 105,
79206
+ 102,
79207
+ 121
79208
+ ]
79209
+ },
79210
+ {
79211
+ kind: "account",
79212
+ path: "agent"
79213
+ }
79214
+ ]
79215
+ }
79216
+ },
79217
+ {
79218
+ name: "tweet_verify_queue",
79219
+ writable: true,
79220
+ pda: {
79221
+ seeds: [
79222
+ {
79223
+ kind: "const",
79224
+ value: [
79225
+ 116,
79226
+ 119,
79227
+ 101,
79228
+ 101,
79229
+ 116,
79230
+ 95,
79231
+ 118,
79232
+ 101,
79233
+ 114,
79234
+ 105,
79235
+ 102,
79236
+ 121,
79237
+ 95,
79238
+ 113,
79239
+ 117,
79240
+ 101,
79241
+ 117,
79242
+ 101
79243
+ ]
79244
+ }
79245
+ ]
79246
+ }
79247
+ },
79248
+ {
79249
+ name: "system_program",
79250
+ address: "11111111111111111111111111111111"
79251
+ }
79252
+ ],
79253
+ args: [
79254
+ {
79255
+ name: "agent_id",
79256
+ type: "string"
79257
+ }
79258
+ ]
79259
+ },
79260
+ {
79261
+ name: "reject_twitter",
79262
+ discriminator: [
79263
+ 97,
79264
+ 238,
79265
+ 35,
79266
+ 162,
79267
+ 61,
79268
+ 92,
79269
+ 88,
79270
+ 183
79271
+ ],
79272
+ accounts: [
79273
+ {
79274
+ name: "verifier",
79275
+ writable: true,
79276
+ signer: true
79277
+ },
79278
+ {
79279
+ name: "config",
79280
+ pda: {
79281
+ seeds: [
79282
+ {
79283
+ kind: "const",
79284
+ value: [
79285
+ 99,
79286
+ 111,
79287
+ 110,
79288
+ 102,
79289
+ 105,
79290
+ 103
79291
+ ]
79292
+ }
79293
+ ]
79294
+ }
79295
+ },
79296
+ {
79297
+ name: "agent",
79298
+ pda: {
79299
+ seeds: [
79300
+ {
79301
+ kind: "const",
79302
+ value: [
79303
+ 97,
79304
+ 103,
79305
+ 101,
79306
+ 110,
79307
+ 116
79308
+ ]
79309
+ },
79310
+ {
79311
+ kind: "arg",
79312
+ path: "agent_id"
79313
+ }
79314
+ ]
79315
+ }
79316
+ },
79317
+ {
79318
+ name: "twitter",
79319
+ writable: true,
79320
+ pda: {
79321
+ seeds: [
79322
+ {
79323
+ kind: "const",
79324
+ value: [
79325
+ 116,
79326
+ 119,
79327
+ 105,
79328
+ 116,
79329
+ 116,
79330
+ 101,
79331
+ 114
79332
+ ]
79333
+ },
79334
+ {
79335
+ kind: "account",
79336
+ path: "agent"
79337
+ }
79338
+ ]
79339
+ }
79340
+ },
79341
+ {
79342
+ name: "twitter_queue",
79343
+ writable: true,
79344
+ pda: {
79345
+ seeds: [
79346
+ {
79347
+ kind: "const",
79348
+ value: [
79349
+ 116,
79350
+ 119,
79351
+ 105,
79352
+ 116,
79353
+ 116,
79354
+ 101,
79355
+ 114,
79356
+ 95,
79357
+ 113,
79358
+ 117,
79359
+ 101,
79360
+ 117,
79361
+ 101
79362
+ ]
79363
+ }
79364
+ ]
79365
+ }
79366
+ },
79367
+ {
79368
+ name: "system_program",
79369
+ address: "11111111111111111111111111111111"
79370
+ }
79371
+ ],
79372
+ args: [
79373
+ {
79374
+ name: "agent_id",
79375
+ type: "string"
79376
+ }
79377
+ ]
79378
+ },
78781
79379
  {
78782
79380
  name: "set_bio",
78783
79381
  discriminator: [
@@ -79078,6 +79676,365 @@ var init_nara_agent_registry = __esm({
79078
79676
  }
79079
79677
  ]
79080
79678
  },
79679
+ {
79680
+ name: "set_twitter",
79681
+ discriminator: [
79682
+ 136,
79683
+ 238,
79684
+ 98,
79685
+ 223,
79686
+ 118,
79687
+ 178,
79688
+ 238,
79689
+ 183
79690
+ ],
79691
+ accounts: [
79692
+ {
79693
+ name: "authority",
79694
+ writable: true,
79695
+ signer: true,
79696
+ relations: [
79697
+ "agent"
79698
+ ]
79699
+ },
79700
+ {
79701
+ name: "agent",
79702
+ pda: {
79703
+ seeds: [
79704
+ {
79705
+ kind: "const",
79706
+ value: [
79707
+ 97,
79708
+ 103,
79709
+ 101,
79710
+ 110,
79711
+ 116
79712
+ ]
79713
+ },
79714
+ {
79715
+ kind: "arg",
79716
+ path: "agent_id"
79717
+ }
79718
+ ]
79719
+ }
79720
+ },
79721
+ {
79722
+ name: "twitter",
79723
+ writable: true,
79724
+ pda: {
79725
+ seeds: [
79726
+ {
79727
+ kind: "const",
79728
+ value: [
79729
+ 116,
79730
+ 119,
79731
+ 105,
79732
+ 116,
79733
+ 116,
79734
+ 101,
79735
+ 114
79736
+ ]
79737
+ },
79738
+ {
79739
+ kind: "account",
79740
+ path: "agent"
79741
+ }
79742
+ ]
79743
+ }
79744
+ },
79745
+ {
79746
+ name: "config",
79747
+ pda: {
79748
+ seeds: [
79749
+ {
79750
+ kind: "const",
79751
+ value: [
79752
+ 99,
79753
+ 111,
79754
+ 110,
79755
+ 102,
79756
+ 105,
79757
+ 103
79758
+ ]
79759
+ }
79760
+ ]
79761
+ }
79762
+ },
79763
+ {
79764
+ name: "twitter_verify_vault",
79765
+ writable: true,
79766
+ pda: {
79767
+ seeds: [
79768
+ {
79769
+ kind: "const",
79770
+ value: [
79771
+ 116,
79772
+ 119,
79773
+ 105,
79774
+ 116,
79775
+ 116,
79776
+ 101,
79777
+ 114,
79778
+ 95,
79779
+ 118,
79780
+ 101,
79781
+ 114,
79782
+ 105,
79783
+ 102,
79784
+ 121,
79785
+ 95,
79786
+ 118,
79787
+ 97,
79788
+ 117,
79789
+ 108,
79790
+ 116
79791
+ ]
79792
+ }
79793
+ ]
79794
+ }
79795
+ },
79796
+ {
79797
+ name: "twitter_queue",
79798
+ writable: true,
79799
+ pda: {
79800
+ seeds: [
79801
+ {
79802
+ kind: "const",
79803
+ value: [
79804
+ 116,
79805
+ 119,
79806
+ 105,
79807
+ 116,
79808
+ 116,
79809
+ 101,
79810
+ 114,
79811
+ 95,
79812
+ 113,
79813
+ 117,
79814
+ 101,
79815
+ 117,
79816
+ 101
79817
+ ]
79818
+ }
79819
+ ]
79820
+ }
79821
+ },
79822
+ {
79823
+ name: "system_program",
79824
+ address: "11111111111111111111111111111111"
79825
+ }
79826
+ ],
79827
+ args: [
79828
+ {
79829
+ name: "agent_id",
79830
+ type: "string"
79831
+ },
79832
+ {
79833
+ name: "username",
79834
+ type: "string"
79835
+ },
79836
+ {
79837
+ name: "tweet_url",
79838
+ type: "string"
79839
+ }
79840
+ ]
79841
+ },
79842
+ {
79843
+ name: "submit_tweet",
79844
+ discriminator: [
79845
+ 140,
79846
+ 200,
79847
+ 213,
79848
+ 38,
79849
+ 145,
79850
+ 255,
79851
+ 191,
79852
+ 254
79853
+ ],
79854
+ accounts: [
79855
+ {
79856
+ name: "authority",
79857
+ writable: true,
79858
+ signer: true,
79859
+ relations: [
79860
+ "agent"
79861
+ ]
79862
+ },
79863
+ {
79864
+ name: "agent",
79865
+ pda: {
79866
+ seeds: [
79867
+ {
79868
+ kind: "const",
79869
+ value: [
79870
+ 97,
79871
+ 103,
79872
+ 101,
79873
+ 110,
79874
+ 116
79875
+ ]
79876
+ },
79877
+ {
79878
+ kind: "arg",
79879
+ path: "agent_id"
79880
+ }
79881
+ ]
79882
+ }
79883
+ },
79884
+ {
79885
+ name: "twitter",
79886
+ pda: {
79887
+ seeds: [
79888
+ {
79889
+ kind: "const",
79890
+ value: [
79891
+ 116,
79892
+ 119,
79893
+ 105,
79894
+ 116,
79895
+ 116,
79896
+ 101,
79897
+ 114
79898
+ ]
79899
+ },
79900
+ {
79901
+ kind: "account",
79902
+ path: "agent"
79903
+ }
79904
+ ]
79905
+ }
79906
+ },
79907
+ {
79908
+ name: "tweet_verify",
79909
+ writable: true,
79910
+ pda: {
79911
+ seeds: [
79912
+ {
79913
+ kind: "const",
79914
+ value: [
79915
+ 116,
79916
+ 119,
79917
+ 101,
79918
+ 101,
79919
+ 116,
79920
+ 95,
79921
+ 118,
79922
+ 101,
79923
+ 114,
79924
+ 105,
79925
+ 102,
79926
+ 121
79927
+ ]
79928
+ },
79929
+ {
79930
+ kind: "account",
79931
+ path: "agent"
79932
+ }
79933
+ ]
79934
+ }
79935
+ },
79936
+ {
79937
+ name: "config",
79938
+ pda: {
79939
+ seeds: [
79940
+ {
79941
+ kind: "const",
79942
+ value: [
79943
+ 99,
79944
+ 111,
79945
+ 110,
79946
+ 102,
79947
+ 105,
79948
+ 103
79949
+ ]
79950
+ }
79951
+ ]
79952
+ }
79953
+ },
79954
+ {
79955
+ name: "twitter_verify_vault",
79956
+ writable: true,
79957
+ pda: {
79958
+ seeds: [
79959
+ {
79960
+ kind: "const",
79961
+ value: [
79962
+ 116,
79963
+ 119,
79964
+ 105,
79965
+ 116,
79966
+ 116,
79967
+ 101,
79968
+ 114,
79969
+ 95,
79970
+ 118,
79971
+ 101,
79972
+ 114,
79973
+ 105,
79974
+ 102,
79975
+ 121,
79976
+ 95,
79977
+ 118,
79978
+ 97,
79979
+ 117,
79980
+ 108,
79981
+ 116
79982
+ ]
79983
+ }
79984
+ ]
79985
+ }
79986
+ },
79987
+ {
79988
+ name: "tweet_verify_queue",
79989
+ writable: true,
79990
+ pda: {
79991
+ seeds: [
79992
+ {
79993
+ kind: "const",
79994
+ value: [
79995
+ 116,
79996
+ 119,
79997
+ 101,
79998
+ 101,
79999
+ 116,
80000
+ 95,
80001
+ 118,
80002
+ 101,
80003
+ 114,
80004
+ 105,
80005
+ 102,
80006
+ 121,
80007
+ 95,
80008
+ 113,
80009
+ 117,
80010
+ 101,
80011
+ 117,
80012
+ 101
80013
+ ]
80014
+ }
80015
+ ]
80016
+ }
80017
+ },
80018
+ {
80019
+ name: "system_program",
80020
+ address: "11111111111111111111111111111111"
80021
+ }
80022
+ ],
80023
+ args: [
80024
+ {
80025
+ name: "agent_id",
80026
+ type: "string"
80027
+ },
80028
+ {
80029
+ name: "username",
80030
+ type: "string"
80031
+ },
80032
+ {
80033
+ name: "tweet_url",
80034
+ type: "string"
80035
+ }
80036
+ ]
80037
+ },
79081
80038
  {
79082
80039
  name: "transfer_authority",
79083
80040
  discriminator: [
@@ -79123,26 +80080,492 @@ var init_nara_agent_registry = __esm({
79123
80080
  ],
79124
80081
  args: [
79125
80082
  {
79126
- name: "agent_id",
79127
- type: "string"
80083
+ name: "agent_id",
80084
+ type: "string"
80085
+ },
80086
+ {
80087
+ name: "new_authority",
80088
+ type: "pubkey"
80089
+ }
80090
+ ]
80091
+ },
80092
+ {
80093
+ name: "unbind_twitter",
80094
+ discriminator: [
80095
+ 93,
80096
+ 66,
80097
+ 28,
80098
+ 60,
80099
+ 27,
80100
+ 34,
80101
+ 252,
80102
+ 166
80103
+ ],
80104
+ accounts: [
80105
+ {
80106
+ name: "authority",
80107
+ writable: true,
80108
+ signer: true,
80109
+ relations: [
80110
+ "agent"
80111
+ ]
80112
+ },
80113
+ {
80114
+ name: "agent",
80115
+ pda: {
80116
+ seeds: [
80117
+ {
80118
+ kind: "const",
80119
+ value: [
80120
+ 97,
80121
+ 103,
80122
+ 101,
80123
+ 110,
80124
+ 116
80125
+ ]
80126
+ },
80127
+ {
80128
+ kind: "arg",
80129
+ path: "agent_id"
80130
+ }
80131
+ ]
80132
+ }
80133
+ },
80134
+ {
80135
+ name: "twitter",
80136
+ writable: true,
80137
+ pda: {
80138
+ seeds: [
80139
+ {
80140
+ kind: "const",
80141
+ value: [
80142
+ 116,
80143
+ 119,
80144
+ 105,
80145
+ 116,
80146
+ 116,
80147
+ 101,
80148
+ 114
80149
+ ]
80150
+ },
80151
+ {
80152
+ kind: "account",
80153
+ path: "agent"
80154
+ }
80155
+ ]
80156
+ }
80157
+ },
80158
+ {
80159
+ name: "twitter_handle",
80160
+ writable: true,
80161
+ pda: {
80162
+ seeds: [
80163
+ {
80164
+ kind: "const",
80165
+ value: [
80166
+ 116,
80167
+ 119,
80168
+ 105,
80169
+ 116,
80170
+ 116,
80171
+ 101,
80172
+ 114,
80173
+ 95,
80174
+ 104,
80175
+ 97,
80176
+ 110,
80177
+ 100,
80178
+ 108,
80179
+ 101
80180
+ ]
80181
+ },
80182
+ {
80183
+ kind: "arg",
80184
+ path: "username"
80185
+ }
80186
+ ]
80187
+ }
80188
+ },
80189
+ {
80190
+ name: "config",
80191
+ pda: {
80192
+ seeds: [
80193
+ {
80194
+ kind: "const",
80195
+ value: [
80196
+ 99,
80197
+ 111,
80198
+ 110,
80199
+ 102,
80200
+ 105,
80201
+ 103
80202
+ ]
80203
+ }
80204
+ ]
80205
+ }
80206
+ },
80207
+ {
80208
+ name: "twitter_verify_vault",
80209
+ writable: true,
80210
+ pda: {
80211
+ seeds: [
80212
+ {
80213
+ kind: "const",
80214
+ value: [
80215
+ 116,
80216
+ 119,
80217
+ 105,
80218
+ 116,
80219
+ 116,
80220
+ 101,
80221
+ 114,
80222
+ 95,
80223
+ 118,
80224
+ 101,
80225
+ 114,
80226
+ 105,
80227
+ 102,
80228
+ 121,
80229
+ 95,
80230
+ 118,
80231
+ 97,
80232
+ 117,
80233
+ 108,
80234
+ 116
80235
+ ]
80236
+ }
80237
+ ]
80238
+ }
80239
+ },
80240
+ {
80241
+ name: "system_program",
80242
+ address: "11111111111111111111111111111111"
80243
+ }
80244
+ ],
80245
+ args: [
80246
+ {
80247
+ name: "agent_id",
80248
+ type: "string"
80249
+ },
80250
+ {
80251
+ name: "username",
80252
+ type: "string"
80253
+ }
80254
+ ]
80255
+ },
80256
+ {
80257
+ name: "update_activity_config",
80258
+ discriminator: [
80259
+ 167,
80260
+ 203,
80261
+ 189,
80262
+ 80,
80263
+ 145,
80264
+ 175,
80265
+ 74,
80266
+ 127
80267
+ ],
80268
+ accounts: [
80269
+ {
80270
+ name: "admin",
80271
+ signer: true,
80272
+ relations: [
80273
+ "config"
80274
+ ]
80275
+ },
80276
+ {
80277
+ name: "config",
80278
+ writable: true,
80279
+ pda: {
80280
+ seeds: [
80281
+ {
80282
+ kind: "const",
80283
+ value: [
80284
+ 99,
80285
+ 111,
80286
+ 110,
80287
+ 102,
80288
+ 105,
80289
+ 103
80290
+ ]
80291
+ }
80292
+ ]
80293
+ }
80294
+ }
80295
+ ],
80296
+ args: [
80297
+ {
80298
+ name: "activity_reward",
80299
+ type: "u64"
80300
+ },
80301
+ {
80302
+ name: "referral_activity_reward",
80303
+ type: "u64"
80304
+ }
80305
+ ]
80306
+ },
80307
+ {
80308
+ name: "update_admin",
80309
+ discriminator: [
80310
+ 161,
80311
+ 176,
80312
+ 40,
80313
+ 213,
80314
+ 60,
80315
+ 184,
80316
+ 179,
80317
+ 228
80318
+ ],
80319
+ accounts: [
80320
+ {
80321
+ name: "admin",
80322
+ signer: true,
80323
+ relations: [
80324
+ "config"
80325
+ ]
80326
+ },
80327
+ {
80328
+ name: "config",
80329
+ writable: true,
80330
+ pda: {
80331
+ seeds: [
80332
+ {
80333
+ kind: "const",
80334
+ value: [
80335
+ 99,
80336
+ 111,
80337
+ 110,
80338
+ 102,
80339
+ 105,
80340
+ 103
80341
+ ]
80342
+ }
80343
+ ]
80344
+ }
80345
+ }
80346
+ ],
80347
+ args: [
80348
+ {
80349
+ name: "new_admin",
80350
+ type: "pubkey"
80351
+ }
80352
+ ]
80353
+ },
80354
+ {
80355
+ name: "update_points_config",
80356
+ discriminator: [
80357
+ 15,
80358
+ 89,
80359
+ 27,
80360
+ 201,
80361
+ 127,
80362
+ 239,
80363
+ 187,
80364
+ 80
80365
+ ],
80366
+ accounts: [
80367
+ {
80368
+ name: "admin",
80369
+ signer: true,
80370
+ relations: [
80371
+ "config"
80372
+ ]
80373
+ },
80374
+ {
80375
+ name: "config",
80376
+ writable: true,
80377
+ pda: {
80378
+ seeds: [
80379
+ {
80380
+ kind: "const",
80381
+ value: [
80382
+ 99,
80383
+ 111,
80384
+ 110,
80385
+ 102,
80386
+ 105,
80387
+ 103
80388
+ ]
80389
+ }
80390
+ ]
80391
+ }
80392
+ }
80393
+ ],
80394
+ args: [
80395
+ {
80396
+ name: "points_self",
80397
+ type: "u64"
80398
+ },
80399
+ {
80400
+ name: "points_referral",
80401
+ type: "u64"
80402
+ }
80403
+ ]
80404
+ },
80405
+ {
80406
+ name: "update_referral_config",
80407
+ discriminator: [
80408
+ 129,
80409
+ 209,
80410
+ 121,
80411
+ 34,
80412
+ 163,
80413
+ 184,
80414
+ 187,
80415
+ 56
80416
+ ],
80417
+ accounts: [
80418
+ {
80419
+ name: "admin",
80420
+ signer: true,
80421
+ relations: [
80422
+ "config"
80423
+ ]
80424
+ },
80425
+ {
80426
+ name: "config",
80427
+ writable: true,
80428
+ pda: {
80429
+ seeds: [
80430
+ {
80431
+ kind: "const",
80432
+ value: [
80433
+ 99,
80434
+ 111,
80435
+ 110,
80436
+ 102,
80437
+ 105,
80438
+ 103
80439
+ ]
80440
+ }
80441
+ ]
80442
+ }
80443
+ }
80444
+ ],
80445
+ args: [
80446
+ {
80447
+ name: "referral_register_fee",
80448
+ type: "u64"
80449
+ },
80450
+ {
80451
+ name: "referral_fee_share",
80452
+ type: "u64"
80453
+ },
80454
+ {
80455
+ name: "referral_register_points",
80456
+ type: "u64"
80457
+ }
80458
+ ]
80459
+ },
80460
+ {
80461
+ name: "update_register_fee",
80462
+ discriminator: [
80463
+ 16,
80464
+ 11,
80465
+ 242,
80466
+ 97,
80467
+ 55,
80468
+ 197,
80469
+ 142,
80470
+ 249
80471
+ ],
80472
+ accounts: [
80473
+ {
80474
+ name: "admin",
80475
+ signer: true,
80476
+ relations: [
80477
+ "config"
80478
+ ]
80479
+ },
80480
+ {
80481
+ name: "config",
80482
+ writable: true,
80483
+ pda: {
80484
+ seeds: [
80485
+ {
80486
+ kind: "const",
80487
+ value: [
80488
+ 99,
80489
+ 111,
80490
+ 110,
80491
+ 102,
80492
+ 105,
80493
+ 103
80494
+ ]
80495
+ }
80496
+ ]
80497
+ }
80498
+ }
80499
+ ],
80500
+ args: [
80501
+ {
80502
+ name: "new_fee",
80503
+ type: "u64"
80504
+ }
80505
+ ]
80506
+ },
80507
+ {
80508
+ name: "update_tweet_verify_config",
80509
+ discriminator: [
80510
+ 16,
80511
+ 173,
80512
+ 44,
80513
+ 208,
80514
+ 249,
80515
+ 61,
80516
+ 172,
80517
+ 152
80518
+ ],
80519
+ accounts: [
80520
+ {
80521
+ name: "admin",
80522
+ signer: true,
80523
+ relations: [
80524
+ "config"
80525
+ ]
80526
+ },
80527
+ {
80528
+ name: "config",
80529
+ writable: true,
80530
+ pda: {
80531
+ seeds: [
80532
+ {
80533
+ kind: "const",
80534
+ value: [
80535
+ 99,
80536
+ 111,
80537
+ 110,
80538
+ 102,
80539
+ 105,
80540
+ 103
80541
+ ]
80542
+ }
80543
+ ]
80544
+ }
80545
+ }
80546
+ ],
80547
+ args: [
80548
+ {
80549
+ name: "reward",
80550
+ type: "u64"
79128
80551
  },
79129
80552
  {
79130
- name: "new_authority",
79131
- type: "pubkey"
80553
+ name: "points",
80554
+ type: "u64"
79132
80555
  }
79133
80556
  ]
79134
80557
  },
79135
80558
  {
79136
- name: "update_activity_config",
80559
+ name: "update_twitter_verification_config",
79137
80560
  discriminator: [
79138
- 167,
79139
- 203,
79140
- 189,
79141
- 80,
79142
- 145,
79143
- 175,
79144
80561
  74,
79145
- 127
80562
+ 177,
80563
+ 105,
80564
+ 71,
80565
+ 46,
80566
+ 192,
80567
+ 112,
80568
+ 135
79146
80569
  ],
79147
80570
  accounts: [
79148
80571
  {
@@ -79174,26 +80597,30 @@ var init_nara_agent_registry = __esm({
79174
80597
  ],
79175
80598
  args: [
79176
80599
  {
79177
- name: "activity_reward",
80600
+ name: "fee",
79178
80601
  type: "u64"
79179
80602
  },
79180
80603
  {
79181
- name: "referral_activity_reward",
80604
+ name: "reward",
80605
+ type: "u64"
80606
+ },
80607
+ {
80608
+ name: "points",
79182
80609
  type: "u64"
79183
80610
  }
79184
80611
  ]
79185
80612
  },
79186
80613
  {
79187
- name: "update_admin",
80614
+ name: "update_twitter_verifier",
79188
80615
  discriminator: [
79189
- 161,
80616
+ 81,
80617
+ 250,
79190
80618
  176,
79191
- 40,
79192
- 213,
79193
- 60,
79194
- 184,
79195
- 179,
79196
- 228
80619
+ 204,
80620
+ 250,
80621
+ 169,
80622
+ 146,
80623
+ 144
79197
80624
  ],
79198
80625
  accounts: [
79199
80626
  {
@@ -79225,34 +80652,31 @@ var init_nara_agent_registry = __esm({
79225
80652
  ],
79226
80653
  args: [
79227
80654
  {
79228
- name: "new_admin",
80655
+ name: "new_verifier",
79229
80656
  type: "pubkey"
79230
80657
  }
79231
80658
  ]
79232
80659
  },
79233
80660
  {
79234
- name: "update_points_config",
80661
+ name: "verify_twitter",
79235
80662
  discriminator: [
80663
+ 170,
80664
+ 213,
80665
+ 202,
80666
+ 134,
80667
+ 247,
80668
+ 139,
79236
80669
  15,
79237
- 89,
79238
- 27,
79239
- 201,
79240
- 127,
79241
- 239,
79242
- 187,
79243
- 80
80670
+ 24
79244
80671
  ],
79245
80672
  accounts: [
79246
80673
  {
79247
- name: "admin",
79248
- signer: true,
79249
- relations: [
79250
- "config"
79251
- ]
80674
+ name: "verifier",
80675
+ writable: true,
80676
+ signer: true
79252
80677
  },
79253
80678
  {
79254
80679
  name: "config",
79255
- writable: true,
79256
80680
  pda: {
79257
80681
  seeds: [
79258
80682
  {
@@ -79268,53 +80692,280 @@ var init_nara_agent_registry = __esm({
79268
80692
  }
79269
80693
  ]
79270
80694
  }
79271
- }
79272
- ],
79273
- args: [
80695
+ },
79274
80696
  {
79275
- name: "points_self",
79276
- type: "u64"
80697
+ name: "agent",
80698
+ pda: {
80699
+ seeds: [
80700
+ {
80701
+ kind: "const",
80702
+ value: [
80703
+ 97,
80704
+ 103,
80705
+ 101,
80706
+ 110,
80707
+ 116
80708
+ ]
80709
+ },
80710
+ {
80711
+ kind: "arg",
80712
+ path: "agent_id"
80713
+ }
80714
+ ]
80715
+ }
79277
80716
  },
79278
80717
  {
79279
- name: "points_referral",
79280
- type: "u64"
79281
- }
79282
- ]
79283
- },
79284
- {
79285
- name: "update_referral_config",
79286
- discriminator: [
79287
- 129,
79288
- 209,
79289
- 121,
79290
- 34,
79291
- 163,
79292
- 184,
79293
- 187,
79294
- 56
79295
- ],
79296
- accounts: [
80718
+ name: "twitter",
80719
+ writable: true,
80720
+ pda: {
80721
+ seeds: [
80722
+ {
80723
+ kind: "const",
80724
+ value: [
80725
+ 116,
80726
+ 119,
80727
+ 105,
80728
+ 116,
80729
+ 116,
80730
+ 101,
80731
+ 114
80732
+ ]
80733
+ },
80734
+ {
80735
+ kind: "account",
80736
+ path: "agent"
80737
+ }
80738
+ ]
80739
+ }
80740
+ },
79297
80741
  {
79298
- name: "admin",
79299
- signer: true,
79300
- relations: [
79301
- "config"
79302
- ]
80742
+ name: "twitter_handle",
80743
+ writable: true,
80744
+ pda: {
80745
+ seeds: [
80746
+ {
80747
+ kind: "const",
80748
+ value: [
80749
+ 116,
80750
+ 119,
80751
+ 105,
80752
+ 116,
80753
+ 116,
80754
+ 101,
80755
+ 114,
80756
+ 95,
80757
+ 104,
80758
+ 97,
80759
+ 110,
80760
+ 100,
80761
+ 108,
80762
+ 101
80763
+ ]
80764
+ },
80765
+ {
80766
+ kind: "arg",
80767
+ path: "username"
80768
+ }
80769
+ ]
80770
+ }
79303
80771
  },
79304
80772
  {
79305
- name: "config",
80773
+ name: "authority",
80774
+ writable: true
80775
+ },
80776
+ {
80777
+ name: "twitter_verify_vault",
79306
80778
  writable: true,
79307
80779
  pda: {
79308
80780
  seeds: [
79309
80781
  {
79310
80782
  kind: "const",
79311
80783
  value: [
79312
- 99,
80784
+ 116,
80785
+ 119,
80786
+ 105,
80787
+ 116,
80788
+ 116,
80789
+ 101,
80790
+ 114,
80791
+ 95,
80792
+ 118,
80793
+ 101,
80794
+ 114,
80795
+ 105,
80796
+ 102,
80797
+ 121,
80798
+ 95,
80799
+ 118,
80800
+ 97,
80801
+ 117,
80802
+ 108,
80803
+ 116
80804
+ ]
80805
+ }
80806
+ ]
80807
+ }
80808
+ },
80809
+ {
80810
+ name: "treasury",
80811
+ writable: true,
80812
+ pda: {
80813
+ seeds: [
80814
+ {
80815
+ kind: "const",
80816
+ value: [
80817
+ 116,
80818
+ 114,
80819
+ 101,
80820
+ 97,
80821
+ 115,
80822
+ 117,
80823
+ 114,
80824
+ 121
80825
+ ]
80826
+ }
80827
+ ]
80828
+ }
80829
+ },
80830
+ {
80831
+ name: "point_mint",
80832
+ writable: true,
80833
+ pda: {
80834
+ seeds: [
80835
+ {
80836
+ kind: "const",
80837
+ value: [
80838
+ 112,
79313
80839
  111,
80840
+ 105,
79314
80841
  110,
79315
- 102,
80842
+ 116,
80843
+ 95,
80844
+ 109,
79316
80845
  105,
79317
- 103
80846
+ 110,
80847
+ 116
80848
+ ]
80849
+ }
80850
+ ]
80851
+ }
80852
+ },
80853
+ {
80854
+ name: "mint_authority",
80855
+ pda: {
80856
+ seeds: [
80857
+ {
80858
+ kind: "const",
80859
+ value: [
80860
+ 109,
80861
+ 105,
80862
+ 110,
80863
+ 116,
80864
+ 95,
80865
+ 97,
80866
+ 117,
80867
+ 116,
80868
+ 104,
80869
+ 111,
80870
+ 114,
80871
+ 105,
80872
+ 116,
80873
+ 121
80874
+ ]
80875
+ }
80876
+ ]
80877
+ }
80878
+ },
80879
+ {
80880
+ name: "authority_point_account",
80881
+ writable: true,
80882
+ pda: {
80883
+ seeds: [
80884
+ {
80885
+ kind: "account",
80886
+ path: "authority"
80887
+ },
80888
+ {
80889
+ kind: "account",
80890
+ path: "token_program"
80891
+ },
80892
+ {
80893
+ kind: "account",
80894
+ path: "point_mint"
80895
+ }
80896
+ ],
80897
+ program: {
80898
+ kind: "const",
80899
+ value: [
80900
+ 140,
80901
+ 151,
80902
+ 37,
80903
+ 143,
80904
+ 78,
80905
+ 36,
80906
+ 137,
80907
+ 241,
80908
+ 187,
80909
+ 61,
80910
+ 16,
80911
+ 41,
80912
+ 20,
80913
+ 142,
80914
+ 13,
80915
+ 131,
80916
+ 11,
80917
+ 90,
80918
+ 19,
80919
+ 153,
80920
+ 218,
80921
+ 255,
80922
+ 16,
80923
+ 132,
80924
+ 4,
80925
+ 142,
80926
+ 123,
80927
+ 216,
80928
+ 219,
80929
+ 233,
80930
+ 248,
80931
+ 89
80932
+ ]
80933
+ }
80934
+ }
80935
+ },
80936
+ {
80937
+ name: "token_program",
80938
+ address: "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
80939
+ },
80940
+ {
80941
+ name: "associated_token_program",
80942
+ address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
80943
+ },
80944
+ {
80945
+ name: "system_program",
80946
+ address: "11111111111111111111111111111111"
80947
+ },
80948
+ {
80949
+ name: "twitter_queue",
80950
+ writable: true,
80951
+ pda: {
80952
+ seeds: [
80953
+ {
80954
+ kind: "const",
80955
+ value: [
80956
+ 116,
80957
+ 119,
80958
+ 105,
80959
+ 116,
80960
+ 116,
80961
+ 101,
80962
+ 114,
80963
+ 95,
80964
+ 113,
80965
+ 117,
80966
+ 101,
80967
+ 117,
80968
+ 101
79318
80969
  ]
79319
80970
  }
79320
80971
  ]
@@ -79323,34 +80974,31 @@ var init_nara_agent_registry = __esm({
79323
80974
  ],
79324
80975
  args: [
79325
80976
  {
79326
- name: "referral_register_fee",
79327
- type: "u64"
79328
- },
79329
- {
79330
- name: "referral_fee_share",
79331
- type: "u64"
80977
+ name: "agent_id",
80978
+ type: "string"
79332
80979
  },
79333
80980
  {
79334
- name: "referral_register_points",
79335
- type: "u64"
80981
+ name: "username",
80982
+ type: "string"
79336
80983
  }
79337
80984
  ]
79338
80985
  },
79339
80986
  {
79340
- name: "update_register_fee",
80987
+ name: "withdraw_fees",
79341
80988
  discriminator: [
79342
- 16,
79343
- 11,
79344
- 242,
79345
- 97,
79346
- 55,
79347
- 197,
79348
- 142,
79349
- 249
80989
+ 198,
80990
+ 212,
80991
+ 171,
80992
+ 109,
80993
+ 144,
80994
+ 215,
80995
+ 174,
80996
+ 89
79350
80997
  ],
79351
80998
  accounts: [
79352
80999
  {
79353
81000
  name: "admin",
81001
+ writable: true,
79354
81002
  signer: true,
79355
81003
  relations: [
79356
81004
  "config"
@@ -79358,7 +81006,6 @@ var init_nara_agent_registry = __esm({
79358
81006
  },
79359
81007
  {
79360
81008
  name: "config",
79361
- writable: true,
79362
81009
  pda: {
79363
81010
  seeds: [
79364
81011
  {
@@ -79374,26 +81021,52 @@ var init_nara_agent_registry = __esm({
79374
81021
  }
79375
81022
  ]
79376
81023
  }
81024
+ },
81025
+ {
81026
+ name: "fee_vault",
81027
+ writable: true,
81028
+ pda: {
81029
+ seeds: [
81030
+ {
81031
+ kind: "const",
81032
+ value: [
81033
+ 102,
81034
+ 101,
81035
+ 101,
81036
+ 95,
81037
+ 118,
81038
+ 97,
81039
+ 117,
81040
+ 108,
81041
+ 116
81042
+ ]
81043
+ }
81044
+ ]
81045
+ }
81046
+ },
81047
+ {
81048
+ name: "system_program",
81049
+ address: "11111111111111111111111111111111"
79377
81050
  }
79378
81051
  ],
79379
81052
  args: [
79380
81053
  {
79381
- name: "new_fee",
81054
+ name: "amount",
79382
81055
  type: "u64"
79383
81056
  }
79384
81057
  ]
79385
81058
  },
79386
81059
  {
79387
- name: "withdraw_fees",
81060
+ name: "withdraw_twitter_verify_fees",
79388
81061
  discriminator: [
79389
- 198,
81062
+ 64,
79390
81063
  212,
79391
- 171,
79392
- 109,
79393
- 144,
79394
- 215,
79395
- 174,
79396
- 89
81064
+ 105,
81065
+ 60,
81066
+ 34,
81067
+ 93,
81068
+ 221,
81069
+ 176
79397
81070
  ],
79398
81071
  accounts: [
79399
81072
  {
@@ -79423,16 +81096,27 @@ var init_nara_agent_registry = __esm({
79423
81096
  }
79424
81097
  },
79425
81098
  {
79426
- name: "fee_vault",
81099
+ name: "twitter_verify_vault",
79427
81100
  writable: true,
79428
81101
  pda: {
79429
81102
  seeds: [
79430
81103
  {
79431
81104
  kind: "const",
79432
81105
  value: [
79433
- 102,
81106
+ 116,
81107
+ 119,
81108
+ 105,
81109
+ 116,
81110
+ 116,
79434
81111
  101,
81112
+ 114,
81113
+ 95,
81114
+ 118,
79435
81115
  101,
81116
+ 114,
81117
+ 105,
81118
+ 102,
81119
+ 121,
79436
81120
  95,
79437
81121
  118,
79438
81122
  97,
@@ -79532,6 +81216,19 @@ var init_nara_agent_registry = __esm({
79532
81216
  49
79533
81217
  ]
79534
81218
  },
81219
+ {
81220
+ name: "AgentTwitter",
81221
+ discriminator: [
81222
+ 71,
81223
+ 53,
81224
+ 221,
81225
+ 107,
81226
+ 16,
81227
+ 244,
81228
+ 30,
81229
+ 181
81230
+ ]
81231
+ },
79535
81232
  {
79536
81233
  name: "MemoryBuffer",
79537
81234
  discriminator: [
@@ -79557,6 +81254,32 @@ var init_nara_agent_registry = __esm({
79557
81254
  140,
79558
81255
  63
79559
81256
  ]
81257
+ },
81258
+ {
81259
+ name: "TweetVerify",
81260
+ discriminator: [
81261
+ 6,
81262
+ 26,
81263
+ 187,
81264
+ 54,
81265
+ 43,
81266
+ 97,
81267
+ 119,
81268
+ 79
81269
+ ]
81270
+ },
81271
+ {
81272
+ name: "TwitterHandle",
81273
+ discriminator: [
81274
+ 146,
81275
+ 117,
81276
+ 11,
81277
+ 222,
81278
+ 176,
81279
+ 213,
81280
+ 252,
81281
+ 249
81282
+ ]
79560
81283
  }
79561
81284
  ],
79562
81285
  events: [
@@ -79719,6 +81442,76 @@ var init_nara_agent_registry = __esm({
79719
81442
  code: 6028,
79720
81443
  name: "SelfReferral",
79721
81444
  msg: "Cannot set self as referral"
81445
+ },
81446
+ {
81447
+ code: 6029,
81448
+ name: "TwitterVerifierNotSet",
81449
+ msg: "Twitter verifier not configured"
81450
+ },
81451
+ {
81452
+ code: 6030,
81453
+ name: "NotTwitterVerifier",
81454
+ msg: "Unauthorized: not the twitter verifier"
81455
+ },
81456
+ {
81457
+ code: 6031,
81458
+ name: "TwitterUsernameTooLong",
81459
+ msg: "Twitter username too long"
81460
+ },
81461
+ {
81462
+ code: 6032,
81463
+ name: "TwitterUsernameEmpty",
81464
+ msg: "Twitter username is empty"
81465
+ },
81466
+ {
81467
+ code: 6033,
81468
+ name: "TweetUrlTooLong",
81469
+ msg: "Tweet URL too long"
81470
+ },
81471
+ {
81472
+ code: 6034,
81473
+ name: "TweetUrlEmpty",
81474
+ msg: "Tweet URL is empty"
81475
+ },
81476
+ {
81477
+ code: 6035,
81478
+ name: "TwitterNotPending",
81479
+ msg: "Twitter account is not in pending status"
81480
+ },
81481
+ {
81482
+ code: 6036,
81483
+ name: "TwitterNotVerified",
81484
+ msg: "Twitter account is not in verified status"
81485
+ },
81486
+ {
81487
+ code: 6037,
81488
+ name: "TwitterHandleAlreadyBound",
81489
+ msg: "Twitter handle already bound to another agent"
81490
+ },
81491
+ {
81492
+ code: 6038,
81493
+ name: "InsufficientTwitterVerifyVaultBalance",
81494
+ msg: "Twitter verify vault has insufficient balance"
81495
+ },
81496
+ {
81497
+ code: 6039,
81498
+ name: "TweetVerifyCooldown",
81499
+ msg: "Tweet verification is in cooldown period"
81500
+ },
81501
+ {
81502
+ code: 6040,
81503
+ name: "TweetVerifyNotPending",
81504
+ msg: "Tweet verification is not in pending status"
81505
+ },
81506
+ {
81507
+ code: 6041,
81508
+ name: "TweetVerifyAlreadyPending",
81509
+ msg: "Tweet verification already pending"
81510
+ },
81511
+ {
81512
+ code: 6042,
81513
+ name: "TwitterUsernameMismatch",
81514
+ msg: "Twitter username does not match verified account"
79722
81515
  }
79723
81516
  ],
79724
81517
  types: [
@@ -79844,6 +81637,61 @@ var init_nara_agent_registry = __esm({
79844
81637
  ]
79845
81638
  }
79846
81639
  },
81640
+ {
81641
+ name: "AgentTwitter",
81642
+ serialization: "bytemuck",
81643
+ repr: {
81644
+ kind: "c"
81645
+ },
81646
+ type: {
81647
+ kind: "struct",
81648
+ fields: [
81649
+ {
81650
+ name: "status",
81651
+ type: "u64"
81652
+ },
81653
+ {
81654
+ name: "verified_at",
81655
+ type: "i64"
81656
+ },
81657
+ {
81658
+ name: "username_len",
81659
+ type: "u64"
81660
+ },
81661
+ {
81662
+ name: "tweet_url_len",
81663
+ type: "u64"
81664
+ },
81665
+ {
81666
+ name: "username",
81667
+ type: {
81668
+ array: [
81669
+ "u8",
81670
+ 32
81671
+ ]
81672
+ }
81673
+ },
81674
+ {
81675
+ name: "tweet_url",
81676
+ type: {
81677
+ array: [
81678
+ "u8",
81679
+ 256
81680
+ ]
81681
+ }
81682
+ },
81683
+ {
81684
+ name: "_reserved",
81685
+ type: {
81686
+ array: [
81687
+ "u8",
81688
+ 64
81689
+ ]
81690
+ }
81691
+ }
81692
+ ]
81693
+ }
81694
+ },
79847
81695
  {
79848
81696
  name: "MemoryBuffer",
79849
81697
  docs: [
@@ -79950,6 +81798,138 @@ var init_nara_agent_registry = __esm({
79950
81798
  name: "referral_activity_reward",
79951
81799
  type: "u64"
79952
81800
  },
81801
+ {
81802
+ name: "twitter_verifier",
81803
+ type: "pubkey"
81804
+ },
81805
+ {
81806
+ name: "twitter_verification_fee",
81807
+ type: "u64"
81808
+ },
81809
+ {
81810
+ name: "twitter_verification_reward",
81811
+ type: "u64"
81812
+ },
81813
+ {
81814
+ name: "twitter_verification_points",
81815
+ type: "u64"
81816
+ },
81817
+ {
81818
+ name: "tweet_verify_reward",
81819
+ type: "u64"
81820
+ },
81821
+ {
81822
+ name: "tweet_verify_points",
81823
+ type: "u64"
81824
+ },
81825
+ {
81826
+ name: "_reserved",
81827
+ type: {
81828
+ array: [
81829
+ "u8",
81830
+ 128
81831
+ ]
81832
+ }
81833
+ },
81834
+ {
81835
+ name: "_reserved2",
81836
+ type: {
81837
+ array: [
81838
+ "u8",
81839
+ 96
81840
+ ]
81841
+ }
81842
+ },
81843
+ {
81844
+ name: "_reserved3",
81845
+ type: {
81846
+ array: [
81847
+ "u8",
81848
+ 24
81849
+ ]
81850
+ }
81851
+ }
81852
+ ]
81853
+ }
81854
+ },
81855
+ {
81856
+ name: "TweetVerify",
81857
+ docs: [
81858
+ "Per-agent tweet verification state.",
81859
+ "Seeds: [SEED_TWEET_VERIFY, agent_pda.as_ref()]"
81860
+ ],
81861
+ serialization: "bytemuck",
81862
+ repr: {
81863
+ kind: "c"
81864
+ },
81865
+ type: {
81866
+ kind: "struct",
81867
+ fields: [
81868
+ {
81869
+ name: "status",
81870
+ docs: [
81871
+ "0 = Idle, 1 = Pending"
81872
+ ],
81873
+ type: "u64"
81874
+ },
81875
+ {
81876
+ name: "submitted_at",
81877
+ docs: [
81878
+ "Unix timestamp when the tweet was submitted"
81879
+ ],
81880
+ type: "i64"
81881
+ },
81882
+ {
81883
+ name: "last_rewarded_at",
81884
+ docs: [
81885
+ "Unix timestamp of the last successful reward (for cooldown)"
81886
+ ],
81887
+ type: "i64"
81888
+ },
81889
+ {
81890
+ name: "tweet_url_len",
81891
+ docs: [
81892
+ "Actual byte length of tweet_url"
81893
+ ],
81894
+ type: "u64"
81895
+ },
81896
+ {
81897
+ name: "tweet_url",
81898
+ docs: [
81899
+ "Tweet URL (max 256 bytes)"
81900
+ ],
81901
+ type: {
81902
+ array: [
81903
+ "u8",
81904
+ 256
81905
+ ]
81906
+ }
81907
+ },
81908
+ {
81909
+ name: "_reserved",
81910
+ type: {
81911
+ array: [
81912
+ "u8",
81913
+ 64
81914
+ ]
81915
+ }
81916
+ }
81917
+ ]
81918
+ }
81919
+ },
81920
+ {
81921
+ name: "TwitterHandle",
81922
+ serialization: "bytemuck",
81923
+ repr: {
81924
+ kind: "c"
81925
+ },
81926
+ type: {
81927
+ kind: "struct",
81928
+ fields: [
81929
+ {
81930
+ name: "agent",
81931
+ type: "pubkey"
81932
+ },
79953
81933
  {
79954
81934
  name: "_reserved",
79955
81935
  type: {
@@ -79967,15 +81947,19 @@ var init_nara_agent_registry = __esm({
79967
81947
  }
79968
81948
  });
79969
81949
 
79970
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/agent_registry.ts
81950
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/agent_registry.ts
79971
81951
  var agent_registry_exports = {};
79972
81952
  __export(agent_registry_exports, {
81953
+ approveTweet: () => approveTweet,
79973
81954
  closeBuffer: () => closeBuffer,
79974
81955
  deleteAgent: () => deleteAgent,
81956
+ expandConfig: () => expandConfig,
79975
81957
  getAgentInfo: () => getAgentInfo,
79976
81958
  getAgentMemory: () => getAgentMemory,
79977
81959
  getAgentRecord: () => getAgentRecord,
81960
+ getAgentTwitter: () => getAgentTwitter,
79978
81961
  getConfig: () => getConfig,
81962
+ getTweetVerify: () => getTweetVerify,
79979
81963
  initConfig: () => initConfig,
79980
81964
  logActivity: () => logActivity,
79981
81965
  logActivityWithReferral: () => logActivityWithReferral,
@@ -79983,17 +81967,27 @@ __export(agent_registry_exports, {
79983
81967
  makeLogActivityWithReferralIx: () => makeLogActivityWithReferralIx,
79984
81968
  registerAgent: () => registerAgent,
79985
81969
  registerAgentWithReferral: () => registerAgentWithReferral,
81970
+ rejectTweet: () => rejectTweet,
81971
+ rejectTwitter: () => rejectTwitter,
79986
81972
  setBio: () => setBio,
79987
81973
  setMetadata: () => setMetadata,
79988
81974
  setReferral: () => setReferral,
81975
+ setTwitter: () => setTwitter,
81976
+ submitTweet: () => submitTweet,
79989
81977
  transferAgentAuthority: () => transferAgentAuthority,
81978
+ unbindTwitter: () => unbindTwitter,
79990
81979
  updateActivityConfig: () => updateActivityConfig,
79991
81980
  updateAdmin: () => updateAdmin,
79992
81981
  updatePointsConfig: () => updatePointsConfig,
79993
81982
  updateReferralConfig: () => updateReferralConfig,
79994
81983
  updateRegisterFee: () => updateRegisterFee,
81984
+ updateTweetVerifyConfig: () => updateTweetVerifyConfig,
81985
+ updateTwitterVerificationConfig: () => updateTwitterVerificationConfig,
81986
+ updateTwitterVerifier: () => updateTwitterVerifier,
79995
81987
  uploadMemory: () => uploadMemory,
79996
- withdrawFees: () => withdrawFees
81988
+ verifyTwitter: () => verifyTwitter,
81989
+ withdrawFees: () => withdrawFees,
81990
+ withdrawTwitterVerifyFees: () => withdrawTwitterVerifyFees
79997
81991
  });
79998
81992
  function createProgram(connection, wallet, programId) {
79999
81993
  const idl = nara_agent_registry_default;
@@ -80054,6 +82048,20 @@ function getRefereeActivityMintPda(programId) {
80054
82048
  );
80055
82049
  return pda;
80056
82050
  }
82051
+ function getTwitterPda(programId, agentPda) {
82052
+ const [pda] = import_web389.PublicKey.findProgramAddressSync(
82053
+ [Buffer.from("twitter"), agentPda.toBuffer()],
82054
+ programId
82055
+ );
82056
+ return pda;
82057
+ }
82058
+ function getTweetVerifyPda(programId, agentPda) {
82059
+ const [pda] = import_web389.PublicKey.findProgramAddressSync(
82060
+ [Buffer.from("tweet_verify"), agentPda.toBuffer()],
82061
+ programId
82062
+ );
82063
+ return pda;
82064
+ }
80057
82065
  async function resolveReferralAccounts(connection, referralAgentId, programId, pointMint) {
80058
82066
  const referralAgent = getAgentPda(programId, referralAgentId);
80059
82067
  const accountInfo = await connection.getAccountInfo(referralAgent);
@@ -80183,7 +82191,19 @@ async function getConfig(connection, options) {
80183
82191
  const activityReward = Number(buf.readBigUInt64LE(offset));
80184
82192
  offset += 8;
80185
82193
  const referralActivityReward = Number(buf.readBigUInt64LE(offset));
80186
- return { admin, feeVault, pointMint, refereeMint, refereeActivityMint, registerFee, pointsSelf, pointsReferral, referralRegisterFee, referralFeeShare, referralRegisterPoints, activityReward, referralActivityReward };
82194
+ offset += 8;
82195
+ const twitterVerifier = new import_web389.PublicKey(buf.subarray(offset, offset + 32));
82196
+ offset += 32;
82197
+ const twitterVerificationFee = Number(buf.readBigUInt64LE(offset));
82198
+ offset += 8;
82199
+ const twitterVerificationReward = Number(buf.readBigUInt64LE(offset));
82200
+ offset += 8;
82201
+ const twitterVerificationPoints = Number(buf.readBigUInt64LE(offset));
82202
+ offset += 8;
82203
+ const tweetVerifyReward = Number(buf.readBigUInt64LE(offset));
82204
+ offset += 8;
82205
+ const tweetVerifyPoints = Number(buf.readBigUInt64LE(offset));
82206
+ return { admin, feeVault, pointMint, refereeMint, refereeActivityMint, registerFee, pointsSelf, pointsReferral, referralRegisterFee, referralFeeShare, referralRegisterPoints, activityReward, referralActivityReward, twitterVerifier, twitterVerificationFee, twitterVerificationReward, twitterVerificationPoints, tweetVerifyReward, tweetVerifyPoints };
80187
82207
  }
80188
82208
  async function registerAgent(connection, wallet, agentId, options) {
80189
82209
  if (/[A-Z]/.test(agentId)) {
@@ -80488,9 +82508,146 @@ async function updateActivityConfig(connection, wallet, activityReward, referral
80488
82508
  const ix = await program3.methods.updateActivityConfig(ar, rar).accounts({ admin: wallet.publicKey }).instruction();
80489
82509
  return sendTx(connection, wallet, [ix]);
80490
82510
  }
82511
+ async function expandConfig(connection, wallet, extendSize, options) {
82512
+ const program3 = createProgram(connection, wallet, options?.programId);
82513
+ const size = typeof extendSize === "number" ? new anchor.BN(extendSize) : extendSize;
82514
+ const ix = await program3.methods.expandConfig(size).accounts({ admin: wallet.publicKey }).instruction();
82515
+ return sendTx(connection, wallet, [ix]);
82516
+ }
82517
+ async function updateTwitterVerifier(connection, wallet, newVerifier, options) {
82518
+ const program3 = createProgram(connection, wallet, options?.programId);
82519
+ const ix = await program3.methods.updateTwitterVerifier(newVerifier).accounts({ admin: wallet.publicKey }).instruction();
82520
+ return sendTx(connection, wallet, [ix]);
82521
+ }
82522
+ async function updateTwitterVerificationConfig(connection, wallet, fee, reward, points, options) {
82523
+ const program3 = createProgram(connection, wallet, options?.programId);
82524
+ const f = typeof fee === "number" ? new anchor.BN(fee) : fee;
82525
+ const r = typeof reward === "number" ? new anchor.BN(reward) : reward;
82526
+ const p = typeof points === "number" ? new anchor.BN(points) : points;
82527
+ const ix = await program3.methods.updateTwitterVerificationConfig(f, r, p).accounts({ admin: wallet.publicKey }).instruction();
82528
+ return sendTx(connection, wallet, [ix]);
82529
+ }
82530
+ async function updateTweetVerifyConfig(connection, wallet, reward, points, options) {
82531
+ const program3 = createProgram(connection, wallet, options?.programId);
82532
+ const r = typeof reward === "number" ? new anchor.BN(reward) : reward;
82533
+ const p = typeof points === "number" ? new anchor.BN(points) : points;
82534
+ const ix = await program3.methods.updateTweetVerifyConfig(r, p).accounts({ admin: wallet.publicKey }).instruction();
82535
+ return sendTx(connection, wallet, [ix]);
82536
+ }
82537
+ async function withdrawTwitterVerifyFees(connection, wallet, amount, options) {
82538
+ const program3 = createProgram(connection, wallet, options?.programId);
82539
+ const amt = typeof amount === "number" ? new anchor.BN(amount) : amount;
82540
+ const ix = await program3.methods.withdrawTwitterVerifyFees(amt).accounts({ admin: wallet.publicKey }).instruction();
82541
+ return sendTx(connection, wallet, [ix]);
82542
+ }
82543
+ async function getAgentTwitter(connection, agentId, options) {
82544
+ const pid = new import_web389.PublicKey(options?.programId ?? DEFAULT_AGENT_REGISTRY_PROGRAM_ID);
82545
+ const agentPda = getAgentPda(pid, agentId);
82546
+ const twitterPda = getTwitterPda(pid, agentPda);
82547
+ const accountInfo = await connection.getAccountInfo(twitterPda);
82548
+ if (!accountInfo) return null;
82549
+ const buf = Buffer.from(accountInfo.data);
82550
+ let offset = 8;
82551
+ const status = Number(buf.readBigUInt64LE(offset));
82552
+ offset += 8;
82553
+ const verifiedAt = Number(buf.readBigInt64LE(offset));
82554
+ offset += 8;
82555
+ const usernameLen = Number(buf.readBigUInt64LE(offset));
82556
+ offset += 8;
82557
+ const tweetUrlLen = Number(buf.readBigUInt64LE(offset));
82558
+ offset += 8;
82559
+ const username = buf.subarray(offset, offset + usernameLen).toString("utf-8");
82560
+ offset += 32;
82561
+ const tweetUrl = buf.subarray(offset, offset + tweetUrlLen).toString("utf-8");
82562
+ return { status, verifiedAt, username, tweetUrl };
82563
+ }
82564
+ async function getTweetVerify(connection, agentId, options) {
82565
+ const pid = new import_web389.PublicKey(options?.programId ?? DEFAULT_AGENT_REGISTRY_PROGRAM_ID);
82566
+ const agentPda = getAgentPda(pid, agentId);
82567
+ const tweetVerifyPda = getTweetVerifyPda(pid, agentPda);
82568
+ const accountInfo = await connection.getAccountInfo(tweetVerifyPda);
82569
+ if (!accountInfo) return null;
82570
+ const buf = Buffer.from(accountInfo.data);
82571
+ let offset = 8;
82572
+ const status = Number(buf.readBigUInt64LE(offset));
82573
+ offset += 8;
82574
+ const submittedAt = Number(buf.readBigInt64LE(offset));
82575
+ offset += 8;
82576
+ const lastRewardedAt = Number(buf.readBigInt64LE(offset));
82577
+ offset += 8;
82578
+ const tweetUrlLen = Number(buf.readBigUInt64LE(offset));
82579
+ offset += 8;
82580
+ const tweetUrl = buf.subarray(offset, offset + tweetUrlLen).toString("utf-8");
82581
+ return { status, submittedAt, lastRewardedAt, tweetUrl };
82582
+ }
82583
+ async function setTwitter(connection, wallet, agentId, username, tweetUrl, options) {
82584
+ const program3 = createProgram(connection, wallet, options?.programId);
82585
+ const ix = await program3.methods.setTwitter(agentId, username, tweetUrl).accounts({ authority: wallet.publicKey }).instruction();
82586
+ return sendTx(connection, wallet, [ix]);
82587
+ }
82588
+ async function submitTweet(connection, wallet, agentId, username, tweetUrl, options) {
82589
+ const program3 = createProgram(connection, wallet, options?.programId);
82590
+ const ix = await program3.methods.submitTweet(agentId, username, tweetUrl).accounts({ authority: wallet.publicKey }).instruction();
82591
+ return sendTx(connection, wallet, [ix]);
82592
+ }
82593
+ async function unbindTwitter(connection, wallet, agentId, username, options) {
82594
+ const program3 = createProgram(connection, wallet, options?.programId);
82595
+ const ix = await program3.methods.unbindTwitter(agentId, username).accounts({ authority: wallet.publicKey }).instruction();
82596
+ return sendTx(connection, wallet, [ix]);
82597
+ }
82598
+ async function verifyTwitter(connection, wallet, agentId, username, options) {
82599
+ const program3 = createProgram(connection, wallet, options?.programId);
82600
+ const agentPda = getAgentPda(program3.programId, agentId);
82601
+ const accountInfo = await connection.getAccountInfo(agentPda);
82602
+ if (!accountInfo) throw new Error(`Agent "${agentId}" not found`);
82603
+ const authority = new import_web389.PublicKey(accountInfo.data.subarray(8, 40));
82604
+ const pointMint = getPointMintPda(program3.programId);
82605
+ const authorityPointAccount = getAssociatedTokenAddressSync(
82606
+ pointMint,
82607
+ authority,
82608
+ true,
82609
+ TOKEN_2022_PROGRAM_ID
82610
+ );
82611
+ const ix = await program3.methods.verifyTwitter(agentId, username).accounts({
82612
+ verifier: wallet.publicKey,
82613
+ authority,
82614
+ authorityPointAccount
82615
+ }).instruction();
82616
+ return sendTx(connection, wallet, [ix]);
82617
+ }
82618
+ async function rejectTwitter(connection, wallet, agentId, options) {
82619
+ const program3 = createProgram(connection, wallet, options?.programId);
82620
+ const ix = await program3.methods.rejectTwitter(agentId).accounts({ verifier: wallet.publicKey }).instruction();
82621
+ return sendTx(connection, wallet, [ix]);
82622
+ }
82623
+ async function approveTweet(connection, wallet, agentId, options) {
82624
+ const program3 = createProgram(connection, wallet, options?.programId);
82625
+ const agentPda = getAgentPda(program3.programId, agentId);
82626
+ const accountInfo = await connection.getAccountInfo(agentPda);
82627
+ if (!accountInfo) throw new Error(`Agent "${agentId}" not found`);
82628
+ const authority = new import_web389.PublicKey(accountInfo.data.subarray(8, 40));
82629
+ const pointMint = getPointMintPda(program3.programId);
82630
+ const authorityPointAccount = getAssociatedTokenAddressSync(
82631
+ pointMint,
82632
+ authority,
82633
+ true,
82634
+ TOKEN_2022_PROGRAM_ID
82635
+ );
82636
+ const ix = await program3.methods.approveTweet(agentId).accounts({
82637
+ verifier: wallet.publicKey,
82638
+ authority,
82639
+ authorityPointAccount
82640
+ }).instruction();
82641
+ return sendTx(connection, wallet, [ix]);
82642
+ }
82643
+ async function rejectTweet(connection, wallet, agentId, options) {
82644
+ const program3 = createProgram(connection, wallet, options?.programId);
82645
+ const ix = await program3.methods.rejectTweet(agentId).accounts({ verifier: wallet.publicKey }).instruction();
82646
+ return sendTx(connection, wallet, [ix]);
82647
+ }
80491
82648
  var import_web389, anchor, import_anchor, DEFAULT_CHUNK_SIZE, BUFFER_HEADER_SIZE, MEMORY_HEADER_SIZE, BIO_META_HEADER_SIZE;
80492
82649
  var init_agent_registry = __esm({
80493
- "node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/agent_registry.ts"() {
82650
+ "node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/agent_registry.ts"() {
80494
82651
  import_web389 = __toESM(require_index_cjs(), 1);
80495
82652
  anchor = __toESM(require_cjs2(), 1);
80496
82653
  import_anchor = __toESM(require_cjs2(), 1);
@@ -124865,7 +127022,7 @@ var esm_default = base;
124865
127022
  var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
124866
127023
  var esm_default2 = esm_default(ALPHABET);
124867
127024
 
124868
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/client.ts
127025
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/client.ts
124869
127026
  var import_web387 = __toESM(require_index_cjs(), 1);
124870
127027
  var NaraSDK = class {
124871
127028
  connection;
@@ -124880,10 +127037,10 @@ var NaraSDK = class {
124880
127037
  }
124881
127038
  };
124882
127039
 
124883
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/index.ts
127040
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/index.ts
124884
127041
  init_constants2();
124885
127042
 
124886
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/sign.ts
127043
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/sign.ts
124887
127044
  var import_tweetnacl = __toESM(require_nacl_fast(), 1);
124888
127045
  function buildSignMessage(params) {
124889
127046
  return Object.keys(params).filter((k2) => k2 !== "sign").sort().map((k2) => `${k2}=${params[k2]}`).join("&");
@@ -124911,10 +127068,10 @@ function signUrl(baseUrl, wallet, params) {
124911
127068
  return url.toString();
124912
127069
  }
124913
127070
 
124914
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/index.ts
127071
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/index.ts
124915
127072
  init_tx();
124916
127073
 
124917
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/quest.ts
127074
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/quest.ts
124918
127075
  var import_web390 = __toESM(require_index_cjs(), 1);
124919
127076
  init_esm2();
124920
127077
  var anchor2 = __toESM(require_cjs2(), 1);
@@ -124923,7 +127080,7 @@ var import_bn = __toESM(require_bn(), 1);
124923
127080
  init_constants2();
124924
127081
  init_tx();
124925
127082
 
124926
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_quest.json
127083
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_quest.json
124927
127084
  var nara_quest_default = {
124928
127085
  address: "Quest11111111111111111111111111111111111111",
124929
127086
  metadata: {
@@ -126610,7 +128767,7 @@ var nara_quest_default = {
126610
128767
  ]
126611
128768
  };
126612
128769
 
126613
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/quest.ts
128770
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/quest.ts
126614
128771
  var import_meta = {};
126615
128772
  var BN254_FIELD = 21888242871839275222246405745257275088696311157297823662689037894645226208583n;
126616
128773
  async function resolveDefaultZkPaths() {
@@ -126996,13 +129153,13 @@ async function getQuestConfig(connection, options) {
126996
129153
  };
126997
129154
  }
126998
129155
 
126999
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/skills.ts
129156
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/skills.ts
127000
129157
  var import_web391 = __toESM(require_index_cjs(), 1);
127001
129158
  var anchor3 = __toESM(require_cjs2(), 1);
127002
129159
  var import_anchor3 = __toESM(require_cjs2(), 1);
127003
129160
  init_constants2();
127004
129161
 
127005
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_skills_hub.json
129162
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_skills_hub.json
127006
129163
  var nara_skills_hub_default = {
127007
129164
  address: "SkiLLHub11111111111111111111111111111111111",
127008
129165
  metadata: {
@@ -128400,7 +130557,7 @@ var nara_skills_hub_default = {
128400
130557
  ]
128401
130558
  };
128402
130559
 
128403
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/skills.ts
130560
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/skills.ts
128404
130561
  init_tx();
128405
130562
  var DEFAULT_CHUNK_SIZE2 = 800;
128406
130563
  var BUFFER_HEADER_SIZE2 = 144;
@@ -128635,7 +130792,7 @@ async function uploadSkillContent(connection, wallet, name, content, options) {
128635
130792
  }
128636
130793
  }
128637
130794
 
128638
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/zkid.ts
130795
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/zkid.ts
128639
130796
  var import_web392 = __toESM(require_index_cjs(), 1);
128640
130797
  var anchor4 = __toESM(require_cjs2(), 1);
128641
130798
  var import_anchor4 = __toESM(require_cjs2(), 1);
@@ -128645,7 +130802,7 @@ var import_bn2 = __toESM(require_bn(), 1);
128645
130802
  init_constants2();
128646
130803
  init_tx();
128647
130804
 
128648
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_zk.json
130805
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/idls/nara_zk.json
128649
130806
  var nara_zk_default = {
128650
130807
  address: "ZKidentity111111111111111111111111111111111",
128651
130808
  metadata: {
@@ -129856,7 +132013,7 @@ var nara_zk_default = {
129856
132013
  ]
129857
132014
  };
129858
132015
 
129859
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/zkid.ts
132016
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/src/zkid.ts
129860
132017
  var import_meta2 = {};
129861
132018
  var BN254_PRIME = 21888242871839275222246405745257275088696311157297823662689037894645226208583n;
129862
132019
  var MERKLE_LEVELS = 64;
@@ -130203,7 +132360,7 @@ async function transferZkIdByCommitment(connection, payer, name, currentIdSecret
130203
132360
  return sendTx(connection, payer, [ix]);
130204
132361
  }
130205
132362
 
130206
- // node_modules/.pnpm/nara-sdk@1.0.54_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/index.ts
132363
+ // node_modules/.pnpm/nara-sdk@1.0.56_bufferutil@4.1.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@5.9.3_utf-8-validate@6.0.6/node_modules/nara-sdk/index.ts
130207
132364
  init_agent_registry();
130208
132365
  var import_web393 = __toESM(require_index_cjs(), 1);
130209
132366
  var import_bn3 = __toESM(require_bn(), 1);
@@ -131006,7 +133163,7 @@ async function handleQuestGet(options) {
131006
133163
  timeRemaining: formatTimeRemaining(quest.timeRemaining),
131007
133164
  expired: quest.expired,
131008
133165
  stakeRequired,
131009
- stakeRequirement: stakeRequired ? `${quest.effectiveStakeRequirement.toFixed(4)} NARA` : "0 NARA",
133166
+ stakeRequirement: stakeRequired ? `${quest.effectiveStakeRequirement.toFixed(9).replace(/\.?0+$/, "")} NARA` : "0 NARA",
131010
133167
  stakeHigh: `${quest.stakeHigh} NARA`,
131011
133168
  stakeLow: `${quest.stakeLow} NARA`,
131012
133169
  avgParticipantStake: `${quest.avgParticipantStake} NARA`
@@ -131024,7 +133181,7 @@ async function handleQuestGet(options) {
131024
133181
  ` Reward slots: ${quest.winnerCount}/${quest.rewardCount} (${quest.remainingSlots} remaining)`
131025
133182
  );
131026
133183
  if (stakeRequired) {
131027
- console.log(` Stake requirement: ${quest.effectiveStakeRequirement.toFixed(4)} NARA (decays ${quest.stakeHigh} \u2192 ${quest.stakeLow})`);
133184
+ console.log(` Stake requirement: ${quest.effectiveStakeRequirement.toFixed(9).replace(/\.?0+$/, "")} NARA (decays ${quest.stakeHigh} \u2192 ${quest.stakeLow})`);
131028
133185
  } else {
131029
133186
  console.log(` Stake requirement: none`);
131030
133187
  }
@@ -133898,6 +136055,148 @@ async function handleAgentClear(options) {
133898
136055
  printSuccess(`Agent ID "${oldId}" cleared from local config (on-chain record is unchanged)`);
133899
136056
  }
133900
136057
  }
136058
+ var TWITTER_STATUS = { 0: "none", 1: "pending", 2: "verified", 3: "rejected" };
136059
+ async function handleAgentTwitterGet(agentId, options) {
136060
+ const rpcUrl = getRpcUrl(options.rpcUrl);
136061
+ const connection = new import_web3102.Connection(rpcUrl, "confirmed");
136062
+ const info = await getAgentTwitter(connection, agentId);
136063
+ if (!info) {
136064
+ if (options.json) {
136065
+ formatOutput({ agentId, twitter: null }, true);
136066
+ } else {
136067
+ printWarning(`Agent "${agentId}" has no twitter binding`);
136068
+ }
136069
+ return;
136070
+ }
136071
+ const data = {
136072
+ agentId,
136073
+ username: info.username,
136074
+ tweetUrl: info.tweetUrl,
136075
+ status: TWITTER_STATUS[info.status] ?? `unknown(${info.status})`,
136076
+ verifiedAt: info.verifiedAt ? new Date(info.verifiedAt * 1e3).toISOString() : null
136077
+ };
136078
+ if (options.json) {
136079
+ formatOutput(data, true);
136080
+ } else {
136081
+ console.log("");
136082
+ console.log(` Agent ID: ${data.agentId}`);
136083
+ console.log(` Twitter: @${data.username}`);
136084
+ console.log(` Tweet: ${data.tweetUrl}`);
136085
+ console.log(` Status: ${data.status}`);
136086
+ if (data.verifiedAt) console.log(` Verified: ${data.verifiedAt}`);
136087
+ console.log("");
136088
+ }
136089
+ }
136090
+ async function handleAgentTwitterSet(agentId, username, tweetUrl, options) {
136091
+ const rpcUrl = getRpcUrl(options.rpcUrl);
136092
+ const connection = new import_web3102.Connection(rpcUrl, "confirmed");
136093
+ const wallet = await loadWallet(options.wallet);
136094
+ if (!options.json) printInfo(`Binding @${username} to agent "${agentId}"...`);
136095
+ const signature = await setTwitter(connection, wallet, agentId, username, tweetUrl);
136096
+ if (!options.json) printSuccess(`Twitter @${username} submitted for verification!`);
136097
+ if (options.json) {
136098
+ formatOutput({ agentId, username, tweetUrl, signature }, true);
136099
+ } else {
136100
+ console.log(` Transaction: ${signature}`);
136101
+ }
136102
+ }
136103
+ async function handleAgentTwitterUnbind(agentId, username, options) {
136104
+ const rpcUrl = getRpcUrl(options.rpcUrl);
136105
+ const connection = new import_web3102.Connection(rpcUrl, "confirmed");
136106
+ const wallet = await loadWallet(options.wallet);
136107
+ if (!options.json) printInfo(`Unbinding @${username} from agent "${agentId}"...`);
136108
+ const signature = await unbindTwitter(connection, wallet, agentId, username);
136109
+ if (!options.json) printSuccess(`Twitter @${username} unbound!`);
136110
+ if (options.json) {
136111
+ formatOutput({ agentId, username, signature }, true);
136112
+ } else {
136113
+ console.log(` Transaction: ${signature}`);
136114
+ }
136115
+ }
136116
+ async function handleAgentSubmitTweet(agentId, username, tweetUrl, options) {
136117
+ const rpcUrl = getRpcUrl(options.rpcUrl);
136118
+ const connection = new import_web3102.Connection(rpcUrl, "confirmed");
136119
+ const wallet = await loadWallet(options.wallet);
136120
+ if (!options.json) printInfo(`Submitting tweet for verification...`);
136121
+ const signature = await submitTweet(connection, wallet, agentId, username, tweetUrl);
136122
+ if (!options.json) printSuccess(`Tweet submitted for verification!`);
136123
+ if (options.json) {
136124
+ formatOutput({ agentId, username, tweetUrl, signature }, true);
136125
+ } else {
136126
+ console.log(` Transaction: ${signature}`);
136127
+ }
136128
+ }
136129
+ async function handleAgentTweetStatus(agentId, options) {
136130
+ const rpcUrl = getRpcUrl(options.rpcUrl);
136131
+ const connection = new import_web3102.Connection(rpcUrl, "confirmed");
136132
+ const info = await getTweetVerify(connection, agentId);
136133
+ if (!info) {
136134
+ if (options.json) {
136135
+ formatOutput({ agentId, tweetVerify: null }, true);
136136
+ } else {
136137
+ printWarning(`Agent "${agentId}" has no tweet verification record`);
136138
+ }
136139
+ return;
136140
+ }
136141
+ const data = {
136142
+ agentId,
136143
+ tweetUrl: info.tweetUrl,
136144
+ status: TWITTER_STATUS[info.status] ?? `unknown(${info.status})`,
136145
+ submittedAt: info.submittedAt ? new Date(info.submittedAt * 1e3).toISOString() : null,
136146
+ lastRewardedAt: info.lastRewardedAt ? new Date(info.lastRewardedAt * 1e3).toISOString() : null
136147
+ };
136148
+ if (options.json) {
136149
+ formatOutput(data, true);
136150
+ } else {
136151
+ console.log("");
136152
+ console.log(` Agent ID: ${data.agentId}`);
136153
+ console.log(` Tweet: ${data.tweetUrl}`);
136154
+ console.log(` Status: ${data.status}`);
136155
+ if (data.submittedAt) console.log(` Submitted: ${data.submittedAt}`);
136156
+ if (data.lastRewardedAt) console.log(` Last rewarded: ${data.lastRewardedAt}`);
136157
+ console.log("");
136158
+ }
136159
+ }
136160
+ async function handleAgentConfig(options) {
136161
+ const rpcUrl = getRpcUrl(options.rpcUrl);
136162
+ const connection = new import_web3102.Connection(rpcUrl, "confirmed");
136163
+ const DECIMALS = 1e9;
136164
+ const config = await getConfig(connection);
136165
+ const data = {
136166
+ registerFee: config.registerFee / DECIMALS,
136167
+ referralRegisterFee: config.referralRegisterFee / DECIMALS,
136168
+ referralFeeShare: config.referralFeeShare / DECIMALS,
136169
+ activityReward: config.activityReward / DECIMALS,
136170
+ referralActivityReward: config.referralActivityReward / DECIMALS,
136171
+ pointsSelf: config.pointsSelf,
136172
+ pointsReferral: config.pointsReferral,
136173
+ referralRegisterPoints: config.referralRegisterPoints,
136174
+ twitterVerificationFee: config.twitterVerificationFee / DECIMALS,
136175
+ twitterVerificationReward: config.twitterVerificationReward / DECIMALS,
136176
+ twitterVerificationPoints: config.twitterVerificationPoints,
136177
+ tweetVerifyReward: config.tweetVerifyReward / DECIMALS,
136178
+ tweetVerifyPoints: config.tweetVerifyPoints
136179
+ };
136180
+ if (options.json) {
136181
+ formatOutput(data, true);
136182
+ } else {
136183
+ console.log("");
136184
+ console.log(` Register Fee: ${data.registerFee} NARA`);
136185
+ console.log(` Referral Register Fee: ${data.referralRegisterFee} NARA`);
136186
+ console.log(` Referral Fee Share: ${data.referralFeeShare} NARA`);
136187
+ console.log(` Activity Reward: ${data.activityReward} NARA`);
136188
+ console.log(` Referral Activity Reward: ${data.referralActivityReward} NARA`);
136189
+ console.log(` Points (self): ${data.pointsSelf}`);
136190
+ console.log(` Points (referral): ${data.pointsReferral}`);
136191
+ console.log(` Referral Register Points: ${data.referralRegisterPoints}`);
136192
+ console.log(` Twitter Verify Fee: ${data.twitterVerificationFee} NARA`);
136193
+ console.log(` Twitter Verify Reward: ${data.twitterVerificationReward} NARA`);
136194
+ console.log(` Twitter Verify Points: ${data.twitterVerificationPoints}`);
136195
+ console.log(` Tweet Verify Reward: ${data.tweetVerifyReward} NARA`);
136196
+ console.log(` Tweet Verify Points: ${data.tweetVerifyPoints}`);
136197
+ console.log("");
136198
+ }
136199
+ }
133901
136200
  function registerAgentCommands(program3) {
133902
136201
  const agent = program3.command("agent").description("Agent Registry \u2014 register an on-chain AI agent identity to earn extra rewards and points from PoMI mining");
133903
136202
  agent.command("register <agent-id>").description("Register a new agent on-chain (costs 1 NARA, 50% off with referral). Agent ID must be lowercase alphanumeric with hyphens.").option("--referral <agent-id>", "Referral agent ID \u2014 saves 50% on registration fee").action(async (agentId, opts, cmd) => {
@@ -133998,6 +136297,15 @@ function registerAgentCommands(program3) {
133998
136297
  process.exit(1);
133999
136298
  }
134000
136299
  });
136300
+ agent.command("config").description("Show agent registry on-chain config (fees, rewards, points)").action(async (_opts, cmd) => {
136301
+ try {
136302
+ const globalOpts = cmd.optsWithGlobals();
136303
+ await handleAgentConfig(globalOpts);
136304
+ } catch (error) {
136305
+ printError(error.message);
136306
+ process.exit(1);
136307
+ }
136308
+ });
134001
136309
  agent.command("clear").description("Clear saved agent ID from local config (does not delete on-chain)").action(async (_opts, cmd) => {
134002
136310
  try {
134003
136311
  const globalOpts = cmd.optsWithGlobals();
@@ -134025,6 +136333,51 @@ function registerAgentCommands(program3) {
134025
136333
  process.exit(1);
134026
136334
  }
134027
136335
  });
136336
+ agent.command("twitter <agent-id>").description("Get agent's twitter binding status").action(async (agentId, _opts, cmd) => {
136337
+ try {
136338
+ const globalOpts = cmd.optsWithGlobals();
136339
+ await handleAgentTwitterGet(agentId, globalOpts);
136340
+ } catch (error) {
136341
+ printError(error.message);
136342
+ process.exit(1);
136343
+ }
136344
+ });
136345
+ agent.command("set-twitter <agent-id> <username> <tweet-url>").description("Bind a twitter account to your agent (charges verification fee). Tweet must contain your agent ID.").action(async (agentId, username, tweetUrl, _opts, cmd) => {
136346
+ try {
136347
+ const globalOpts = cmd.optsWithGlobals();
136348
+ await handleAgentTwitterSet(agentId, username, tweetUrl, globalOpts);
136349
+ } catch (error) {
136350
+ printError(error.message);
136351
+ process.exit(1);
136352
+ }
136353
+ });
136354
+ agent.command("unbind-twitter <agent-id> <username>").description("Unbind twitter from your agent").action(async (agentId, username, _opts, cmd) => {
136355
+ try {
136356
+ const globalOpts = cmd.optsWithGlobals();
136357
+ await handleAgentTwitterUnbind(agentId, username, globalOpts);
136358
+ } catch (error) {
136359
+ printError(error.message);
136360
+ process.exit(1);
136361
+ }
136362
+ });
136363
+ agent.command("submit-tweet <agent-id> <username> <tweet-url>").description("Submit a tweet for verification and earn rewards (charges verification fee)").action(async (agentId, username, tweetUrl, _opts, cmd) => {
136364
+ try {
136365
+ const globalOpts = cmd.optsWithGlobals();
136366
+ await handleAgentSubmitTweet(agentId, username, tweetUrl, globalOpts);
136367
+ } catch (error) {
136368
+ printError(error.message);
136369
+ process.exit(1);
136370
+ }
136371
+ });
136372
+ agent.command("tweet-status <agent-id>").description("Check tweet verification status").action(async (agentId, _opts, cmd) => {
136373
+ try {
136374
+ const globalOpts = cmd.optsWithGlobals();
136375
+ await handleAgentTweetStatus(agentId, globalOpts);
136376
+ } catch (error) {
136377
+ printError(error.message);
136378
+ process.exit(1);
136379
+ }
136380
+ });
134028
136381
  }
134029
136382
 
134030
136383
  // src/cli/commands/config.ts
@@ -134277,7 +136630,7 @@ function registerCommands(program3) {
134277
136630
  }
134278
136631
 
134279
136632
  // bin/nara-cli.ts
134280
- var version2 = true ? "1.0.59" : "dev";
136633
+ var version2 = true ? "1.0.61" : "dev";
134281
136634
  var program2 = new Command();
134282
136635
  program2.name("naracli").description("CLI for the Nara chain. Native coin is NARA (not SOL). Mine NARA for free via PoMI quests, manage wallets, register agents, and more. Run 'naracli <command> --help' for details on any command.").version(version2);
134283
136636
  program2.option("-r, --rpc-url <url>", "RPC endpoint (default: https://mainnet-api.nara.build/)").option("-w, --wallet <path>", "Path to wallet keypair JSON file (default: ~/.config/nara/id.json)").option("-j, --json", "Output in JSON format");