@ercworldio/blockchain-shared 1.0.5-dev.8-PLAT134.2 → 1.0.5-dev.8-PLAT134.5

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.
Files changed (46) hide show
  1. package/build/chains/networks_dev.json +0 -10
  2. package/build/chains/networks_prod-bu.json +14 -0
  3. package/build/chains/networks_prod-dz.json +1 -22
  4. package/build/contracts/artifacts/Escrow.json +0 -13
  5. package/build/contracts/contract-events/EscrowEvents.d.ts +2 -16
  6. package/build/contracts/contract-events/EscrowEvents.d.ts.map +1 -1
  7. package/build/contracts/contract-events/EscrowEvents.js +0 -5
  8. package/build/contracts/contract-events/types/events.d.ts +1 -5
  9. package/build/contracts/contract-events/types/events.d.ts.map +1 -1
  10. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts +1 -15
  11. package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts.map +1 -1
  12. package/build/contracts/typechain-types/contracts/lib/Events.d.ts +1 -15
  13. package/build/contracts/typechain-types/contracts/lib/Events.d.ts.map +1 -1
  14. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts +1 -11
  15. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts.map +1 -1
  16. package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.js +1 -14
  17. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts +1 -11
  18. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts.map +1 -1
  19. package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.js +1 -14
  20. package/build/index.d.ts +0 -1
  21. package/build/index.d.ts.map +1 -1
  22. package/build/index.js +2 -4
  23. package/build/services/AlchemyService.d.ts.map +1 -1
  24. package/build/services/AlchemyService.js +3 -2
  25. package/build/services/AzureEventHubHandler.d.ts.map +1 -1
  26. package/build/services/AzureEventHubHandler.js +1 -4
  27. package/build/services/ClaimJobService.d.ts.map +1 -1
  28. package/build/services/ClaimJobService.js +5 -12
  29. package/build/services/Redis.js +2 -2
  30. package/build/services/RedisPubSub.js +1 -1
  31. package/build/services/db/timelock/ScheduleTransactionService.d.ts +2 -16
  32. package/build/services/db/timelock/ScheduleTransactionService.d.ts.map +1 -1
  33. package/build/services/db/timelock/ScheduleTransactionService.js +1 -265
  34. package/build/services/solana/escrow/idl/escrow.json +877 -0
  35. package/build/services/solana/escrow/types/escrow.d.ts +877 -0
  36. package/build/services/solana/escrow/types/escrow.d.ts.map +1 -1
  37. package/build/services/types/azure_event_hub_handler.d.ts +1 -3
  38. package/build/services/types/azure_event_hub_handler.d.ts.map +1 -1
  39. package/build/services/types/azure_event_hub_handler.js +0 -3
  40. package/build/services/types/claim.d.ts +0 -1
  41. package/build/services/types/claim.d.ts.map +1 -1
  42. package/build/services/types/db/timelock.d.ts +0 -56
  43. package/build/services/types/db/timelock.d.ts.map +1 -1
  44. package/build/utils/solana.d.ts.map +1 -1
  45. package/build/utils/solana.js +3 -5
  46. package/package.json +1 -1
@@ -1078,6 +1078,592 @@
1078
1078
  }
1079
1079
  ]
1080
1080
  },
