kokio-sdk 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +21 -7
  2. package/dist/esm/abis/DeviceWallet.js +60 -59
  3. package/dist/esm/abis/ESIMWallet.js +263 -58
  4. package/dist/esm/abis/ESIMWalletFactory.js +2 -2
  5. package/dist/esm/abis/LazyWalletRegistry.js +68 -24
  6. package/dist/esm/abis/PaymentAdapter.js +861 -0
  7. package/dist/esm/abis/Registry.js +294 -18
  8. package/dist/esm/abis/RegistryHelper.js +101 -9
  9. package/dist/esm/abis/index.js +2 -1
  10. package/dist/esm/admin/config-admin.js +4 -0
  11. package/dist/esm/admin/interface/deviceWalletClass.js +3 -3
  12. package/dist/esm/admin/interface/eSIMWalletClass.js +6 -6
  13. package/dist/esm/admin/interface/lazyWalletRegistryClass.js +4 -1
  14. package/dist/esm/admin/interface/paymentAdapterClass.js +54 -0
  15. package/dist/esm/admin/interface/protocolAdminClass.js +6 -3
  16. package/dist/esm/admin/interface/registryClass.js +15 -6
  17. package/dist/esm/config.js +3 -0
  18. package/dist/esm/interface/deviceWalletClass.js +5 -5
  19. package/dist/esm/interface/eSIMWalletClass.js +10 -7
  20. package/dist/esm/interface/paymentAdapterClass.js +28 -0
  21. package/dist/esm/interface/registryClass.js +12 -3
  22. package/dist/esm/logic/admin/eSIMWallet.eoa.js +12 -10
  23. package/dist/esm/logic/admin/paymentAdapter.eoa.js +123 -0
  24. package/dist/esm/logic/admin/protocolAdmin.eoa.js +21 -3
  25. package/dist/esm/logic/admin/reads/deviceWallet.reads.js +2 -2
  26. package/dist/esm/logic/admin/reads/eSIMWallet.reads.js +8 -7
  27. package/dist/esm/logic/admin/reads/lazyWalletRegistry.reads.js +19 -2
  28. package/dist/esm/logic/admin/reads/paymentAdapter.reads.js +106 -0
  29. package/dist/esm/logic/admin/reads/registry.reads.js +34 -6
  30. package/dist/esm/logic/admin/registry.eoa.js +32 -8
  31. package/dist/esm/logic/constants.js +17 -87
  32. package/dist/esm/logic/deviceWallet.js +11 -11
  33. package/dist/esm/logic/eSIMWallet.js +51 -22
  34. package/dist/esm/logic/paymentAdapter.js +116 -0
  35. package/dist/esm/logic/registry.js +50 -5
  36. package/dist/esm/types-export.js +1 -1
  37. package/dist/esm/types.js +11 -1
  38. package/dist/types/abis/DeviceWallet.d.ts +50 -49
  39. package/dist/types/abis/ESIMWallet.d.ts +215 -55
  40. package/dist/types/abis/ESIMWalletFactory.d.ts +2 -2
  41. package/dist/types/abis/LazyWalletRegistry.d.ts +58 -24
  42. package/dist/types/abis/PaymentAdapter.d.ts +661 -0
  43. package/dist/types/abis/Registry.d.ts +233 -18
  44. package/dist/types/abis/RegistryHelper.d.ts +83 -9
  45. package/dist/types/abis/index.d.ts +2 -1
  46. package/dist/types/admin/config-admin.d.ts +2 -0
  47. package/dist/types/admin/interface/deviceWalletClass.d.ts +1 -1
  48. package/dist/types/admin/interface/eSIMWalletClass.d.ts +3 -3
  49. package/dist/types/admin/interface/lazyWalletRegistryClass.d.ts +1 -0
  50. package/dist/types/admin/interface/paymentAdapterClass.d.ts +20 -0
  51. package/dist/types/admin/interface/protocolAdminClass.d.ts +2 -1
  52. package/dist/types/admin/interface/registryClass.d.ts +6 -2
  53. package/dist/types/config.d.ts +2 -0
  54. package/dist/types/interface/constantsClass.d.ts +2 -2
  55. package/dist/types/interface/deviceWalletClass.d.ts +2 -2
  56. package/dist/types/interface/eSIMWalletClass.d.ts +5 -4
  57. package/dist/types/interface/paymentAdapterClass.d.ts +13 -0
  58. package/dist/types/interface/registryClass.d.ts +5 -2
  59. package/dist/types/logic/admin/eSIMWallet.eoa.d.ts +9 -6
  60. package/dist/types/logic/admin/paymentAdapter.eoa.d.ts +28 -0
  61. package/dist/types/logic/admin/protocolAdmin.eoa.d.ts +12 -2
  62. package/dist/types/logic/admin/reads/deviceWallet.reads.d.ts +1 -1
  63. package/dist/types/logic/admin/reads/eSIMWallet.reads.d.ts +5 -4
  64. package/dist/types/logic/admin/reads/lazyWalletRegistry.reads.d.ts +7 -0
  65. package/dist/types/logic/admin/reads/paymentAdapter.reads.d.ts +30 -0
  66. package/dist/types/logic/admin/reads/registry.reads.d.ts +13 -5
  67. package/dist/types/logic/admin/registry.eoa.d.ts +18 -8
  68. package/dist/types/logic/constants.d.ts +5 -17
  69. package/dist/types/logic/deviceWallet.d.ts +7 -7
  70. package/dist/types/logic/eSIMWallet.d.ts +29 -15
  71. package/dist/types/logic/paymentAdapter.d.ts +40 -0
  72. package/dist/types/logic/registry.d.ts +20 -5
  73. package/dist/types/types-export.d.ts +2 -1
  74. package/dist/types/types.d.ts +20 -2
  75. package/package.json +1 -1