1081
+ {
1082
+ "name": "admin_withdraw_sol_v2",
1083
+ "docs": [
1084
+ "Pull-based admin withdrawal of native SOL, multisig-aware (mirrors EVM adminWithdraw)."
1085
+ ],
1086
+ "discriminator": [
1087
+ 76,
1088
+ 84,
1089
+ 255,
1090
+ 156,
1091
+ 101,
1092
+ 7,
1093
+ 49,
1094
+ 42
1095
+ ],
1096
+ "accounts": [
1097
+ {
1098
+ "name": "escrow_config",
1099
+ "pda": {
1100
+ "seeds": [
1101
+ {
1102
+ "kind": "const",
1103
+ "value": [
1104
+ 101,
1105
+ 115,
1106
+ 99,
1107
+ 114,
1108
+ 111,
1109
+ 119,
1110
+ 45,
1111
+ 99,
1112
+ 111,
1113
+ 110,
1114
+ 102,
1115
+ 105,
1116
+ 103,
1117
+ 45,
1118
+ 118,
1119
+ 50
1120
+ ]
1121
+ }
1122
+ ]
1123
+ }
1124
+ },
1125
+ {
1126
+ "name": "treasury_config",
1127
+ "pda": {
1128
+ "seeds": [
1129
+ {
1130
+ "kind": "const",
1131
+ "value": [
1132
+ 116,
1133
+ 114,
1134
+ 101,
1135
+ 97,
1136
+ 115,
1137
+ 117,
1138
+ 114,
1139
+ 121,
1140
+ 45,
1141
+ 99,
1142
+ 111,
1143
+ 110,
1144
+ 102,
1145
+ 105,
1146
+ 103
1147
+ ]
1148
+ }
1149
+ ]
1150
+ }
1151
+ },
1152
+ {
1153
+ "name": "admin_withdraw_config",
1154
+ "pda": {
1155
+ "seeds": [
1156
+ {
1157
+ "kind": "const",
1158
+ "value": [
1159
+ 97,
1160
+ 100,
1161
+ 109,
1162
+ 105,
1163
+ 110,
1164
+ 45,
1165
+ 119,
1166
+ 105,
1167
+ 116,
1168
+ 104,
1169
+ 100,
1170
+ 114,
1171
+ 97,
1172
+ 119,
1173
+ 45,
1174
+ 99,
1175
+ 111,
1176
+ 110,
1177
+ 102,
1178
+ 105,
1179
+ 103
1180
+ ]
1181
+ }
1182
+ ]
1183
+ }
1184
+ },
1185
+ {
1186
+ "name": "admin_withdrawal_used",
1187
+ "docs": [
1188
+ "Anti-replay marker — `init` fails if `request_id` was already used."
1189
+ ],
1190
+ "writable": true,
1191
+ "pda": {
1192
+ "seeds": [
1193
+ {
1194
+ "kind": "const",
1195
+ "value": [
1196
+ 97,
1197
+ 100,
1198
+ 109,
1199
+ 105,
1200
+ 110,
1201
+ 45,
1202
+ 119,
1203
+ 105,
1204
+ 116,
1205
+ 104,
1206
+ 100,
1207
+ 114,
1208
+ 97,
1209
+ 119,
1210
+ 97,
1211
+ 108,
1212
+ 45,
1213
+ 117,
1214
+ 115,
1215
+ 101,
1216
+ 100
1217
+ ]
1218
+ },
1219
+ {
1220
+ "kind": "arg",
1221
+ "path": "request_id"
1222
+ }
1223
+ ]
1224
+ }
1225
+ },
1226
+ {
1227
+ "name": "vault_authority",
1228
+ "writable": true,
1229
+ "pda": {
1230
+ "seeds": [
1231
+ {
1232
+ "kind": "const",
1233
+ "value": [
1234
+ 101,
1235
+ 115,
1236
+ 99,
1237
+ 114,
1238
+ 111,
1239
+ 119
1240
+ ]
1241
+ }
1242
+ ]
1243
+ }
1244
+ },
1245
+ {
1246
+ "name": "recipient",
1247
+ "docs": [
1248
+ "(see the plan doc's \"minimal parity\" decision; EVM enforces TREASURY_RECEIVER_ROLE on-chain,",
1249
+ "this is a known interim gap, not an oversight)."
1250
+ ],
1251
+ "writable": true
1252
+ },
1253
+ {
1254
+ "name": "admin",
1255
+ "writable": true,
1256
+ "signer": true
1257
+ },
1258
+ {
1259
+ "name": "system_program",
1260
+ "address": "11111111111111111111111111111111"
1261
+ },
1262
+ {
1263
+ "name": "instructions",
1264
+ "address": "Sysvar1nstructions1111111111111111111111111"
1265
+ }
1266
+ ],
1267
+ "args": [
1268
+ {
1269
+ "name": "chain_id",
1270
+ "type": "u64"
1271
+ },
1272
+ {
1273
+ "name": "request_id",
1274
+ "type": "u64"
1275
+ },
1276
+ {
1277
+ "name": "amount",
1278
+ "type": "u64"
1279
+ }
1280
+ ]
1281
+ },
1282
+ {
1283
+ "name": "admin_withdraw_spl_v2",
1284
+ "docs": [
1285
+ "Pull-based admin withdrawal of an SPL token, multisig-aware (mirrors EVM adminWithdraw)."
1286
+ ],
1287
+ "discriminator": [
1288
+ 174,
1289
+ 14,
1290
+ 175,
1291
+ 111,
1292
+ 48,
1293
+ 41,
1294
+ 185,
1295
+ 32
1296
+ ],
1297
+ "accounts": [
1298
+ {
1299
+ "name": "escrow_config",
1300
+ "pda": {
1301
+ "seeds": [
1302
+ {
1303
+ "kind": "const",
1304
+ "value": [
1305
+ 101,
1306
+ 115,
1307
+ 99,
1308
+ 114,
1309
+ 111,
1310
+ 119,
1311
+ 45,
1312
+ 99,
1313
+ 111,
1314
+ 110,
1315
+ 102,
1316
+ 105,
1317
+ 103,
1318
+ 45,
1319
+ 118,
1320
+ 50
1321
+ ]
1322
+ }
1323
+ ]
1324
+ }
1325
+ },
1326
+ {
1327
+ "name": "mint"
1328
+ },
1329
+ {
1330
+ "name": "treasury_config",
1331
+ "pda": {
1332
+ "seeds": [
1333
+ {
1334
+ "kind": "const",
1335
+ "value": [
1336
+ 116,
1337
+ 114,
1338
+ 101,
1339
+ 97,
1340
+ 115,
1341
+ 117,
1342
+ 114,
1343
+ 121,
1344
+ 45,
1345
+ 99,
1346
+ 111,
1347
+ 110,
1348
+ 102,
1349
+ 105,
1350
+ 103
1351
+ ]
1352
+ }
1353
+ ]
1354
+ }
1355
+ },
1356
+ {
1357
+ "name": "admin_withdraw_config",
1358
+ "pda": {
1359
+ "seeds": [
1360
+ {
1361
+ "kind": "const",
1362
+ "value": [
1363
+ 97,
1364
+ 100,
1365
+ 109,
1366
+ 105,
1367
+ 110,
1368
+ 45,
1369
+ 119,
1370
+ 105,
1371
+ 116,
1372
+ 104,
1373
+ 100,
1374
+ 114,
1375
+ 97,
1376
+ 119,
1377
+ 45,
1378
+ 99,
1379
+ 111,
1380
+ 110,
1381
+ 102,
1382
+ 105,
1383
+ 103
1384
+ ]
1385
+ }
1386
+ ]
1387
+ }
1388
+ },
1389
+ {
1390
+ "name": "admin_withdrawal_used",
1391
+ "docs": [
1392
+ "Anti-replay marker — `init` fails if `request_id` was already used."
1393
+ ],
1394
+ "writable": true,
1395
+ "pda": {
1396
+ "seeds": [
1397
+ {
1398
+ "kind": "const",
1399
+ "value": [
1400
+ 97,
1401
+ 100,
1402
+ 109,
1403
+ 105,
1404
+ 110,
1405
+ 45,
1406
+ 119,
1407
+ 105,
1408
+ 116,
1409
+ 104,
1410
+ 100,
1411
+ 114,
1412
+ 97,
1413
+ 119,
1414
+ 97,
1415
+ 108,
1416
+ 45,
1417
+ 117,
1418
+ 115,
1419
+ 101,
1420
+ 100
1421
+ ]
1422
+ },
1423
+ {
1424
+ "kind": "arg",
1425
+ "path": "request_id"
1426
+ }
1427
+ ]
1428
+ }
1429
+ },
1430
+ {
1431
+ "name": "vault_authority",
1432
+ "pda": {
1433
+ "seeds": [
1434
+ {
1435
+ "kind": "const",
1436
+ "value": [
1437
+ 101,
1438
+ 115,
1439
+ 99,
1440
+ 114,
1441
+ 111,
1442
+ 119
1443
+ ]
1444
+ }
1445
+ ]
1446
+ }
1447
+ },
1448
+ {
1449
+ "name": "vault_token_account",
1450
+ "writable": true,
1451
+ "pda": {
1452
+ "seeds": [
1453
+ {
1454
+ "kind": "account",
1455
+ "path": "vault_authority"
1456
+ },
1457
+ {
1458
+ "kind": "const",
1459
+ "value": [
1460
+ 6,
1461
+ 221,
1462
+ 246,
1463
+ 225,
1464
+ 215,
1465
+ 101,
1466
+ 161,
1467
+ 147,
1468
+ 217,
1469
+ 203,
1470
+ 225,
1471
+ 70,
1472
+ 206,
1473
+ 235,
1474
+ 121,
1475
+ 172,
1476
+ 28,
1477
+ 180,
1478
+ 133,
1479
+ 237,
1480
+ 95,
1481
+ 91,
1482
+ 55,
1483
+ 145,
1484
+ 58,
1485
+ 140,
1486
+ 245,
1487
+ 133,
1488
+ 126,
1489
+ 255,
1490
+ 0,
1491
+ 169
1492
+ ]
1493
+ },
1494
+ {
1495
+ "kind": "account",
1496
+ "path": "mint"
1497
+ }
1498
+ ],
1499
+ "program": {
1500
+ "kind": "const",
1501
+ "value": [
1502
+ 140,
1503
+ 151,
1504
+ 37,
1505
+ 143,
1506
+ 78,
1507
+ 36,
1508
+ 137,
1509
+ 241,
1510
+ 187,
1511
+ 61,
1512
+ 16,
1513
+ 41,
1514
+ 20,
1515
+ 142,
1516
+ 13,
1517
+ 131,
1518
+ 11,
1519
+ 90,
1520
+ 19,
1521
+ 153,
1522
+ 218,
1523
+ 255,
1524
+ 16,
1525
+ 132,
1526
+ 4,
1527
+ 142,
1528
+ 123,
1529
+ 216,
1530
+ 219,
1531
+ 233,
1532
+ 248,
1533
+ 89
1534
+ ]
1535
+ }
1536
+ }
1537
+ },
1538
+ {
1539
+ "name": "recipient",
1540
+ "docs": [
1541
+ "(see the plan doc's \"minimal parity\" decision)."
1542
+ ]
1543
+ },
1544
+ {
1545
+ "name": "recipient_token_account",
1546
+ "writable": true,
1547
+ "pda": {
1548
+ "seeds": [
1549
+ {
1550
+ "kind": "account",
1551
+ "path": "recipient"
1552
+ },
1553
+ {
1554
+ "kind": "const",
1555
+ "value": [
1556
+ 6,
1557
+ 221,
1558
+ 246,
1559
+ 225,
1560
+ 215,
1561
+ 101,
1562
+ 161,
1563
+ 147,
1564
+ 217,
1565
+ 203,
1566
+ 225,
1567
+ 70,
1568
+ 206,
1569
+ 235,
1570
+ 121,
1571
+ 172,
1572
+ 28,
1573
+ 180,
1574
+ 133,
1575
+ 237,
1576
+ 95,
1577
+ 91,
1578
+ 55,
1579
+ 145,
1580
+ 58,
1581
+ 140,
1582
+ 245,
1583
+ 133,
1584
+ 126,
1585
+ 255,
1586
+ 0,
1587
+ 169
1588
+ ]
1589
+ },
1590
+ {
1591
+ "kind": "account",
1592
+ "path": "mint"
1593
+ }
1594
+ ],
1595
+ "program": {
1596
+ "kind": "const",
1597
+ "value": [
1598
+ 140,
1599
+ 151,
1600
+ 37,
1601
+ 143,
1602
+ 78,
1603
+ 36,
1604
+ 137,
1605
+ 241,
1606
+ 187,
1607
+ 61,
1608
+ 16,
1609
+ 41,
1610
+ 20,
1611
+ 142,
1612
+ 13,
1613
+ 131,
1614
+ 11,
1615
+ 90,
1616
+ 19,
1617
+ 153,
1618
+ 218,
1619
+ 255,
1620
+ 16,
1621
+ 132,
1622
+ 4,
1623
+ 142,
1624
+ 123,
1625
+ 216,
1626
+ 219,
1627
+ 233,
1628
+ 248,
1629
+ 89
1630
+ ]
1631
+ }
1632
+ }
1633
+ },
1634
+ {
1635
+ "name": "admin",
1636
+ "writable": true,
1637
+ "signer": true
1638
+ },
1639
+ {
1640
+ "name": "token_program",
1641
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
1642
+ },
1643
+ {
1644
+ "name": "system_program",
1645
+ "address": "11111111111111111111111111111111"
1646
+ },
1647
+ {
1648
+ "name": "instructions",
1649
+ "address": "Sysvar1nstructions1111111111111111111111111"
1650
+ }
1651
+ ],
1652
+ "args": [
1653
+ {
1654
+ "name": "chain_id",
1655
+ "type": "u64"
1656
+ },
1657
+ {
1658
+ "name": "request_id",
1659
+ "type": "u64"
1660
+ },
1661
+ {
1662
+ "name": "amount",
1663
+ "type": "u64"
1664
+ }
1665
+ ]
1666
+ },
1081
1667
  {
1082
1668
  "name": "batch_execute_withdrawal_sol",
1083
1669
  "discriminator": [
@@ -4394,6 +4980,106 @@
4394
4980
  }
4395
4981
  ]
4396
4982
  },
4983
+ {
4984
+ "name": "set_admin_withdraw_threshold",
4985
+ "docs": [
4986
+ "Sets the single, global admin-withdrawal execution threshold (mirrors EVM's",
4987
+ "setAdminTokenMultisigThreshold). DEFAULT_ADMIN-only."
4988
+ ],
4989
+ "discriminator": [
4990
+ 125,
4991
+ 10,
4992
+ 239,
4993
+ 123,
4994
+ 136,
4995
+ 236,
4996
+ 104,
4997
+ 144
4998
+ ],
4999
+ "accounts": [
5000
+ {
5001
+ "name": "escrow_config",
5002
+ "pda": {
5003
+ "seeds": [
5004
+ {
5005
+ "kind": "const",
5006
+ "value": [
5007
+ 101,
5008
+ 115,
5009
+ 99,
5010
+ 114,
5011
+ 111,
5012
+ 119,
5013
+ 45,
5014
+ 99,
5015
+ 111,
5016
+ 110,
5017
+ 102,
5018
+ 105,
5019
+ 103,
5020
+ 45,
5021
+ 118,
5022
+ 50
5023
+ ]
5024
+ }
5025
+ ]
5026
+ }
5027
+ },
5028
+ {
5029
+ "name": "admin_withdraw_config",
5030
+ "writable": true,
5031
+ "pda": {
5032
+ "seeds": [
5033
+ {
5034
+ "kind": "const",
5035
+ "value": [
5036
+ 97,
5037
+ 100,
5038
+ 109,
5039
+ 105,
5040
+ 110,
5041
+ 45,
5042
+ 119,
5043
+ 105,
5044
+ 116,
5045
+ 104,
5046
+ 100,
5047
+ 114,
5048
+ 97,
5049
+ 119,
5050
+ 45,
5051
+ 99,
5052
+ 111,
5053
+ 110,
5054
+ 102,
5055
+ 105,
5056
+ 103
5057
+ ]
5058
+ }
5059
+ ]
5060
+ }
5061
+ },
5062
+ {
5063
+ "name": "admin",
5064
+ "writable": true,
5065
+ "signer": true
5066
+ },
5067
+ {
5068
+ "name": "system_program",
5069
+ "address": "11111111111111111111111111111111"
5070
+ }
5071
+ ],
5072
+ "args": [
5073
+ {
5074
+ "name": "manager_required",
5075
+ "type": "u8"
5076
+ },
5077
+ {
5078
+ "name": "executive_required",
5079
+ "type": "u8"
5080
+ }
5081
+ ]
5082
+ },
4397
5083
  {
4398
5084
  "name": "set_funding_wallet",
4399
5085
  "discriminator": [
@@ -6121,6 +6807,32 @@
6121
6807
  }
6122
6808
  ],