@@ -140,13 +140,26 @@ const Registry = [
140
140
  },
141
141
  {
142
142
  "type": "function",
143
- "name": "defaultDataBundlePriceCap",
143
+ "name": "consumePaymentReference",
144
+ "inputs": [
145
+ {
146
+ "name": "_paymentReference",
147
+ "type": "bytes32",
148
+ "internalType": "bytes32"
149
+ }
150
+ ],
151
+ "outputs": [],
152
+ "stateMutability": "nonpayable"
153
+ },
154
+ {
155
+ "type": "function",
156
+ "name": "defaultPriceCapUSDCents",
144
157
  "inputs": [],
145
158
  "outputs": [
146
159
  {
147
160
  "name": "",
148
- "type": "uint256",
149
- "internalType": "uint256"
161
+ "type": "uint64",
162
+ "internalType": "uint64"
150
163
  }
151
164
  ],
152
165
  "stateMutability": "view"
@@ -378,9 +391,9 @@ const Registry = [
378
391
  "internalType": "contract IEntryPoint"
379
392
  },
380
393
  {
381
- "name": "_defaultDataBundlePriceCap",
382
- "type": "uint256",
383
- "internalType": "uint256"
394
+ "name": "_defaultPriceCapUSDCents",
395
+ "type": "uint64",
396
+ "internalType": "uint64"
384
397
  }
385
398
  ],
386
399
  "outputs": [],
@@ -540,6 +553,19 @@ const Registry = [
540
553
  ],
541
554
  "stateMutability": "view"
542
555
  },
556
+ {
557
+ "type": "function",
558
+ "name": "paymentAdapter",
559
+ "inputs": [],
560
+ "outputs": [
561
+ {
562
+ "name": "",
563
+ "type": "address",
564
+ "internalType": "address"
565
+ }
566
+ ],
567
+ "stateMutability": "view"
568
+ },
543
569
  {
544
570
  "type": "function",
545
571
  "name": "pendingOwner",
@@ -568,14 +594,19 @@ const Registry = [
568
594
  "internalType": "struct DataBundleDetails[]",
569
595
  "components": [
570
596
  {
571
- "name": "dataBundleID",
572
- "type": "string",
573
- "internalType": "string"
597
+ "name": "id",
598
+ "type": "bytes32",
599
+ "internalType": "bytes32"
600
+ },
601
+ {
602
+ "name": "priceUSDCents",
603
+ "type": "uint64",
604
+ "internalType": "uint64"
574
605
  },
575
606
  {
576
- "name": "dataBundlePrice",
577
- "type": "uint256",
578
- "internalType": "uint256"
607
+ "name": "settlement",
608
+ "type": "uint8",
609
+ "internalType": "enum Settlement"
579
610
  }
580
611
  ]
581
612
  }
@@ -596,6 +627,56 @@ const Registry = [
596
627
  ],
597
628
  "stateMutability": "view"
598
629
  },