6123
6809
  "accounts": [
6810
+ {
6811
+ "name": "AdminWithdrawConfig",
6812
+ "discriminator": [
6813
+ 213,
6814
+ 66,
6815
+ 12,
6816
+ 39,
6817
+ 88,
6818
+ 172,
6819
+ 14,
6820
+ 255
6821
+ ]
6822
+ },
6823
+ {
6824
+ "name": "AdminWithdrawalUsed",
6825
+ "discriminator": [
6826
+ 195,
6827
+ 177,
6828
+ 31,
6829
+ 159,
6830
+ 77,
6831
+ 197,
6832
+ 190,
6833
+ 217
6834
+ ]
6835
+ },
6124
6836
  {
6125
6837
  "name": "EscrowConfig",
6126
6838
  "discriminator": [
@@ -6279,6 +6991,19 @@
6279
6991
  26
6280
6992
  ]
6281
6993
  },
6994
+ {
6995
+ "name": "AdminPullWithdrawEvent",
6996
+ "discriminator": [
6997
+ 76,
6998
+ 105,
6999
+ 32,
7000
+ 75,
7001
+ 3,
7002
+ 121,
7003
+ 252,
7004
+ 169
7005
+ ]
7006
+ },
6282
7007
  {
6283
7008
  "name": "AdminWithdraw",
6284
7009
  "discriminator": [
@@ -6292,6 +7017,19 @@
6292
7017
  171
6293
7018
  ]
6294
7019
  },
7020
+ {
7021
+ "name": "AdminWithdrawThresholdConfiguredEvent",
7022
+ "discriminator": [
7023
+ 192,
7024
+ 107,
7025
+ 62,
7026
+ 233,
7027
+ 204,
7028
+ 248,
7029
+ 176,
7030
+ 209
7031
+ ]
7032
+ },
6295
7033
  {
6296
7034
  "name": "DepositSolEvent",
6297
7035
  "discriminator": [
@@ -6684,6 +7422,11 @@
6684
7422
  "code": 6033,
6685
7423
  "name": "InvalidGovernanceGroup",
6686
7424
  "msg": "Unknown governance group"
7425
+ },
7426
+ {
7427
+ "code": 6034,
7428
+ "name": "AdminWithdrawConfigNotSet",
7429
+ "msg": "Admin withdrawal threshold is not configured"
6687
7430
  }
6688
7431
  ],
6689
7432
  "types": [
@@ -6723,6 +7466,52 @@
6723
7466
  ]
6724
7467
  }
6725
7468
  },
7469
+ {
7470
+ "name": "AdminPullWithdrawEvent",
7471
+ "docs": [
7472
+ "Emitted by `admin_withdraw_sol_v2`/`admin_withdraw_spl_v2`. Distinct from the legacy",
7473
+ "`AdminWithdraw` event (emitted by the untouched `admin_withdraw_sol`/`admin_withdraw_spl`) so",
7474
+ "downstream consumers can tell the two paths apart. Carries `request_id` so a future event",
7475
+ "listener/worker can match by identity rather than guessing from tx logs."
7476
+ ],
7477
+ "type": {
7478
+ "kind": "struct",
7479
+ "fields": [
7480
+ {
7481
+ "name": "chain_id",
7482
+ "type": "u64"
7483
+ },
7484
+ {
7485
+ "name": "request_id",
7486
+ "type": "u64"
7487
+ },
7488
+ {
7489
+ "name": "recipient",
7490
+ "type": "pubkey"
7491
+ },
7492
+ {
7493
+ "name": "token",
7494
+ "type": "pubkey"
7495
+ },
7496
+ {
7497
+ "name": "amount",
7498
+ "type": "u64"
7499
+ },
7500
+ {
7501
+ "name": "admin",
7502
+ "type": "pubkey"
7503
+ },
7504
+ {
7505
+ "name": "slot",
7506
+ "type": "u64"
7507
+ },
7508
+ {
7509
+ "name": "timestamp",
7510
+ "type": "i64"
7511
+ }
7512
+ ]
7513
+ }
7514
+ },
6726
7515
  {
6727
7516
  "name": "AdminWithdraw",
6728
7517
  "type": {
@@ -6755,6 +7544,94 @@
6755
7544
  ]
6756
7545
  }