630
+ {
631
+ "type": "function",
632
+ "name": "recordSettledPurchase",
633
+ "inputs": [
634
+ {
635
+ "name": "_eSIMWallet",
636
+ "type": "address",
637
+ "internalType": "address"
638
+ },
639
+ {
640
+ "name": "_dataBundleDetail",
641
+ "type": "tuple",
642
+ "internalType": "struct DataBundleDetails",
643
+ "components": [
644
+ {
645
+ "name": "id",
646
+ "type": "bytes32",
647
+ "internalType": "bytes32"
648
+ },
649
+ {
650
+ "name": "priceUSDCents",
651
+ "type": "uint64",
652
+ "internalType": "uint64"
653
+ },
654
+ {
655
+ "name": "settlement",
656
+ "type": "uint8",
657
+ "internalType": "enum Settlement"
658
+ }
659
+ ]
660
+ },
661
+ {
662
+ "name": "_asset",
663
+ "type": "bytes32",
664
+ "internalType": "bytes32"
665
+ },
666
+ {
667
+ "name": "_tokenAmount",
668
+ "type": "uint256",
669
+ "internalType": "uint256"
670
+ },
671
+ {
672
+ "name": "_paymentReference",
673
+ "type": "bytes32",
674
+ "internalType": "bytes32"
675
+ }
676
+ ],
677
+ "outputs": [],
678
+ "stateMutability": "nonpayable"
679
+ },
599
680
  {
600
681
  "type": "function",
601
682
  "name": "registeredP256Keys",
@@ -648,6 +729,19 @@ const Registry = [
648
729
  "outputs": [],
649
730
  "stateMutability": "view"
650
731
  },
732
+ {
733
+ "type": "function",
734
+ "name": "requireLazyHistoryCopied",
735
+ "inputs": [
736
+ {
737
+ "name": "_eSIMWallet",
738
+ "type": "address",
739
+ "internalType": "address"
740
+ }
741
+ ],
742
+ "outputs": [],
743
+ "stateMutability": "view"
744
+ },
651
745
  {
652
746
  "type": "function",
653
747
  "name": "requireNotPaused",
@@ -657,12 +751,25 @@ const Registry = [
657
751
  },
658
752
  {
659
753
  "type": "function",
660
- "name": "setDefaultDataBundlePriceCap",
754
+ "name": "setDefaultPriceCapUSDCents",
661
755
  "inputs": [
662
756
  {
663
757
  "name": "_cap",
664
- "type": "uint256",
665
- "internalType": "uint256"
758
+ "type": "uint64",
759
+ "internalType": "uint64"
760
+ }
761
+ ],
762
+ "outputs": [],
763
+ "stateMutability": "nonpayable"
764
+ },
765
+ {
766
+ "type": "function",
767
+ "name": "setPaymentAdapter",
768
+ "inputs": [
769
+ {
770
+ "name": "_paymentAdapter",
771
+ "type": "address",
772
+ "internalType": "address"
666
773
  }
667
774
  ],
668
775
  "outputs": [],
@@ -811,6 +918,25 @@ const Registry = [
811
918
  "outputs": [],
812
919
  "stateMutability": "payable"
813
920
  },
921
+ {
922
+ "type": "function",
923
+ "name": "usedPaymentReferences",
924
+ "inputs": [
925
+ {
926
+ "name": "scopedReference",
927
+ "type": "bytes32",
928
+ "internalType": "bytes32"
929
+ }
930
+ ],
931
+ "outputs": [
932
+ {
933
+ "name": "used",
934
+ "type": "bool",
935
+ "internalType": "bool"
936
+ }
937
+ ],
938
+ "stateMutability": "view"
939
+ },
814
940
  {
815
941
  "type": "function",
816
942
  "name": "vault",
@@ -915,13 +1041,68 @@ const Registry = [
915
1041
  },
916
1042
  {
917
1043
  "type": "event",
918
- "name": "DefaultDataBundlePriceCapUpdated",
1044
+ "name": "DataBundleSettled",
919
1045
  "inputs": [
920
1046
  {
921
- "name": "_cap",
1047
+ "name": "_eSIMWallet",
1048
+ "type": "address",
1049
+ "indexed": true,
1050
+ "internalType": "address"
1051
+ },
1052
+ {
1053
+ "name": "_dataBundleID",
1054
+ "type": "bytes32",
1055
+ "indexed": false,
1056
+ "internalType": "bytes32"
1057
+ },
1058
+ {
1059
+ "name": "_priceUSDCents",
1060
+ "type": "uint64",
1061
+ "indexed": false,
1062
+ "internalType": "uint64"
1063
+ },
1064
+ {
1065
+ "name": "_settlement",
1066
+ "type": "uint8",
1067
+ "indexed": false,
1068
+ "internalType": "enum Settlement"
1069
+ },
1070
+ {
1071
+ "name": "_asset",
1072
+ "type": "bytes32",
1073
+ "indexed": true,
1074
+ "internalType": "bytes32"
1075
+ },
1076
+ {
1077
+ "name": "_token",
1078
+ "type": "address",
1079
+ "indexed": false,
1080
+ "internalType": "address"
1081
+ },
1082
+ {
1083
+ "name": "_tokenAmount",
922
1084
  "type": "uint256",
923
1085
  "indexed": false,
924
1086
  "internalType": "uint256"
1087
+ },
1088
+ {
1089
+ "name": "_paymentReference",
1090
+ "type": "bytes32",
1091
+ "indexed": true,
1092
+ "internalType": "bytes32"
1093
+ }
1094
+ ],
1095
+ "anonymous": false
1096
+ },
1097
+ {
1098
+ "type": "event",
1099
+ "name": "DefaultPriceCapUSDCentsUpdated",
1100
+ "inputs": [
1101
+ {
1102
+ "name": "_cap",
1103
+ "type": "uint64",
1104
+ "indexed": false,
1105
+ "internalType": "uint64"
925
1106
  }
926
1107
  ],
927
1108
  "anonymous": false
@@ -1121,6 +1302,38 @@ const Registry = [
1121
1302
  ],
1122
1303
  "anonymous": false
1123
1304
  },
1305
+ {
1306
+ "type": "event",
1307
+ "name": "PaymentAdapterUpdated",
1308
+ "inputs": [
1309
+ {
1310
+ "name": "_paymentAdapter",
1311
+ "type": "address",
1312
+ "indexed": true,
1313
+ "internalType": "address"
1314
+ }
1315
+ ],
1316
+ "anonymous": false
1317
+ },
1318
+ {
1319
+ "type": "event",
1320
+ "name": "PaymentReferenceConsumed",
1321
+ "inputs": [
1322
+ {
1323
+ "name": "_eSIMWallet",
1324
+ "type": "address",
1325
+ "indexed": true,
1326
+ "internalType": "address"
1327
+ },
1328
+ {
1329
+ "name": "_paymentReference",
1330
+ "type": "bytes32",
1331
+ "indexed": true,
1332
+ "internalType": "bytes32"
1333
+ }
1334
+ ],
1335
+ "anonymous": false
1336
+ },
1124
1337
  {
1125
1338
  "type": "event",
1126
1339
  "name": "RegistryInitialized",
@@ -1173,7 +1386,7 @@ const Registry = [
1173
1386
  },
1174
1387
  {
1175
1388
  "type": "event",
1176
- "name": "UpdatedDeviceWalletassociatedWithESIMWallet",
1389
+ "name": "UpdatedDeviceWalletAssociatedWithESIMWallet",
1177
1390
  "inputs": [
1178
1391
  {
1179
1392
  "name": "_eSIMWalletAddress",
@@ -1347,16 +1560,42 @@ const Registry = [
1347
1560
  }
1348
1561
  ]
1349
1562
  },
1563
+ {
1564
+ "type": "error",
1565
+ "name": "EmptyDataBundleID",
1566
+ "inputs": []
1567
+ },
1350
1568
  {
1351
1569
  "type": "error",
1352
1570
  "name": "EmptyESIMIdentifier",
1353
1571
  "inputs": []
1354
1572
  },
1573
+ {
1574
+ "type": "error",
1575
+ "name": "EmptyPaymentReference",
1576
+ "inputs": []
1577
+ },
1355
1578
  {
1356
1579
  "type": "error",
1357
1580
  "name": "FailedCall",
1358
1581
  "inputs": []
1359
1582
  },
1583
+ {
1584
+ "type": "error",
1585
+ "name": "HistoryNotFullyCopied",
1586
+ "inputs": [
1587
+ {
1588
+ "name": "eSIMIdentifier",
1589
+ "type": "string",
1590
+ "internalType": "string"
1591
+ },
1592
+ {
1593
+ "name": "outstanding",
1594
+ "type": "uint256",
1595
+ "internalType": "uint256"
1596
+ }
1597
+ ]
1598
+ },
1360
1599
  {
1361
1600
  "type": "error",
1362
1601
  "name": "InvalidInitialization",
@@ -1485,11 +1724,43 @@ const Registry = [
1485
1724
  "name": "OwnershipCannotBeRenounced",
1486
1725
  "inputs": []
1487
1726
  },
1727
+ {
1728
+ "type": "error",
1729
+ "name": "PaymentAdapterNotSet",
1730
+ "inputs": []
1731
+ },
1732
+ {
1733
+ "type": "error",
1734
+ "name": "PaymentAdapterUnchanged",
1735
+ "inputs": [
1736
+ {
1737
+ "name": "paymentAdapter",
1738
+ "type": "address",
1739
+ "internalType": "address"
1740
+ }
1741
+ ]
1742
+ },
1743
+ {
1744
+ "type": "error",
1745
+ "name": "PaymentReferenceAlreadyUsed",
1746
+ "inputs": [
1747
+ {
1748
+ "name": "paymentReference",
1749
+ "type": "bytes32",
1750
+ "internalType": "bytes32"
1751
+ }
1752
+ ]
1753
+ },
1488
1754
  {
1489
1755
  "type": "error",
1490
1756
  "name": "ProtocolPaused",
1491
1757
  "inputs": []
1492
1758
  },
1759
+ {
1760
+ "type": "error",
1761
+ "name": "SettlementNotAsserted",
1762
+ "inputs": []
1763
+ },
1493
1764
  {
1494
1765
  "type": "error",
1495
1766
  "name": "UUPSUnauthorizedCallContext",
@@ -1539,6 +1810,11 @@ const Registry = [
1539
1810
  }
1540
1811
  ]
1541
1812
  },
1813
+ {
1814
+ "type": "error",
1815
+ "name": "ZeroDataBundlePrice",
1816
+ "inputs": []
1817
+ },
1542
1818
  {
1543
1819
  "type": "error",
1544
1820
  "name": "ZeroDataBundlePriceCap",
@@ -293,14 +293,19 @@ const RegistryHelper = [
293
293
  "internalType": "struct DataBundleDetails[]",
294
294
  "components": [
295
295
  {
296
- "name": "dataBundleID",
297
- "type": "string",
298
- "internalType": "string"
296
+ "name": "id",
297
+ "type": "bytes32",
298
+ "internalType": "bytes32"
299
299
  },
300
300
  {
301
- "name": "dataBundlePrice",
302
- "type": "uint256",
303
- "internalType": "uint256"
301
+ "name": "priceUSDCents",
302
+ "type": "uint64",
303
+ "internalType": "uint64"
304
+ },
305
+ {
306
+ "name": "settlement",
307
+ "type": "uint8",
308
+ "internalType": "enum Settlement"
304
309
  }
305
310
  ]
306
311
  }
@@ -437,13 +442,68 @@ const RegistryHelper = [
437
442
  },
438
443
  {
439
444
  "type": "event",
440
- "name": "DefaultDataBundlePriceCapUpdated",
445
+ "name": "DataBundleSettled",
441
446
  "inputs": [
442
447
  {
443
- "name": "_cap",
448
+ "name": "_eSIMWallet",
449
+ "type": "address",
450
+ "indexed": true,
451
+ "internalType": "address"
452
+ },
453
+ {
454
+ "name": "_dataBundleID",
455
+ "type": "bytes32",
456
+ "indexed": false,
457
+ "internalType": "bytes32"
458
+ },
459
+ {
460
+ "name": "_priceUSDCents",
461
+ "type": "uint64",
462
+ "indexed": false,
463
+ "internalType": "uint64"
464
+ },
465
+ {
466
+ "name": "_settlement",
467
+ "type": "uint8",
468
+ "indexed": false,
469
+ "internalType": "enum Settlement"
470
+ },
471
+ {
472
+ "name": "_asset",
473
+ "type": "bytes32",
474
+ "indexed": true,
475
+ "internalType": "bytes32"
476
+ },
477
+ {
478
+ "name": "_token",
479
+ "type": "address",
480
+ "indexed": false,
481
+ "internalType": "address"
482
+ },
483
+ {
484
+ "name": "_tokenAmount",
444
485
  "type": "uint256",
445
486
  "indexed": false,
446
487
  "internalType": "uint256"
488
+ },
489
+ {
490
+ "name": "_paymentReference",
491
+ "type": "bytes32",
492
+ "indexed": true,
493
+ "internalType": "bytes32"
494
+ }
495
+ ],
496
+ "anonymous": false
497
+ },
498
+ {
499
+ "type": "event",
500
+ "name": "DefaultPriceCapUSDCentsUpdated",
501
+ "inputs": [
502
+ {
503
+ "name": "_cap",
504
+ "type": "uint64",
505
+ "indexed": false,
506
+ "internalType": "uint64"
447
507
  }
448
508
  ],
449
509
  "anonymous": false
@@ -592,6 +652,38 @@ const RegistryHelper = [
592
652
  ],
593
653
  "anonymous": false
594
654
  },
655
+ {
656
+ "type": "event",
657
+ "name": "PaymentAdapterUpdated",
658
+ "inputs": [
659
+ {
660
+ "name": "_paymentAdapter",
661
+ "type": "address",
662
+ "indexed": true,
663
+ "internalType": "address"
664
+ }
665
+ ],
666
+ "anonymous": false
667
+ },
668
+ {
669
+ "type": "event",
670
+ "name": "PaymentReferenceConsumed",
671
+ "inputs": [
672
+ {
673
+ "name": "_eSIMWallet",
674
+ "type": "address",
675
+ "indexed": true,
676
+ "internalType": "address"
677
+ },
678
+ {
679
+ "name": "_paymentReference",
680
+ "type": "bytes32",
681
+ "indexed": true,
682
+ "internalType": "bytes32"
683
+ }
684
+ ],
685
+ "anonymous": false
686
+ },
595
687
  {
596
688
  "type": "event",
597
689
  "name": "RegistryInitialized",
@@ -644,7 +736,7 @@ const RegistryHelper = [
644
736
  },
645
737
  {
646
738
  "type": "event",
647
- "name": "UpdatedDeviceWalletassociatedWithESIMWallet",
739
+ "name": "UpdatedDeviceWalletAssociatedWithESIMWallet",
648
740
  "inputs": [
649
741
  {
650
742
  "name": "_eSIMWalletAddress",
@@ -8,4 +8,5 @@ import Registry from './Registry.js';
8
8
  import RegistryHelper from './RegistryHelper.js';
9
9
  import BeaconProxy from './BeaconProxy.js';
10
10
  import ProtocolAdmin from './ProtocolAdmin.js';
11
- export { DeviceWallet, DeviceWalletFactory, ESIMWallet, ESIMWalletFactory, LazyWalletRegistry, P256Verifier, Registry, RegistryHelper, BeaconProxy, ProtocolAdmin };
11
+ import PaymentAdapter from './PaymentAdapter.js';
12
+ export { DeviceWallet, DeviceWalletFactory, ESIMWallet, ESIMWalletFactory, LazyWalletRegistry, P256Verifier, Registry, RegistryHelper, BeaconProxy, ProtocolAdmin, PaymentAdapter };
@@ -6,6 +6,7 @@ import { AdminLazyWalletRegistrySubPackage } from "./interface/lazyWalletRegistr
6
6
  import { AdminProtocolAdminSubPackage } from "./interface/protocolAdminClass.js";
7
7
  import { AdminDeviceWalletSubPackage } from "./interface/deviceWalletClass.js";
8
8
  import { AdminESIMWalletSubPackage } from "./interface/eSIMWalletClass.js";
9
+ import { AdminPaymentAdapterSubPackage } from "./interface/paymentAdapterClass.js";
9
10
  // Re-export the typed error surface so backend consumers can `instanceof
10
11
  // KokioError` (or a subclass) and decode reverts without reaching into internal
11
12
  // module paths - mirroring `config.ts`.
@@ -40,6 +41,7 @@ export class KokioAdmin {
40
41
  registry;
41
42
  lazyWalletRegistry;
42
43
  protocolAdmin;
44
+ paymentAdapter;
43
45
  // Instance-scoped surfaces - undefined until their address is known.
44
46
  deviceWallet;
45
47
  eSIMWallet;
@@ -53,6 +55,7 @@ export class KokioAdmin {
53
55
  this.registry = new AdminRegistrySubPackage(walletClient);
54
56
  this.lazyWalletRegistry = new AdminLazyWalletRegistrySubPackage(walletClient);
55
57
  this.protocolAdmin = new AdminProtocolAdminSubPackage(walletClient);
58
+ this.paymentAdapter = new AdminPaymentAdapterSubPackage(walletClient);
56
59
  this.deviceWallet = deviceWalletAddress ? new AdminDeviceWalletSubPackage(walletClient, deviceWalletAddress) : undefined;
57
60
  this.eSIMWallet = eSIMWalletAddress ? new AdminESIMWalletSubPackage(walletClient, eSIMWalletAddress) : undefined;
58
61
  }
@@ -102,6 +105,7 @@ export class KokioAdmin {
102
105
  this.registry = new AdminRegistrySubPackage(walletClient);
103
106
  this.lazyWalletRegistry = new AdminLazyWalletRegistrySubPackage(walletClient);
104
107
  this.protocolAdmin = new AdminProtocolAdminSubPackage(walletClient);
108
+ this.paymentAdapter = new AdminPaymentAdapterSubPackage(walletClient);
105
109
  this.deviceWallet = this.deviceWalletAddress ? new AdminDeviceWalletSubPackage(walletClient, this.deviceWalletAddress) : undefined;
106
110
  this.eSIMWallet = this.eSIMWalletAddress ? new AdminESIMWalletSubPackage(walletClient, this.eSIMWalletAddress) : undefined;
107
111
  return this;
@@ -1,5 +1,5 @@
1
1
  import { _addDeposit, _deployESIMWallet } from "../../logic/admin/deviceWallet.eoa.js";
2
- import { _deviceUniqueIdentifier, _isValidESIMWallet, _canPullETH, _getVaultAddress, _getOwner, _getDeposit, _isValidSignature, _registry, _eSIMWalletFactory, _entryPoint, _verifier, } from "../../logic/admin/reads/deviceWallet.reads.js";
2
+ import { _deviceUniqueIdentifier, _isValidESIMWallet, _canPullFunds, _getVaultAddress, _getOwner, _getDeposit, _isValidSignature, _registry, _eSIMWalletFactory, _entryPoint, _verifier, } from "../../logic/admin/reads/deviceWallet.reads.js";
3
3
  /**
4
4
  * Thin EOA wrapper around a specific `DeviceWallet` instance. The instance
5
5
  * address is bound at construction; `KokioAdmin.setDeviceWalletAddress` swaps it
@@ -25,8 +25,8 @@ export class AdminDeviceWalletSubPackage {
25
25
  isValidESIMWallet(eSIMWallet) {
26
26
  return _isValidESIMWallet(this.walletClient, this.deviceWalletAddress, eSIMWallet);
27
27
  }
28
- canPullETH(eSIMWallet) {
29
- return _canPullETH(this.walletClient, this.deviceWalletAddress, eSIMWallet);
28
+ canPullFunds(eSIMWallet) {
29
+ return _canPullFunds(this.walletClient, this.deviceWalletAddress, eSIMWallet);
30
30
  }
31
31
  getVaultAddress() {
32
32
  return _getVaultAddress(this.walletClient, this.deviceWalletAddress);
@@ -1,5 +1,5 @@
1
- import { _buyDataBundle } from "../../logic/admin/eSIMWallet.eoa.js";
2
- import { _eSIMWalletFactory, _eSIMUniqueIdentifier, _newRequestedOwner, _owner, _dataBundlePriceCap, _deviceWallet, _transactionHistory, } from "../../logic/admin/reads/eSIMWallet.reads.js";
1
+ import { _buyDataBundleWithToken } from "../../logic/admin/eSIMWallet.eoa.js";
2
+ import { _eSIMWalletFactory, _eSIMUniqueIdentifier, _newRequestedOwner, _owner, _priceCapUSDCents, _deviceWallet, _transactionHistory, } from "../../logic/admin/reads/eSIMWallet.reads.js";
3
3
  /**
4
4
  * Thin EOA wrapper around a specific `ESIMWallet` instance. The instance address
5
5
  * is bound at construction; `KokioAdmin.setESIMWalletAddress` swaps it by
@@ -12,8 +12,8 @@ export class AdminESIMWalletSubPackage {
12
12
  this.walletClient = walletClient;
13
13
  this.eSIMWalletAddress = eSIMWalletAddress;
14
14
  }
15
- buyDataBundle(dataBundleDetails, value = 0n) {
16
- return _buyDataBundle(this.walletClient, this.eSIMWalletAddress, dataBundleDetails, value);
15
+ buyDataBundleWithToken(dataBundleDetails, asset, maxAmountIn, paymentReference) {
16
+ return _buyDataBundleWithToken(this.walletClient, this.eSIMWalletAddress, dataBundleDetails, asset, maxAmountIn, paymentReference);
17
17
  }
18
18
  // Reads: public storage getters and views
19
19
  eSIMWalletFactory() {
@@ -28,8 +28,8 @@ export class AdminESIMWalletSubPackage {
28
28
  owner() {
29
29
  return _owner(this.walletClient, this.eSIMWalletAddress);
30
30
  }
31
- dataBundlePriceCap() {
32
- return _dataBundlePriceCap(this.walletClient, this.eSIMWalletAddress);
31
+ priceCapUSDCents() {
32
+ return _priceCapUSDCents(this.walletClient, this.eSIMWalletAddress);
33
33
  }
34
34
  deviceWallet() {
35
35
  return _deviceWallet(this.walletClient, this.eSIMWalletAddress);
@@ -1,5 +1,5 @@
1
1
  import { _batchPopulateHistory, _deployLazyWalletAllBatches, _deployLazyWalletAndSetESIMIdentifier, _deployMoreESIMWalletsForLazyDevice, _setHistoryForLazyWallet, _setHistoryForLazyWalletAllBatches, _switchESIMIdentifierToNewDeviceIdentifier, _acceptOwnership, _transferOwnershipCall, _upgradeCall, } from "../../logic/admin/lazyWalletRegistry.eoa.js";
2
- import { _upgradeManager, _eSIMIdentifierToDeviceIdentifier, _deviceIdentifierToESIMDetails, _eSIMIdentifiersAssociatedWithDeviceIdentifier, _eSIMWalletsDeployed, _historyEntriesCopied, _isDeviceIdentifierReserved, _isESIMIdentifierReserved, _lazyDeployedESIMWallet, _lazyDeploymentSalt, _maxESIMWalletsPerCall, _maxHistoryEntriesPerCall, _owner, _pendingOwner, _proxiableUUID, _upgradeInterfaceVersion, } from "../../logic/admin/reads/lazyWalletRegistry.reads.js";
2
+ import { _upgradeManager, _eSIMIdentifierToDeviceIdentifier, _deviceIdentifierToESIMDetails, _eSIMIdentifiersAssociatedWithDeviceIdentifier, _eSIMWalletsDeployed, _historyEntriesCopied, _outstandingHistoryEntries, _isDeviceIdentifierReserved, _isESIMIdentifierReserved, _lazyDeployedESIMWallet, _lazyDeploymentSalt, _maxESIMWalletsPerCall, _maxHistoryEntriesPerCall, _owner, _pendingOwner, _proxiableUUID, _upgradeInterfaceVersion, } from "../../logic/admin/reads/lazyWalletRegistry.reads.js";
3
3
  /** Thin EOA (eSIMWalletAdmin) wrapper around `LazyWalletRegistry`. */
4
4
  export class AdminLazyWalletRegistrySubPackage {
5
5
  walletClient;
@@ -70,6 +70,9 @@ export class AdminLazyWalletRegistrySubPackage {
70
70
  return _lazyDeployedESIMWallet(this.walletClient, eSIMIdentifier);
71
71
  }
72
72
  /** History cursor, per eSIM. */
73
+ outstandingHistoryEntries(eSIMIdentifier) {
74
+ return _outstandingHistoryEntries(this.walletClient, eSIMIdentifier);
75
+ }
73
76
  historyEntriesCopied(eSIMIdentifier) {
74
77
  return _historyEntriesCopied(this.walletClient, eSIMIdentifier);
75
78
  }