6757
7546
  },
7547
+ {
7548
+ "name": "AdminWithdrawConfig",
7549
+ "docs": [
7550
+ "Single, global (not per-token) execution threshold for the interim pull-based admin withdrawal",
7551
+ "(mirrors EVM's `adminTokenThresholdSettings` — one fixed level, no amount bands). Signatures are",
7552
+ "verified against the existing `TreasuryConfig` roster (the same managers/executives who approve",
7553
+ "regular withdrawals) rather than a separate admin-only roster — see the plan doc for why this is",
7554
+ "a deliberate scope simplification vs EVM's distinct ADMIN_TREASURY_MANAGER/EXECUTIVE roles.",
7555
+ "",
7556
+ "PDA seeds: `[b\"admin-withdraw-config\"]`."
7557
+ ],
7558
+ "type": {
7559
+ "kind": "struct",
7560
+ "fields": [
7561
+ {
7562
+ "name": "manager_required",
7563
+ "type": "u8"
7564
+ },
7565
+ {
7566
+ "name": "executive_required",
7567
+ "type": "u8"
7568
+ },
7569
+ {
7570
+ "name": "is_set",
7571
+ "type": "bool"
7572
+ }
7573
+ ]
7574
+ }
7575
+ },
7576
+ {
7577
+ "name": "AdminWithdrawThresholdConfiguredEvent",
7578
+ "docs": [
7579
+ "Emitted when the admin-withdrawal execution threshold is set (mirrors EVM",
7580
+ "ConfigureAdminMultisig, but this is Solana-only global state — see AdminWithdrawConfig)."
7581
+ ],
7582
+ "type": {
7583
+ "kind": "struct",
7584
+ "fields": [
7585
+ {
7586
+ "name": "manager_required",
7587
+ "type": "u8"
7588
+ },
7589
+ {
7590
+ "name": "executive_required",
7591
+ "type": "u8"
7592
+ },
7593
+ {
7594
+ "name": "sender",
7595
+ "type": "pubkey"
7596
+ },
7597
+ {
7598
+ "name": "slot",
7599
+ "type": "u64"
7600
+ },
7601
+ {
7602
+ "name": "timestamp",
7603
+ "type": "i64"
7604
+ }
7605
+ ]
7606
+ }
7607
+ },
7608
+ {
7609
+ "name": "AdminWithdrawalUsed",
7610
+ "docs": [
7611
+ "Anti-replay marker for the interim pull-based admin withdrawal",
7612
+ "(`admin_withdraw_sol_v2`/`admin_withdraw_spl_v2`). One PDA per `request_id`, created via `init`",
7613
+ "(which fails automatically if the account already exists) and never closed — the withdrawal is",
7614
+ "a direct, single-shot transfer with no schedule/claim step, so unlike `WithdrawalCommitment`",
7615
+ "there is nothing to clean up on completion. Admin withdrawals are low-volume (occasional treasury",
7616
+ "management, not a user-facing high-throughput path), so a dedicated account per request is",
7617
+ "simpler and clearer here than the `WithdrawalBitmap` scheme used for regular withdrawals.",
7618
+ "",
7619
+ "PDA seeds: `[b\"admin-withdrawal-used\", request_id.to_le_bytes()]`."
7620
+ ],
7621
+ "type": {
7622
+ "kind": "struct",
7623
+ "fields": [
7624
+ {
7625
+ "name": "request_id",
7626
+ "type": "u64"
7627
+ },
7628
+ {
7629
+ "name": "timestamp",
7630
+ "type": "i64"
7631
+ }
7632
+ ]
7633
+ }
7634
+ },
6758
7635
  {
6759
7636
  "name": "DepositSolEvent",
6760
7637
  "type": {