@aastar/sdk 0.21.1 → 0.23.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 (110) hide show
  1. package/dist/UserClient-J3JPDIG7.cjs +15 -0
  2. package/dist/{UserClient-QM2CQVRM.cjs.map → UserClient-J3JPDIG7.cjs.map} +1 -1
  3. package/dist/UserClient-XTHQ2AP3.js +6 -0
  4. package/dist/{UserClient-2JL52CNK.js.map → UserClient-XTHQ2AP3.js.map} +1 -1
  5. package/dist/account.cjs +7 -7
  6. package/dist/account.js +2 -2
  7. package/dist/admin.cjs +3 -3
  8. package/dist/admin.js +2 -2
  9. package/dist/airaccount.cjs +117 -97
  10. package/dist/airaccount.d.cts +2 -1
  11. package/dist/airaccount.d.ts +2 -1
  12. package/dist/airaccount.js +2 -2
  13. package/dist/channel.cjs +6 -6
  14. package/dist/channel.js +2 -2
  15. package/dist/{chunk-JYHDAOUT.js → chunk-2DDWYKF2.js} +9 -9
  16. package/dist/{chunk-JYHDAOUT.js.map → chunk-2DDWYKF2.js.map} +1 -1
  17. package/dist/{chunk-3HZEIFBW.cjs → chunk-2GZMRCQW.cjs} +5 -5
  18. package/dist/{chunk-3HZEIFBW.cjs.map → chunk-2GZMRCQW.cjs.map} +1 -1
  19. package/dist/{chunk-UP2S7C7R.js → chunk-2UDF62XV.js} +6 -6
  20. package/dist/{chunk-UP2S7C7R.js.map → chunk-2UDF62XV.js.map} +1 -1
  21. package/dist/{chunk-KZERVPUR.js → chunk-2WBSYPUY.js} +3 -3
  22. package/dist/{chunk-KZERVPUR.js.map → chunk-2WBSYPUY.js.map} +1 -1
  23. package/dist/{chunk-M5WFKETT.js → chunk-5G5SB6CP.js} +1512 -66
  24. package/dist/chunk-5G5SB6CP.js.map +1 -0
  25. package/dist/{chunk-IZN2COBP.cjs → chunk-6I22EW6V.cjs} +11 -11
  26. package/dist/{chunk-IZN2COBP.cjs.map → chunk-6I22EW6V.cjs.map} +1 -1
  27. package/dist/{chunk-HT6LGLDM.cjs → chunk-6PJAHZZ2.cjs} +26 -26
  28. package/dist/{chunk-HT6LGLDM.cjs.map → chunk-6PJAHZZ2.cjs.map} +1 -1
  29. package/dist/{chunk-PED7PJQZ.cjs → chunk-CGKPULZX.cjs} +16 -16
  30. package/dist/{chunk-PED7PJQZ.cjs.map → chunk-CGKPULZX.cjs.map} +1 -1
  31. package/dist/{chunk-MKUILC7J.js → chunk-D23CZFOM.js} +3 -3
  32. package/dist/{chunk-MKUILC7J.js.map → chunk-D23CZFOM.js.map} +1 -1
  33. package/dist/{chunk-Z4GZ6DQA.cjs → chunk-E37CPC2U.cjs} +9 -9
  34. package/dist/{chunk-Z4GZ6DQA.cjs.map → chunk-E37CPC2U.cjs.map} +1 -1
  35. package/dist/{chunk-EY2AJTGV.js → chunk-EZC7Q3SG.js} +3 -3
  36. package/dist/{chunk-EY2AJTGV.js.map → chunk-EZC7Q3SG.js.map} +1 -1
  37. package/dist/{chunk-5NKU5NT5.js → chunk-H5EQBNC6.js} +8 -8
  38. package/dist/{chunk-5NKU5NT5.js.map → chunk-H5EQBNC6.js.map} +1 -1
  39. package/dist/{chunk-OVNOSAL3.cjs → chunk-LAZA3JD7.cjs} +182 -6
  40. package/dist/chunk-LAZA3JD7.cjs.map +1 -0
  41. package/dist/{chunk-CIEYY3A6.cjs → chunk-MFBTMF5U.cjs} +1541 -64
  42. package/dist/chunk-MFBTMF5U.cjs.map +1 -0
  43. package/dist/{chunk-E4CQFW75.js → chunk-PFMCPSS4.js} +3 -3
  44. package/dist/{chunk-E4CQFW75.js.map → chunk-PFMCPSS4.js.map} +1 -1
  45. package/dist/{chunk-IJN776TA.cjs → chunk-PKYWLTIJ.cjs} +32 -32
  46. package/dist/{chunk-IJN776TA.cjs.map → chunk-PKYWLTIJ.cjs.map} +1 -1
  47. package/dist/{chunk-ENSMYCU6.js → chunk-SXLWFZFX.js} +3 -3
  48. package/dist/{chunk-ENSMYCU6.js.map → chunk-SXLWFZFX.js.map} +1 -1
  49. package/dist/{chunk-57XLR2NT.js → chunk-TM2LH4ZE.js} +3 -3
  50. package/dist/{chunk-57XLR2NT.js.map → chunk-TM2LH4ZE.js.map} +1 -1
  51. package/dist/{chunk-DQBKE4ND.js → chunk-UMTCWOQV.js} +4 -4
  52. package/dist/{chunk-DQBKE4ND.js.map → chunk-UMTCWOQV.js.map} +1 -1
  53. package/dist/{chunk-5JFYTJOE.cjs → chunk-UQMMEDHO.cjs} +4 -4
  54. package/dist/{chunk-5JFYTJOE.cjs.map → chunk-UQMMEDHO.cjs.map} +1 -1
  55. package/dist/{chunk-M7HXR7G5.cjs → chunk-UULR2KA6.cjs} +5 -5
  56. package/dist/{chunk-M7HXR7G5.cjs.map → chunk-UULR2KA6.cjs.map} +1 -1
  57. package/dist/{chunk-6OWZOTE7.js → chunk-V65JXHM6.js} +178 -7
  58. package/dist/chunk-V65JXHM6.js.map +1 -0
  59. package/dist/{chunk-WR4OZUXR.cjs → chunk-W4ENVPZH.cjs} +6 -6
  60. package/dist/{chunk-WR4OZUXR.cjs.map → chunk-W4ENVPZH.cjs.map} +1 -1
  61. package/dist/{chunk-Y4EJX7UA.cjs → chunk-XFJSY5LG.cjs} +12 -12
  62. package/dist/{chunk-Y4EJX7UA.cjs.map → chunk-XFJSY5LG.cjs.map} +1 -1
  63. package/dist/core.cjs +295 -171
  64. package/dist/core.d.cts +329 -507
  65. package/dist/core.d.ts +329 -507
  66. package/dist/core.js +1 -1
  67. package/dist/dapp.cjs +5 -5
  68. package/dist/dapp.js +2 -2
  69. package/dist/enduser.cjs +6 -6
  70. package/dist/enduser.js +3 -3
  71. package/dist/identity.cjs +5 -5
  72. package/dist/identity.js +2 -2
  73. package/dist/index.cjs +396 -272
  74. package/dist/index.d.cts +4 -2
  75. package/dist/index.d.ts +4 -2
  76. package/dist/index.js +15 -15
  77. package/dist/initConfig-D8jgrcDb.d.cts +518 -0
  78. package/dist/initConfig-D8jgrcDb.d.ts +518 -0
  79. package/dist/kms.cjs +117 -97
  80. package/dist/kms.d.cts +183 -3
  81. package/dist/kms.d.ts +183 -3
  82. package/dist/kms.js +2 -2
  83. package/dist/operator.cjs +6 -6
  84. package/dist/operator.js +2 -2
  85. package/dist/paymaster.cjs +15 -15
  86. package/dist/paymaster.js +2 -2
  87. package/dist/src-2P72LYVT.js +5 -0
  88. package/dist/src-2P72LYVT.js.map +1 -0
  89. package/dist/{src-CUHI6G6W.cjs → src-4Q2WFLO2.cjs} +297 -173
  90. package/dist/src-4Q2WFLO2.cjs.map +1 -0
  91. package/dist/{src-X5IECEPM.cjs → src-HECKBVR2.cjs} +17 -17
  92. package/dist/src-HECKBVR2.cjs.map +1 -0
  93. package/dist/{src-CTYY6FNI.js → src-KLP4Q2Y3.js} +4 -4
  94. package/dist/src-KLP4Q2Y3.js.map +1 -0
  95. package/dist/tokens.cjs +3 -3
  96. package/dist/tokens.js +2 -2
  97. package/dist/x402.cjs +25 -25
  98. package/dist/x402.js +2 -2
  99. package/package.json +1 -1
  100. package/dist/UserClient-2JL52CNK.js +0 -6
  101. package/dist/UserClient-QM2CQVRM.cjs +0 -15
  102. package/dist/chunk-6OWZOTE7.js.map +0 -1
  103. package/dist/chunk-CIEYY3A6.cjs.map +0 -1
  104. package/dist/chunk-M5WFKETT.js.map +0 -1
  105. package/dist/chunk-OVNOSAL3.cjs.map +0 -1
  106. package/dist/src-CTYY6FNI.js.map +0 -1
  107. package/dist/src-CUHI6G6W.cjs.map +0 -1
  108. package/dist/src-X5IECEPM.cjs.map +0 -1
  109. package/dist/src-XCV6BTSV.js +0 -5
  110. package/dist/src-XCV6BTSV.js.map +0 -1
package/dist/core.d.ts CHANGED
@@ -2,6 +2,8 @@ import { Address, Chain, Hex, Account, Hash, BlockNumber, BlockTag, PublicClient
2
2
  import { P as PublicClient } from './doc-types-471vSmPO.js';
3
3
  export { W as WalletClient } from './doc-types-471vSmPO.js';
4
4
  export { a as BaseClient, B as BusinessResult, C as ClientConfig, T as TransactionOptions } from './BaseClient-BjbYP0cf.js';
5
+ import { I as InitConfig } from './initConfig-D8jgrcDb.js';
6
+ export { A as AirAccountActions, B as BuildInitConfigParams, D as DryRunValidationResult, G as GuardianSpec, O as OperatorConfig, d as PackedUserOperation, P as PendingModuleInstall, R as ResolvedAPNTsToken, a as SlashRecord, S as SuperPaymasterActions, T as TokenConfig, b as airAccountActions, c as buildInitConfig, s as superPaymasterActions } from './initConfig-D8jgrcDb.js';
5
7
  export { a as ChannelActions, C as ChannelState, c as channelActions } from './channel-CkRRbzT8.js';
6
8
  import * as node_modules_viem__types from 'node_modules/viem/_types';
7
9
 
@@ -3959,356 +3961,6 @@ type SBTActions = {
3959
3961
  };
3960
3962
  declare const sbtActions: (address: Address) => (client: PublicClient$1 | WalletClient) => SBTActions;
3961
3963
 
3962
- /**
3963
- * ERC-4337 v0.7 PackedUserOperation tuple, matching the `struct PackedUserOperation`
3964
- * input of `dryRunValidation` / `validatePaymasterUserOp` in the SuperPaymaster ABI.
3965
- * Field order is load-bearing: viem encodes the tuple positionally from this shape.
3966
- */
3967
- type PackedUserOperation = {
3968
- sender: Address;
3969
- nonce: bigint;
3970
- initCode: Hex;
3971
- callData: Hex;
3972
- accountGasLimits: Hex;
3973
- preVerificationGas: bigint;
3974
- gasFees: Hex;
3975
- paymasterAndData: Hex;
3976
- signature: Hex;
3977
- };
3978
- /**
3979
- * Result of an off-chain `dryRunValidation` pre-flight check.
3980
- * `ok` mirrors whether the paymaster would accept the UserOp; `reasonCode` is a
3981
- * bytes32 machine-readable rejection code (zero when `ok` is true).
3982
- */
3983
- type DryRunValidationResult = {
3984
- ok: boolean;
3985
- reasonCode: Hex;
3986
- };
3987
- type SlashRecord = {
3988
- timestamp: bigint;
3989
- amount: bigint;
3990
- reputationLoss: bigint;
3991
- reason: string;
3992
- level: number;
3993
- };
3994
- type OperatorConfig = {
3995
- aPNTsBalance: bigint;
3996
- isConfigured: boolean;
3997
- isPaused: boolean;
3998
- xPNTsToken: Address;
3999
- reputation: number;
4000
- minTxInterval: number;
4001
- treasury: Address;
4002
- totalSpent: bigint;
4003
- totalTxSponsored: bigint;
4004
- };
4005
- /**
4006
- * Runtime-resolved aPNTs token state read live from the SuperPaymaster contract.
4007
- *
4008
- * The contract exposes the currently active token via `APNTS_TOKEN()` and an
4009
- * upcoming (timelocked) token via `pendingAPNTsToken()` / `pendingAPNTsTokenEta()`.
4010
- * Consumers should prefer `active` and may surface `pending` to warn about an
4011
- * upcoming migration.
4012
- */
4013
- type ResolvedAPNTsToken = {
4014
- /** Currently active aPNTs token address, read from `APNTS_TOKEN()`. */
4015
- active: Address;
4016
- /** aPNTs token queued for migration; `zeroAddress` when none is queued. */
4017
- pending: Address;
4018
- /** Unix-second ETA when the pending change becomes executable; `0n` when none is queued. */
4019
- pendingEta: bigint;
4020
- /** True only when `active` came from the explicit `fallback` option after a failed chain read. */
4021
- fallbackUsed: boolean;
4022
- };
4023
- type SuperPaymasterActions = {
4024
- deposit: (args: {
4025
- amount: bigint;
4026
- account?: Account | Address;
4027
- }) => Promise<Hash>;
4028
- depositETH: (args: {
4029
- value: bigint;
4030
- account?: Account | Address;
4031
- }) => Promise<Hash>;
4032
- depositFor: (args: {
4033
- targetOperator: Address;
4034
- amount: bigint;
4035
- account?: Account | Address;
4036
- }) => Promise<Hash>;
4037
- withdrawTo: (args: {
4038
- to: Address;
4039
- amount: bigint;
4040
- account?: Account | Address;
4041
- }) => Promise<Hash>;
4042
- withdraw: (args: {
4043
- amount: bigint;
4044
- account?: Account | Address;
4045
- }) => Promise<Hash>;
4046
- addStake: (args: {
4047
- unstakeDelaySec: number;
4048
- value: bigint;
4049
- account?: Account | Address;
4050
- }) => Promise<Hash>;
4051
- unlockStake: (args: {
4052
- account?: Account | Address;
4053
- }) => Promise<Hash>;
4054
- withdrawStake: (args: {
4055
- to: Address;
4056
- account?: Account | Address;
4057
- }) => Promise<Hash>;
4058
- configureOperator: (args: {
4059
- xPNTsToken: Address;
4060
- opTreasury: Address;
4061
- account?: Account | Address;
4062
- }) => Promise<Hash>;
4063
- setOperatorPaused: (args: {
4064
- operator: Address;
4065
- paused: boolean;
4066
- account?: Account | Address;
4067
- }) => Promise<Hash>;
4068
- setOperatorLimits: (args: {
4069
- minTxInterval: number;
4070
- account?: Account | Address;
4071
- }) => Promise<Hash>;
4072
- updateReputation: (args: {
4073
- operator: Address;
4074
- newScore: bigint;
4075
- account?: Account | Address;
4076
- }) => Promise<Hash>;
4077
- executeSlashWithBLS: (args: {
4078
- operator: Address;
4079
- level: number;
4080
- proof: Hex;
4081
- account?: Account | Address;
4082
- }) => Promise<Hash>;
4083
- slashOperator: (args: {
4084
- operator: Address;
4085
- level: number;
4086
- penaltyAmount: bigint;
4087
- reason: string;
4088
- account?: Account | Address;
4089
- }) => Promise<Hash>;
4090
- updateBlockedStatus: (args: {
4091
- operator: Address;
4092
- users: Address[];
4093
- statuses: boolean[];
4094
- account?: Account | Address;
4095
- }) => Promise<Hash>;
4096
- updateSBTStatus: (args: {
4097
- user: Address;
4098
- status: boolean;
4099
- account?: Account | Address;
4100
- }) => Promise<Hash>;
4101
- /** Read the unrecovered debt recorded for a user after a failed burn/recordDebt. */
4102
- pendingDebts: (args: {
4103
- token: Address;
4104
- user: Address;
4105
- }) => Promise<bigint>;
4106
- /** Operator retries recovering up to `amount` of the user's pending debt. */
4107
- retryPendingDebt: (args: {
4108
- token: Address;
4109
- user: Address;
4110
- amount: bigint;
4111
- account?: Account | Address;
4112
- }) => Promise<Hash>;
4113
- /** Operator force-clears the user's pending-debt entry without recording it. */
4114
- clearPendingDebt: (args: {
4115
- token: Address;
4116
- user: Address;
4117
- account?: Account | Address;
4118
- }) => Promise<Hash>;
4119
- setAPNTSPrice: (args: {
4120
- newPrice: bigint;
4121
- account?: Account | Address;
4122
- }) => Promise<Hash>;
4123
- updatePrice: (args: {
4124
- account?: Account | Address;
4125
- }) => Promise<Hash>;
4126
- updatePriceDVT: (args: {
4127
- price: bigint;
4128
- updatedAt: bigint;
4129
- proof: Hex;
4130
- account?: Account | Address;
4131
- }) => Promise<Hash>;
4132
- setProtocolFee: (args: {
4133
- newFeeBPS: bigint;
4134
- account?: Account | Address;
4135
- }) => Promise<Hash>;
4136
- setTreasury: (args: {
4137
- treasury: Address;
4138
- account?: Account | Address;
4139
- }) => Promise<Hash>;
4140
- setXPNTsFactory: (args: {
4141
- factory: Address;
4142
- account?: Account | Address;
4143
- }) => Promise<Hash>;
4144
- setAPNTsToken: (args: {
4145
- token: Address;
4146
- account?: Account | Address;
4147
- }) => Promise<Hash>;
4148
- /** @deprecated The deployed SuperPaymaster ABI has no direct `setBLSAggregator` — the aggregator change is timelocked via {@link queueBLSAggregator} + {@link applyBLSAggregator}. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4149
- setBLSAggregator: (args: {
4150
- aggregator: Address;
4151
- account?: Account | Address;
4152
- }) => Promise<Hash>;
4153
- withdrawProtocolRevenue: (args: {
4154
- to: Address;
4155
- amount: bigint;
4156
- account?: Account | Address;
4157
- }) => Promise<Hash>;
4158
- executeAPNTsTokenChange: (args: {
4159
- account?: Account | Address;
4160
- }) => Promise<Hash>;
4161
- cancelAPNTsTokenChange: (args: {
4162
- account?: Account | Address;
4163
- }) => Promise<Hash>;
4164
- pendingAPNTsToken: () => Promise<Address>;
4165
- pendingAPNTsTokenEta: () => Promise<bigint>;
4166
- /**
4167
- * Resolve the live aPNTs token address from chain instead of relying on a static constant.
4168
- *
4169
- * Reads `APNTS_TOKEN()` (active), `pendingAPNTsToken()` and `pendingAPNTsTokenEta()`
4170
- * in parallel and returns them as a structured result. Prefer `active` for runtime use.
4171
- *
4172
- * If `fallback` is supplied and the chain reads fail, the static `fallback` address is
4173
- * returned with `fallbackUsed: true` (pending fields zeroed). Without a `fallback` the
4174
- * underlying error is re-thrown rather than silently masked.
4175
- */
4176
- resolveAPNTsToken: (args?: {
4177
- fallback?: Address;
4178
- }) => Promise<ResolvedAPNTsToken>;
4179
- emergencySetPrice: (args: {
4180
- newPrice: bigint;
4181
- account?: Account | Address;
4182
- }) => Promise<Hash>;
4183
- executeEmergencyPrice: (args: {
4184
- account?: Account | Address;
4185
- }) => Promise<Hash>;
4186
- cancelEmergencyPrice: (args: {
4187
- account?: Account | Address;
4188
- }) => Promise<Hash>;
4189
- emergencyPendingPrice: () => Promise<bigint>;
4190
- emergencyActivatedAt: () => Promise<bigint>;
4191
- emergencyQueuedAt: () => Promise<bigint>;
4192
- EMERGENCY_TIMELOCK: () => Promise<bigint>;
4193
- queueBLSAggregator: (args: {
4194
- aggregator: Address;
4195
- account?: Account | Address;
4196
- }) => Promise<Hash>;
4197
- applyBLSAggregator: (args: {
4198
- account?: Account | Address;
4199
- }) => Promise<Hash>;
4200
- onTransferReceived: (args: {
4201
- operator: Address;
4202
- from: Address;
4203
- value: bigint;
4204
- data: Hex;
4205
- }) => Promise<Hex>;
4206
- validatePaymasterUserOp: (args: {
4207
- userOp: any;
4208
- userOpHash: Hex;
4209
- maxCost: bigint;
4210
- }) => Promise<{
4211
- context: Hex;
4212
- validationData: bigint;
4213
- }>;
4214
- /**
4215
- * Off-chain pre-flight validation of a UserOp against this paymaster.
4216
- * Returns `{ ok, reasonCode }` so callers can detect AA34-style rejections
4217
- * before submitting the UserOp on-chain. View call; never mutates state.
4218
- */
4219
- dryRunValidation: (args: {
4220
- userOp: PackedUserOperation;
4221
- maxCost: bigint;
4222
- }) => Promise<DryRunValidationResult>;
4223
- operators: (args: {
4224
- operator: Address;
4225
- }) => Promise<OperatorConfig>;
4226
- getAvailableCredit: (args: {
4227
- user: Address;
4228
- token: Address;
4229
- }) => Promise<bigint>;
4230
- getDeposit: () => Promise<bigint>;
4231
- getLatestSlash: (args: {
4232
- operator: Address;
4233
- }) => Promise<SlashRecord>;
4234
- getSlashCount: (args: {
4235
- operator: Address;
4236
- }) => Promise<bigint>;
4237
- getSlashHistory: (args: {
4238
- operator: Address;
4239
- }) => Promise<SlashRecord[]>;
4240
- slashHistory: (args: {
4241
- operator: Address;
4242
- index: bigint;
4243
- }) => Promise<SlashRecord>;
4244
- userOpState: (args: {
4245
- user: Address;
4246
- operator: Address;
4247
- }) => Promise<{
4248
- lastTimestamp: number;
4249
- isBlocked: boolean;
4250
- }>;
4251
- cachedPrice: () => Promise<{
4252
- price: bigint;
4253
- updatedAt: bigint;
4254
- roundId: bigint;
4255
- decimals: number;
4256
- }>;
4257
- aPNTsPriceUSD: () => Promise<bigint>;
4258
- protocolFeeBPS: () => Promise<bigint>;
4259
- protocolRevenue: () => Promise<bigint>;
4260
- totalTrackedBalance: () => Promise<bigint>;
4261
- priceStalenessThreshold: () => Promise<bigint>;
4262
- sbtHolders: (args: {
4263
- user: Address;
4264
- }) => Promise<boolean>;
4265
- /** True when the Chainlink ETH/USD feed is considered stale by the contract. */
4266
- isChainlinkStale: () => Promise<boolean>;
4267
- /** Current pricing mode (uint8 enum on the contract). */
4268
- priceMode: () => Promise<number>;
4269
- /** Unix-second timestamp until which the cached price remains valid (uint48). */
4270
- priceValidUntil: () => Promise<bigint>;
4271
- /** Address of the BLS aggregator pending the timelock (`zeroAddress` if none queued). */
4272
- pendingBLSAgg: () => Promise<Address>;
4273
- /** Unix-second ETA at which the pending BLS aggregator change becomes executable (uint48). */
4274
- pendingBLSAggEta: () => Promise<bigint>;
4275
- APNTS_TOKEN: () => Promise<Address>;
4276
- REGISTRY: () => Promise<Address>;
4277
- BLS_AGGREGATOR: () => Promise<Address>;
4278
- ETH_USD_PRICE_FEED: () => Promise<Address>;
4279
- treasury: () => Promise<Address>;
4280
- xpntsFactory: () => Promise<Address>;
4281
- entryPoint: () => Promise<Address>;
4282
- /** @deprecated Removed in the v5.x contract refactor — not in the deployed SuperPaymaster ABI. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4283
- MAX_PROTOCOL_FEE: () => Promise<bigint>;
4284
- /** @deprecated Removed from SuperPaymaster in the v5.x refactor (this bound belongs to the standalone Paymaster contract). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4285
- MAX_ETH_USD_PRICE: () => Promise<bigint>;
4286
- /** @deprecated Removed from SuperPaymaster in the v5.x refactor (this bound belongs to the standalone Paymaster contract). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4287
- MIN_ETH_USD_PRICE: () => Promise<bigint>;
4288
- /** @deprecated Removed in the v5.x contract refactor — not in the deployed SuperPaymaster ABI. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4289
- PAYMASTER_DATA_OFFSET: () => Promise<bigint>;
4290
- /** @deprecated Removed in the v5.x contract refactor — not in the deployed SuperPaymaster ABI. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4291
- PRICE_CACHE_DURATION: () => Promise<bigint>;
4292
- /** @deprecated Removed in the v5.x contract refactor — not in the deployed SuperPaymaster ABI. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4293
- RATE_OFFSET: () => Promise<bigint>;
4294
- /** @deprecated Removed in the v5.x contract refactor — not in the deployed SuperPaymaster ABI. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4295
- VALIDATION_BUFFER_BPS: () => Promise<bigint>;
4296
- /** @deprecated Removed in the v5.x contract refactor — not in the deployed SuperPaymaster ABI. Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
4297
- BPS_DENOMINATOR: () => Promise<bigint>;
4298
- /** Duration (seconds) of the aPNTs-token-change timelock. */
4299
- APNTS_TOKEN_TIMELOCK: () => Promise<bigint>;
4300
- owner: () => Promise<Address>;
4301
- transferOwnership: (args: {
4302
- newOwner: Address;
4303
- account?: Account | Address;
4304
- }) => Promise<Hash>;
4305
- renounceOwnership: (args: {
4306
- account?: Account | Address;
4307
- }) => Promise<Hash>;
4308
- version: () => Promise<string>;
4309
- };
4310
- declare const superPaymasterActions: (address: Address) => (client: PublicClient$1 | WalletClient) => SuperPaymasterActions;
4311
-
4312
3964
  type PaymasterActions = {
4313
3965
  depositFor: (args: {
4314
3966
  user: Address;
@@ -5921,136 +5573,6 @@ type GTokenAuthorizationActions = GTokenActions & {
5921
5573
  };
5922
5574
  declare const gTokenAuthorizationActions: (client: PublicClient$1 | WalletClient) => GTokenAuthorizationActions;
5923
5575
 
5924
- type TokenConfig = {
5925
- tier1Limit: bigint;
5926
- tier2Limit: bigint;
5927
- dailyLimit: bigint;
5928
- };
5929
- type InitConfig = {
5930
- guardians: readonly [Address, Address, Address];
5931
- guardianP256X: readonly [Hex, Hex, Hex];
5932
- guardianP256Y: readonly [Hex, Hex, Hex];
5933
- dailyLimit: bigint;
5934
- approvedAlgIds: readonly number[];
5935
- minDailyLimit: bigint;
5936
- initialTokens: readonly Address[];
5937
- initialTokenConfigs: readonly TokenConfig[];
5938
- };
5939
- type PendingModuleInstall = {
5940
- module: Address;
5941
- moduleTypeId: number;
5942
- proposedAt: number;
5943
- executeAfter: number;
5944
- initDataHash: Hex;
5945
- };
5946
- type AirAccountActions = {
5947
- owner: () => Promise<Address>;
5948
- guardianCount: () => Promise<number>;
5949
- guardians: (args: {
5950
- index: bigint | number;
5951
- }) => Promise<Address>;
5952
- accountId: () => Promise<string>;
5953
- isValidSignature: (args: {
5954
- hash: Hex;
5955
- sig: Hex;
5956
- }) => Promise<Hex>;
5957
- requiredTier: (args: {
5958
- txValue: bigint;
5959
- }) => Promise<number>;
5960
- supportsModule: (args: {
5961
- moduleTypeId: bigint;
5962
- }) => Promise<boolean>;
5963
- p256KeyX: () => Promise<Hex>;
5964
- p256KeyY: () => Promise<Hex>;
5965
- parserRegistry: () => Promise<Address>;
5966
- moduleManagementNonce: () => Promise<bigint>;
5967
- moduleInstallTimelock: () => Promise<bigint>;
5968
- pendingModuleInstall: () => Promise<PendingModuleInstall>;
5969
- setP256Key: (args: {
5970
- x: Hex;
5971
- y: Hex;
5972
- account?: Account | Address;
5973
- }) => Promise<Hash>;
5974
- setTierLimits: (args: {
5975
- tier1: bigint;
5976
- tier2: bigint;
5977
- account?: Account | Address;
5978
- }) => Promise<Hash>;
5979
- setValidator: (args: {
5980
- validator: Address;
5981
- account?: Account | Address;
5982
- }) => Promise<Hash>;
5983
- setParserRegistry: (args: {
5984
- registry: Address;
5985
- account?: Account | Address;
5986
- }) => Promise<Hash>;
5987
- /**
5988
- * Execute calls via an installed executor module (ERC-7579 `executeFromExecutor`).
5989
- * NOTE: this is a state-changing tx, so it resolves to the transaction `Hash` — the
5990
- * on-chain `bytes[] returnData` is NOT recoverable from a write. If you need the
5991
- * decoded return data, `simulateContract`/`call` the same function separately.
5992
- */
5993
- executeFromExecutor: (args: {
5994
- mode: Hex;
5995
- executionCalldata: Hex;
5996
- account?: Account | Address;
5997
- }) => Promise<Hash>;
5998
- validateUserOp: (args: {
5999
- userOp: PackedUserOperation;
6000
- userOpHash: Hex;
6001
- missingAccountFunds: bigint;
6002
- account?: Account | Address;
6003
- }) => Promise<Hash>;
6004
- initializeAgentAccount: (args: {
6005
- entryPoint: Address;
6006
- owner: Address;
6007
- config: InitConfig;
6008
- guardAddr: Address;
6009
- account?: Account | Address;
6010
- }) => Promise<Hash>;
6011
- guardAddTokenConfig: (args: {
6012
- token: Address;
6013
- config: TokenConfig;
6014
- account?: Account | Address;
6015
- }) => Promise<Hash>;
6016
- guardApproveAlgorithm: (args: {
6017
- algId: number;
6018
- account?: Account | Address;
6019
- }) => Promise<Hash>;
6020
- guardDecreaseDailyLimit: (args: {
6021
- newLimit: bigint;
6022
- account?: Account | Address;
6023
- }) => Promise<Hash>;
6024
- guardDecreaseTokenDailyLimit: (args: {
6025
- token: Address;
6026
- newLimit: bigint;
6027
- account?: Account | Address;
6028
- }) => Promise<Hash>;
6029
- guardSetStrictMode: (args: {
6030
- enabled: boolean;
6031
- account?: Account | Address;
6032
- }) => Promise<Hash>;
6033
- proposeModuleInstall: (args: {
6034
- moduleTypeId: bigint;
6035
- module: Address;
6036
- initData: Hex;
6037
- account?: Account | Address;
6038
- }) => Promise<Hash>;
6039
- executeModuleInstall: (args: {
6040
- moduleInitData: Hex;
6041
- account?: Account | Address;
6042
- }) => Promise<Hash>;
6043
- cancelModuleInstall: (args: {
6044
- account?: Account | Address;
6045
- }) => Promise<Hash>;
6046
- setModuleInstallTimelock: (args: {
6047
- newTimelock: bigint;
6048
- guardianSigs: Hex;
6049
- account?: Account | Address;
6050
- }) => Promise<Hash>;
6051
- };
6052
- declare const airAccountActions: (address: Address) => (client: PublicClient$1 | WalletClient) => AirAccountActions;
6053
-
6054
5576
  type AirAccountFactoryActions = {
6055
5577
  getAddressWithChainId: (args: {
6056
5578
  owner: Address;
@@ -6131,20 +5653,45 @@ declare const airAccountFactoryActions: (address: Address) => (client: PublicCli
6131
5653
  * internally, so the on-chain `address` here is the smart-account address, never
6132
5654
  * the extension's own address.
6133
5655
  *
6134
- * ## Batch split
5656
+ * ## P-256 (passkey) guardian feature — fully wired (Batch 2)
6135
5657
  * The full P-256 / WebAuthn guardian feature (passkey-signed recovery, mixed
6136
- * ECDSA+P-256 guardian consensus) landed in the contracts at v0.20.0 but is wired
6137
- * into the SDK in **Batch 2**. This Batch-1 module ships:
6138
- * - the two trivial VIEW reads (`getRecoveryNonce`, `getGuardianP256Key`) as
6139
- * real on-chain calls, and
6140
- * - `NOT_IMPLEMENTED`-throwing stubs for the eight state-changing P-256 writes,
6141
- * so the doc-coverage gate stays green while the feature is finished.
5658
+ * ECDSA+P-256 guardian consensus) landed in the contracts at v0.20.0 and is wired
5659
+ * end-to-end here: the two VIEW reads plus the eight state-changing writes.
5660
+ *
5661
+ * The `sig` blobs these writes consume are built by the core crypto module
5662
+ * (`@aastar/core` `buildP256GuardianChallenge` / `encodeWebAuthnAssertion` /
5663
+ * `signP256GuardianAssertion` in `crypto/p256Guardian.ts`). This action layer is the
5664
+ * thin calldata wrapper; the security-critical encoding lives in that module and is
5665
+ * decode-verified against a live Sepolia tx (see `tests/regression/onchain-evidence/`).
5666
+ *
5667
+ * ## Guardian bootstrap is guardianSig-free (spec §5.1 / §9)
5668
+ * `addP256Guardian(x, y)` is **owner-only** and requires `_guardianCount < RECOVERY_THRESHOLD`
5669
+ * (a single guardian can't form a quorum), so the FIRST P-256 guardian(s) need NO guardian
5670
+ * signature — only the owner. The same holds for init-time setup via `InitConfig.guardianP256X/Y`
5671
+ * (one factory tx, no window). Once `RECOVERY_THRESHOLD` guardians exist, expansion requires
5672
+ * consensus via `addP256GuardianWithMixedSigs` / `addGuardianWithMixedSigs`.
6142
5673
  *
6143
5674
  * The plain ECDSA recovery lifecycle (`proposeRecovery` / `approveRecovery` /
6144
- * `executeRecovery` / `cancelRecovery`) is unchanged at the byte level (same
6145
- * 4-byte selectors, same semantics) and is encoded by the AirAccount server's
6146
- * `RecoveryService` against the account address — it is NOT re-declared here.
5675
+ * `executeRecovery` / `cancelRecovery`) is unchanged at the byte level and is encoded by
5676
+ * the AirAccount server's `RecoveryService` against the account address NOT re-declared here.
6147
5677
  */
5678
+ /**
5679
+ * Storage slots of the mixed-sig operation nonces, taken VERBATIM from the contract's shared layout
5680
+ * `AAStarAgentStorageLayout.sol` (forge-inspect-verified, identical for AAStarAirAccountV7 and
5681
+ * AirAccountExtension — the parity that makes the fallback→delegatecall sharing safe). These nonces
5682
+ * are `internal` (no public getter), so the SDK reads them via `eth_getStorageAt`.
5683
+ *
5684
+ * slot 15 — `_guardianRemovalNonce` (AAStarAgentStorageLayout.sol:118)
5685
+ * slot 16 — `_tierLimitNonce` (AAStarAgentStorageLayout.sol:119)
5686
+ * slot 38 — `_recoveryNonce` (AAStarAgentStorageLayout.sol:182; also the public `getRecoveryNonce()`)
5687
+ * slot 39 — `_guardianAdditionNonce` (AAStarAgentStorageLayout.sol:186)
5688
+ */
5689
+ declare const GUARDIAN_REMOVAL_NONCE_SLOT = 15n;
5690
+ declare const TIER_LIMIT_NONCE_SLOT = 16n;
5691
+ declare const RECOVERY_NONCE_SLOT = 38n;
5692
+ declare const GUARDIAN_ADDITION_NONCE_SLOT = 39n;
5693
+ /** Highest valid guardian slot index (the contract hard-caps the guardian set at 3: slots 0..2). */
5694
+ declare const MAX_GUARDIAN_SLOT = 2;
6148
5695
  type AirAccountExtensionActions = {
6149
5696
  /** `getRecoveryNonce()` — monotonic nonce that domain-separates P-256 / mixed-sig recovery payloads. */
6150
5697
  getRecoveryNonce: () => Promise<bigint>;
@@ -6155,54 +5702,94 @@ type AirAccountExtensionActions = {
6155
5702
  x: Hex;
6156
5703
  y: Hex;
6157
5704
  }>;
6158
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5705
+ /**
5706
+ * `_guardianAdditionNonce` — the nonce bound into ADD_GUARDIAN / ADD_P256_GUARDIAN challenges.
5707
+ * Read from internal storage slot 39 (no public getter). MUST be re-fetched immediately before
5708
+ * collecting guardian signatures for `add*WithMixedSigs` (any successful add increments it).
5709
+ */
5710
+ getGuardianAdditionNonce: () => Promise<bigint>;
5711
+ /**
5712
+ * `_guardianRemovalNonce` — the nonce bound into REMOVE_GUARDIAN challenges. Read from internal
5713
+ * storage slot 15 (no public getter). Re-fetch immediately before signing `removeGuardianWithMixedSigs`.
5714
+ */
5715
+ getGuardianRemovalNonce: () => Promise<bigint>;
5716
+ /**
5717
+ * `_tierLimitNonce` — the nonce bound into MODIFY_TIER_LIMITS challenges. Read from internal
5718
+ * storage slot 16 (no public getter). Re-fetch immediately before signing `modifyTierLimitsWithMixedGuardians`.
5719
+ */
5720
+ getTierLimitNonce: () => Promise<bigint>;
5721
+ /** `addP256Guardian(x, y)` — owner-only bootstrap of a passkey guardian (no guardianSig while `count < threshold`). */
6159
5722
  addP256Guardian: (args: {
6160
5723
  x: Hex;
6161
5724
  y: Hex;
6162
- }) => Promise<never>;
6163
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5725
+ account?: Account | Address;
5726
+ maxFeePerGas?: bigint;
5727
+ maxPriorityFeePerGas?: bigint;
5728
+ }) => Promise<Hash>;
5729
+ /** `addP256GuardianWithMixedSigs(x, y, signerIdxs, sigs)` — add a passkey guardian once `count >= threshold` (consensus required). */
6164
5730
  addP256GuardianWithMixedSigs: (args: {
6165
5731
  x: Hex;
6166
5732
  y: Hex;
6167
5733
  signerIdxs: readonly number[];
6168
5734
  sigs: readonly Hex[];
6169
- }) => Promise<never>;
6170
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5735
+ account?: Account | Address;
5736
+ maxFeePerGas?: bigint;
5737
+ maxPriorityFeePerGas?: bigint;
5738
+ }) => Promise<Hash>;
5739
+ /** `addGuardianWithMixedSigs(guardian, signerIdxs, sigs)` — add an ECDSA guardian with mixed-type guardian consensus. */
6171
5740
  addGuardianWithMixedSigs: (args: {
6172
5741
  guardian: Address;
6173
5742
  signerIdxs: readonly number[];
6174
5743
  sigs: readonly Hex[];
6175
- }) => Promise<never>;
6176
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5744
+ account?: Account | Address;
5745
+ maxFeePerGas?: bigint;
5746
+ maxPriorityFeePerGas?: bigint;
5747
+ }) => Promise<Hash>;
5748
+ /** `proposeRecoveryWithSig(newOwner, gIdx, sig)` — passkey guardian proposes recovery (any relayer submits). */
6177
5749
  proposeRecoveryWithSig: (args: {
6178
5750
  newOwner: Address;
6179
5751
  gIdx: number;
6180
5752
  sig: Hex;
6181
- }) => Promise<never>;
6182
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5753
+ account?: Account | Address;
5754
+ maxFeePerGas?: bigint;
5755
+ maxPriorityFeePerGas?: bigint;
5756
+ }) => Promise<Hash>;
5757
+ /** `approveRecoveryWithSig(gIdx, sig)` — passkey guardian approves the active recovery proposal. */
6183
5758
  approveRecoveryWithSig: (args: {
6184
5759
  gIdx: number;
6185
5760
  sig: Hex;
6186
- }) => Promise<never>;
6187
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5761
+ account?: Account | Address;
5762
+ maxFeePerGas?: bigint;
5763
+ maxPriorityFeePerGas?: bigint;
5764
+ }) => Promise<Hash>;
5765
+ /** `cancelRecoveryWithSig(gIdx, sig)` — passkey guardian votes to cancel the active recovery proposal. */
6188
5766
  cancelRecoveryWithSig: (args: {
6189
5767
  gIdx: number;
6190
5768
  sig: Hex;
6191
- }) => Promise<never>;
6192
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5769
+ account?: Account | Address;
5770
+ maxFeePerGas?: bigint;
5771
+ maxPriorityFeePerGas?: bigint;
5772
+ }) => Promise<Hash>;
5773
+ /** `removeGuardianWithMixedSigs(index, signerIdxs, sigs)` — owner-only removal with mixed-type guardian consensus. */
6193
5774
  removeGuardianWithMixedSigs: (args: {
6194
5775
  index: number;
6195
5776
  signerIdxs: readonly number[];
6196
5777
  sigs: readonly Hex[];
6197
- }) => Promise<never>;
6198
- /** Batch 2 (P-256 guardian feature). Throws {@link ErrorCode.NOT_IMPLEMENTED}. */
5778
+ account?: Account | Address;
5779
+ maxFeePerGas?: bigint;
5780
+ maxPriorityFeePerGas?: bigint;
5781
+ }) => Promise<Hash>;
5782
+ /** `modifyTierLimitsWithMixedGuardians(tier1, tier2, deadline, signerIdxs, sigs)` — owner-only tier change with mixed consensus. */
6199
5783
  modifyTierLimitsWithMixedGuardians: (args: {
6200
5784
  tier1: bigint;
6201
5785
  tier2: bigint;
6202
5786
  deadline: bigint;
6203
5787
  signerIdxs: readonly number[];
6204
5788
  sigs: readonly Hex[];
6205
- }) => Promise<never>;
5789
+ account?: Account | Address;
5790
+ maxFeePerGas?: bigint;
5791
+ maxPriorityFeePerGas?: bigint;
5792
+ }) => Promise<Hash>;
6206
5793
  };
6207
5794
  declare const airAccountExtensionActions: (address: Address) => (client: PublicClient$1 | WalletClient) => AirAccountExtensionActions;
6208
5795
 
@@ -6589,6 +6176,241 @@ interface HashToFieldU0U1 {
6589
6176
  */
6590
6177
  declare function hashToFieldU0U1(message: Hex): HashToFieldU0U1;
6591
6178
 
6179
+ /**
6180
+ * P-256 (WebAuthn passkey) guardian wire encoders — airaccount-contract v0.20.0
6181
+ * authoritative, byte-for-byte against the published
6182
+ * `AirAccountExtension._verifyWebAuthnP256Sig` + `_p256GuardianChallenge`
6183
+ * (src/core/AirAccountExtension.sol). See `docs/p256-guardian-spec.md` §2, §6.
6184
+ *
6185
+ * ## What the contract actually verifies (NOT the early "simplified" draft)
6186
+ *
6187
+ * A P-256 guardian signs a FULL WebAuthn assertion — exactly what
6188
+ * `navigator.credentials.get()` returns — over the operation challenge:
6189
+ *
6190
+ * ```
6191
+ * challenge = keccak256(abi.encode(
6192
+ * uint8 GUARDIAN_SIG_VERSION (=4),
6193
+ * uint256 chainId,
6194
+ * address account,
6195
+ * string "P256_GUARDIAN", // domain tag
6196
+ * string opLabel, // "PROPOSE_RECOVERY" / …
6197
+ * bytes opData)) // per-op, see §6
6198
+ * clientDataJSON = '{"type":"webauthn.get","challenge":"' || base64url(challenge) || suffix
6199
+ * payloadHash = sha256(authenticatorData || sha256(clientDataJSON)) // ES256 signs this
6200
+ * sig (on-chain) = abi.encode(bytes authenticatorData, bytes clientDataJSONPrefix,
6201
+ * bytes clientDataJSONSuffix, bytes32 r, bytes32 s)
6202
+ * ```
6203
+ *
6204
+ * The contract rebuilds `base64url(challenge)` on-chain (`_base64UrlEncode32`) and
6205
+ * splices it between the SDK-supplied prefix/suffix, then runs the EIP-7212
6206
+ * precompile against the guardian's stored `(x, y)`. It enforces:
6207
+ * - `clientDataJSONPrefix == '{"type":"webauthn.get","challenge":"'` (operation-type binding),
6208
+ * - `authenticatorData.length >= 37` and the UP flag (`authenticatorData[32] & 0x01`),
6209
+ * - low-S: `uint256(s) <= n/2`.
6210
+ *
6211
+ * It deliberately does NOT bind `origin` / `rpIdHash` / UV (platform-layer RP binding
6212
+ * + challenge domain-separation cover replay). See spec §9.5.
6213
+ *
6214
+ * @module
6215
+ */
6216
+ /** Guardian signature scheme version embedded in every challenge (contract: `GUARDIAN_SIG_VERSION`). */
6217
+ declare const GUARDIAN_SIG_VERSION: 4;
6218
+ /** Domain tag mixed into every P-256 guardian challenge (separates from the ECDSA-guardian hash). */
6219
+ declare const P256_GUARDIAN_DOMAIN: "P256_GUARDIAN";
6220
+ /**
6221
+ * The EXACT `clientDataJSON` prefix the contract requires (operation-type binding). Any other
6222
+ * prefix is rejected on-chain, so a `webauthn.create` (registration) assertion cannot be replayed
6223
+ * through the `webauthn.get` (recovery) path. The base64url(challenge) MUST immediately follow this.
6224
+ */
6225
+ declare const WEBAUTHN_GET_CHALLENGE_PREFIX: "{\"type\":\"webauthn.get\",\"challenge\":\"";
6226
+ /** Sentinel address stored in a guardian slot to mark it P-256 (contract: `P256_GUARDIAN_SENTINEL`). */
6227
+ declare const P256_GUARDIAN_SENTINEL: Address;
6228
+ /** secp256r1 (P-256) curve order `n` (fixed curve parameter). */
6229
+ declare const SECP256R1_N = 115792089210356248762697446949407573529996955224135760342422259061068512044369n;
6230
+ /**
6231
+ * secp256r1 curve order / 2 — the low-S ceiling the contract enforces
6232
+ * (`AirAccountExtension.SECP256R1_N_OVER_2`).
6233
+ */
6234
+ declare const SECP256R1_N_OVER_2: bigint;
6235
+ /**
6236
+ * base64url-encode bytes with no padding — byte-identical to the contract's `_base64UrlEncode32`
6237
+ * for 32-byte input (43 chars) and to `Buffer.from(x).toString('base64url')`. Pure JS so `@aastar/core`
6238
+ * stays isomorphic (no node `Buffer`).
6239
+ */
6240
+ declare function base64UrlEncode(bytes: Uint8Array): string;
6241
+ /** The set of operation labels the contract recognises (string-matched in the challenge). */
6242
+ type GuardianOpLabel = 'PROPOSE_RECOVERY' | 'APPROVE_RECOVERY' | 'CANCEL_RECOVERY' | 'REMOVE_GUARDIAN' | 'MODIFY_TIER_LIMITS' | 'ADD_P256_GUARDIAN' | 'ADD_GUARDIAN';
6243
+ /** Parameters for {@link buildP256GuardianChallenge}. */
6244
+ interface BuildP256GuardianChallengeParams {
6245
+ /** Signature scheme version. Defaults to {@link GUARDIAN_SIG_VERSION} (4). */
6246
+ version?: number;
6247
+ /** EVM chain id the account lives on (`block.chainid`). */
6248
+ chainId: number | bigint;
6249
+ /** The smart-account address (`address(this)` in the extension). */
6250
+ account: Address;
6251
+ /** Operation label, e.g. `"PROPOSE_RECOVERY"`. */
6252
+ opLabel: GuardianOpLabel | string;
6253
+ /** Operation payload (`abi.encode(...)` per op — use the `opData*` builders below). */
6254
+ opData: Hex;
6255
+ }
6256
+ /**
6257
+ * Build the 32-byte operation challenge the contract derives in `_p256GuardianChallenge`:
6258
+ * `keccak256(abi.encode(uint8 version, uint256 chainId, address account, string "P256_GUARDIAN",
6259
+ * string opLabel, bytes opData))`. This is the value passed to `navigator.credentials.get()`.
6260
+ */
6261
+ declare function buildP256GuardianChallenge(params: BuildP256GuardianChallengeParams): Hex;
6262
+ /** `opData` for PROPOSE_RECOVERY / APPROVE_RECOVERY / CANCEL_RECOVERY: `abi.encode(uint256 nonce, address newOwner)`. */
6263
+ declare function opDataRecovery(nonce: bigint, newOwner: Address): Hex;
6264
+ /** `opData` for ADD_P256_GUARDIAN: `abi.encode(uint256 nonce, bytes32 x, bytes32 y)`. */
6265
+ declare function opDataAddP256Guardian(nonce: bigint, x: Hex, y: Hex): Hex;
6266
+ /** `opData` for ADD_GUARDIAN (ECDSA): `abi.encode(uint256 nonce, address guardian)`. */
6267
+ declare function opDataAddGuardian(nonce: bigint, guardian: Address): Hex;
6268
+ /**
6269
+ * `opData` for REMOVE_GUARDIAN (spec §6.4):
6270
+ * `abi.encode(uint256 nonce, uint8 index, address guardianToRemove, bytes32 p256X, bytes32 p256Y)`.
6271
+ * For an ECDSA slot pass the guardian address with `p256X=p256Y=0x0…0`; for a P-256 slot pass
6272
+ * {@link P256_GUARDIAN_SENTINEL} with the slot's stored `(x, y)`.
6273
+ */
6274
+ declare function opDataRemoveGuardian(nonce: bigint, index: number, guardianToRemove: Address, p256X: Hex, p256Y: Hex): Hex;
6275
+ /** `opData` for MODIFY_TIER_LIMITS: `abi.encode(uint256 nonce, uint256 tier1, uint256 tier2, uint256 deadline)`. */
6276
+ declare function opDataModifyTierLimits(nonce: bigint, tier1: bigint, tier2: bigint, deadline: bigint): Hex;
6277
+ interface OpChainCtx {
6278
+ chainId: number | bigint;
6279
+ account: Address;
6280
+ version?: number;
6281
+ }
6282
+ /** Challenge for `proposeRecoveryWithSig(newOwner, gIdx, sig)`. `nonce` = `getRecoveryNonce()`. */
6283
+ declare function buildProposeRecoveryChallenge(p: OpChainCtx & {
6284
+ nonce: bigint;
6285
+ newOwner: Address;
6286
+ }): Hex;
6287
+ /** Challenge for `approveRecoveryWithSig(gIdx, sig)`. `newOwner` = `activeRecovery().newOwner`. */
6288
+ declare function buildApproveRecoveryChallenge(p: OpChainCtx & {
6289
+ nonce: bigint;
6290
+ newOwner: Address;
6291
+ }): Hex;
6292
+ /** Challenge for `cancelRecoveryWithSig(gIdx, sig)`. `newOwner` = `activeRecovery().newOwner`. */
6293
+ declare function buildCancelRecoveryChallenge(p: OpChainCtx & {
6294
+ nonce: bigint;
6295
+ newOwner: Address;
6296
+ }): Hex;
6297
+ /** Challenge for `addP256GuardianWithMixedSigs(x, y, …)`. `nonce` = `_guardianAdditionNonce`. */
6298
+ declare function buildAddP256GuardianChallenge(p: OpChainCtx & {
6299
+ nonce: bigint;
6300
+ x: Hex;
6301
+ y: Hex;
6302
+ }): Hex;
6303
+ /** Challenge for `addGuardianWithMixedSigs(guardian, …)`. `nonce` = `_guardianAdditionNonce`. */
6304
+ declare function buildAddGuardianChallenge(p: OpChainCtx & {
6305
+ nonce: bigint;
6306
+ guardian: Address;
6307
+ }): Hex;
6308
+ /** Challenge for `removeGuardianWithMixedSigs(index, …)`. `nonce` = `_guardianRemovalNonce`. */
6309
+ declare function buildRemoveGuardianChallenge(p: OpChainCtx & {
6310
+ nonce: bigint;
6311
+ index: number;
6312
+ guardianToRemove: Address;
6313
+ p256X: Hex;
6314
+ p256Y: Hex;
6315
+ }): Hex;
6316
+ /** Challenge for `modifyTierLimitsWithMixedGuardians(tier1, tier2, deadline, …)`. `nonce` = `_tierLimitNonce`. */
6317
+ declare function buildModifyTierLimitsChallenge(p: OpChainCtx & {
6318
+ nonce: bigint;
6319
+ tier1: bigint;
6320
+ tier2: bigint;
6321
+ deadline: bigint;
6322
+ }): Hex;
6323
+ /** A signature scalar accepted as a 0x-hex (≤32 bytes), raw bytes, or bigint. */
6324
+ type ScalarLike = Hex | Uint8Array | bigint;
6325
+ /** Parameters for {@link encodeWebAuthnAssertion}. */
6326
+ interface EncodeWebAuthnAssertionParams {
6327
+ /** `authenticatorData` from the assertion: `rpIdHash(32) || flags(1) || signCount(4)` (≥37 bytes, UP set). */
6328
+ authenticatorData: Hex | Uint8Array;
6329
+ /**
6330
+ * The FULL `clientDataJSON` the authenticator signed. MUST start with
6331
+ * {@link WEBAUTHN_GET_CHALLENGE_PREFIX}, immediately followed by the 43-char base64url(challenge).
6332
+ * Split into prefix/suffix here; the contract rebuilds the challenge on-chain.
6333
+ */
6334
+ clientDataJSON: Hex | Uint8Array | string;
6335
+ /** ES256 signature `r` (32-byte scalar). */
6336
+ r: ScalarLike;
6337
+ /** ES256 signature `s` (32-byte scalar). Auto low-S normalised to satisfy the contract. */
6338
+ s: ScalarLike;
6339
+ }
6340
+ /**
6341
+ * ABI-encode a WebAuthn assertion into the on-chain `sig` the contract consumes:
6342
+ * `abi.encode(bytes authenticatorData, bytes clientDataJSONPrefix, bytes clientDataJSONSuffix,
6343
+ * bytes32 r, bytes32 s)`.
6344
+ *
6345
+ * Validates the assertion against every constraint the contract enforces so a bad blob fails here
6346
+ * (with a clear message) rather than as a generic on-chain revert:
6347
+ * - `authenticatorData.length >= 37` and the UP flag (`byte[32] & 0x01`) is set,
6348
+ * - `clientDataJSON` starts with the exact `webauthn.get` prefix and the 43-char challenge slot
6349
+ * is immediately followed by the closing `"` (so the contract's reconstruction lines up),
6350
+ * - `s` is low-S (`<= n/2`) — auto-normalised to `n - s` if the input was high-S (ECDSA-valid).
6351
+ */
6352
+ declare function encodeWebAuthnAssertion(params: EncodeWebAuthnAssertionParams): Hex;
6353
+ /** Decoded view of an on-chain P-256 guardian `sig` blob. */
6354
+ interface DecodedWebAuthnAssertion {
6355
+ authenticatorData: Hex;
6356
+ clientDataJSONPrefix: Hex;
6357
+ clientDataJSONSuffix: Hex;
6358
+ r: Hex;
6359
+ s: Hex;
6360
+ }
6361
+ /**
6362
+ * Inverse of {@link encodeWebAuthnAssertion} — decode an on-chain `sig` blob back into its parts.
6363
+ * Useful for evidence/decode-verification and debugging a rejected signature.
6364
+ */
6365
+ declare function decodeWebAuthnAssertion(sig: Hex): DecodedWebAuthnAssertion;
6366
+ declare function coseToP256XY(cosePublicKey: Hex | Uint8Array): {
6367
+ x: Hex;
6368
+ y: Hex;
6369
+ };
6370
+ /** Parameters for {@link signP256GuardianAssertion}. */
6371
+ interface SignP256GuardianAssertionParams {
6372
+ /** Raw 32-byte P-256 private scalar (hex or bytes). */
6373
+ privateKey: Hex | Uint8Array;
6374
+ /** The 32-byte operation challenge (from a `build*Challenge` helper). */
6375
+ challenge: Hex;
6376
+ /**
6377
+ * RP id whose SHA-256 becomes `rpIdHash`. The contract does NOT verify this (§9.5), so any value
6378
+ * works on-chain; defaults to a stable test RP. Set it to your real rpId for fidelity.
6379
+ */
6380
+ rpId?: string;
6381
+ /** `origin` embedded in `clientDataJSON` suffix (also not verified on-chain). */
6382
+ origin?: string;
6383
+ /** authenticatorData flags byte. Defaults to `0x05` (UP | UV); the contract only requires UP (bit 0). */
6384
+ flags?: number;
6385
+ /** authenticatorData signCount (4-byte big-endian). */
6386
+ signCount?: number;
6387
+ }
6388
+ /** Result of {@link signP256GuardianAssertion}. */
6389
+ interface SignedP256GuardianAssertion {
6390
+ /** The on-chain `sig` blob, ready for `proposeRecoveryWithSig` / mixed-sig calls. */
6391
+ sig: Hex;
6392
+ /** authenticatorData used (hex). */
6393
+ authenticatorData: Hex;
6394
+ /** Full clientDataJSON signed (hex). */
6395
+ clientDataJSON: Hex;
6396
+ /** Low-S–normalised signature `r` (bytes32 hex). */
6397
+ r: Hex;
6398
+ /** Low-S–normalised signature `s` (bytes32 hex). */
6399
+ s: Hex;
6400
+ }
6401
+ /**
6402
+ * Software P-256 authenticator — produces a FULL WebAuthn assertion over `challenge`, byte-for-byte
6403
+ * in the format `navigator.credentials.get()` returns (mirrors the contract's
6404
+ * `test/webauthn/gen_p256_assertion.mjs`). The only difference vs a hardware passkey is WHERE the
6405
+ * key lives. Use for the on-chain evidence E2E and for relaying software-held guardian keys.
6406
+ */
6407
+ declare function signP256GuardianAssertion(params: SignP256GuardianAssertionParams): SignedP256GuardianAssertion;
6408
+ /** Derive the uncompressed-SEC1 `(x, y)` of a P-256 private key (for `addP256Guardian`). */
6409
+ declare function p256GuardianPublicKey(privateKey: Hex | Uint8Array): {
6410
+ x: Hex;
6411
+ y: Hex;
6412
+ };
6413
+
6592
6414
  /**
6593
6415
  * Role constants and utilities for AAstar SDK
6594
6416
  * @dev All role hashes and configurations match exactly with Registry.sol v3.0.0
@@ -7045,4 +6867,4 @@ declare function resolveEnsVerified(name: string, options?: EnsOptions): Promise
7045
6867
  verified: boolean;
7046
6868
  }>;
7047
6869
 
7048
- export { AASTAR_COMMUNITY, AAStarAirAccountFactoryV7ABI, AAStarAirAccountFactoryV7Artifact, AAStarAirAccountV7ABI, AAStarAirAccountV7Artifact, AAStarBLSAggregatorABI, AAStarBLSAggregatorArtifact, AAStarBLSAlgorithmABI, AAStarBLSAlgorithmArtifact, AAStarValidatorABI, AAStarValidatorArtifact, AGENT_IDENTITY_REGISTRY_ADDRESS, AGENT_REPUTATION_REGISTRY_ADDRESS, ALL_ADDRESSES, ALL_ROLES, APNTS_ADDRESS, type AccountActions, type AccountBalance, type AccountFactoryActions, type AgentActions, AgentRegistryABI, type AgentRegistryActions, AgentRegistryArtifact, type AgentSponsorshipPolicy, type AggregatorActions, type AirAccountActions, AirAccountDelegateABI, AirAccountDelegateArtifact, AirAccountExtensionABI, type AirAccountExtensionActions, AirAccountExtensionArtifact, type AirAccountFactoryActions, type AssetPolicy, type AssetPolicyInput, AuthorizationState, BLSAggregatorABI, BLSAggregatorArtifact, type BLSAlgorithmActions, type BLSG1Point, BLSHelpers, BLSSigner, BLSValidatorABI, BLSValidatorArtifact, BLS_AGGREGATOR_ADDRESS, BLS_POP_DST, BLS_VALIDATOR_ADDRESS, BPS_DENOMINATOR, BRANDING, BREAD_COMMUNITY, type BalanceValidationParams, type BatchMintResult, BundlerClient, type BundlerResponse, CANONICAL_ADDRESSES, CHAIN_MAINNET, CHAIN_SEPOLIA, COMMUNITIES, COMMUNITY_OWNERS, CONTRACTS, CONTRACT_METADATA, CONTRACT_SRC_HASH, CORE_ADDRESSES, CalldataParserRegistryABI, CalldataParserRegistryArtifact, type CanonicalAddresses, type CheckResourcesOptions, type CommunityConfig, type CommunityProfile, type ContractCategory, ContractConfigManager, type ContractNetwork, type ContractScope, type ContractScopeInput, type ContractVersion, DEFAULT_ADMIN_ROLE, DEFAULT_APNTS_PRICE_USD, DEFAULT_CALL_GAS_LIMIT, DEFAULT_GAS_TOKEN_MINT_AMOUNT, DEFAULT_PRE_VERIFICATION_GAS, DEFAULT_TIMEOUT_MS, DEFAULT_TOKEN_NAME, DEFAULT_TOKEN_SYMBOL, DEFAULT_USDT_MINT_AMOUNT, DEFAULT_VERIFICATION_GAS_LIMIT, type DVTAccountSignatureParams, type DVTActions, type DVTTier, DVTValidatorABI, DVTValidatorArtifact, DVT_TIER_T2, DVT_TIER_T3, DVT_VALIDATOR_ADDRESS, type DeploymentValidationParams, type DryRunValidationResult, ENTRY_POINT_ADDRESS, type ERC20Actions, type EnsOptions, EntryPointABI, type EntryPointActions, EntryPointArtifact, EntryPointVersion, FAUCET_API_URL, type FaucetConfig, type FaucetPreparationResult, type ForceExitActions, ForceExitModuleABI, ForceExitModuleArtifact, GTOKEN_ADDRESS, GTOKEN_STAKING_ADDRESS, GTokenABI, type GTokenActions, GTokenArtifact, GTokenAuthorizationABI, type GTokenAuthorizationActions, GTokenAuthorizationArtifact, GTokenStakingABI, GTokenStakingArtifact, type HashToFieldU0U1, type HeliosTransportConfig, INITIAL_ROLE_STAKES, type InitConfig, LINKS, MAX_SERVICE_FEE, MICRO_PAYMENT_CHANNEL_ADDRESS, MONITORING_ADDRESSES, MicroPaymentChannelABI, MicroPaymentChannelArtifact, MySBTABI, MySBTArtifact, NETWORKS, NODE_STAKE_AMOUNTS, type NetworkContracts, NodeType, OFFICIAL_ADDRESSES, type OperatorConfig, type OperatorMode, type P256SessionState, PAYMASTER_ADDRESSES, PAYMASTER_FACTORY_ADDRESS, PAYMASTER_V4_ADDRESS, PAYMASTER_V4_IMPL_ADDRESS, type PackedUserOperation, PaymasterABI, type PaymasterActions, PaymasterArtifact, PaymasterFactoryABI, type PaymasterFactoryActions, PaymasterFactoryArtifact, type PendingExit, type PendingModuleInstall, PolicyDecision, PolicyRegistryABI, type PolicyRegistryActions, PolicyRegistryArtifact, PublicClient, REGISTRY_ADDRESS, REPUTATION_SYSTEM_ADDRESS, ROLE_ANODE, ROLE_COMMUNITY, ROLE_DVT, ROLE_ENDUSER, ROLE_KMS, ROLE_NAMES, ROLE_PAYMASTER_AOA, ROLE_PAYMASTER_SUPER, ROLE_PERMISSION_LEVELS, RegistryABI, type RegistryActions, RegistryArtifact, type ReputationActions, type ReputationBreakdown, type ReputationRule, ReputationSystemABI, ReputationSystemArtifact, RequirementChecker, type ResolvedAPNTsToken, type ResourceBoolCheck, type ResourceReport, type ResourceStakeCheck, type RoleConfig, type RoleConfigDetailed, RolePermissionLevel, type RoleRequirement, type RoleValidationParams, type SBTActions, type SBTData, type SBTMembership, SBT_ADDRESS, SEPOLIA_CONTRACTS, SEPOLIA_V2_VERSIONS, SERVICE_FEE_RATE, SUPER_PAYMASTER_ADDRESS, SepoliaFaucetAPI, type SessionConfig, SessionKeyValidatorABI, type SessionKeyValidatorActions, SessionKeyValidatorArtifact, SimpleAccountABI, SimpleAccountArtifact, SimpleAccountFactoryABI, SimpleAccountFactoryArtifact, type SlashRecord, type SpendCounter, type StakingActions, StateValidator, SuperPaymasterABI, type SuperPaymasterActions, SuperPaymasterArtifact, type SuperPaymasterConfig, type SupportedChainId, type SupportedNetwork, TEST_ACCOUNT_ADDRESSES, TEST_ACCOUNT_POOL_SIZE, TEST_COMMUNITIES, TEST_TOKEN_ADDRESSES, TOKEN_ADDRESSES, type TokenActions, type TokenBalanceValidationParams, type TokenConfig, type UserOperationV07, V2_SUMMARY, type ValidationParams, type ValidationResult, type X402Actions, X402FacilitatorABI, X402FacilitatorArtifact, XPNTS_FACTORY_ADDRESS, type XPNTsFactoryActions, type XPNTsTokenActions, accountActions, accountFactoryActions, agentActions, agentRegistryActions, aggregatorActions, airAccountActions, airAccountExtensionActions, airAccountFactoryActions, applyConfig, blsAlgorithmActions, createAAStarPublicClient, createHeliosTransport, describeSupportedChains, dvtActions, encodeDVTAccountSignature, encodeDVTVerifierProof, encodeG2Point, entryPointActions, forceExitActions, gTokenActions, gTokenAuthorizationActions, getAddressUrl, getAllCommunityConfigs, getAllV2Contracts, getBlockExplorer, getCanonicalAddresses, getChainId, getCommunities, getCommunity, getCommunityConfig, getContract, getContractNetworks, getContracts, getCoreContracts, getDeploymentDate, getEntryPoint, getNetwork, getPaymasterV4_1, getRoleName, getRpcUrl, getSimpleAccountFactory, getSuperPaymasterV2, getTestAccounts, getTestTokenContracts, getTokenContracts, getTxUrl, getV2ContractByAddress, getV2ContractByName, getV2ContractsByDate, hashToFieldU0U1, isContractNetworkSupported, isRegisteredCommunity, isSupportedChainId, isV2Contract, listSupportedChainIds, lookupAddress, paymasterActions, paymasterFactoryActions, policyRegistryActions, registryActions, reputationActions, resolveEns, resolveEnsVerified, sbtActions, sessionKeyValidatorActions, stakingActions, superPaymasterActions, tokenActions, x402Actions, x402IsNonceUsed, x402NonceKey, xPNTsFactoryABI, xPNTsFactoryActions, xPNTsFactoryArtifact, xPNTsTokenABI, xPNTsTokenActions, xPNTsTokenArtifact };
6870
+ export { AASTAR_COMMUNITY, AAStarAirAccountFactoryV7ABI, AAStarAirAccountFactoryV7Artifact, AAStarAirAccountV7ABI, AAStarAirAccountV7Artifact, AAStarBLSAggregatorABI, AAStarBLSAggregatorArtifact, AAStarBLSAlgorithmABI, AAStarBLSAlgorithmArtifact, AAStarValidatorABI, AAStarValidatorArtifact, AGENT_IDENTITY_REGISTRY_ADDRESS, AGENT_REPUTATION_REGISTRY_ADDRESS, ALL_ADDRESSES, ALL_ROLES, APNTS_ADDRESS, type AccountActions, type AccountBalance, type AccountFactoryActions, type AgentActions, AgentRegistryABI, type AgentRegistryActions, AgentRegistryArtifact, type AgentSponsorshipPolicy, type AggregatorActions, AirAccountDelegateABI, AirAccountDelegateArtifact, AirAccountExtensionABI, type AirAccountExtensionActions, AirAccountExtensionArtifact, type AirAccountFactoryActions, type AssetPolicy, type AssetPolicyInput, AuthorizationState, BLSAggregatorABI, BLSAggregatorArtifact, type BLSAlgorithmActions, type BLSG1Point, BLSHelpers, BLSSigner, BLSValidatorABI, BLSValidatorArtifact, BLS_AGGREGATOR_ADDRESS, BLS_POP_DST, BLS_VALIDATOR_ADDRESS, BPS_DENOMINATOR, BRANDING, BREAD_COMMUNITY, type BalanceValidationParams, type BatchMintResult, type BuildP256GuardianChallengeParams, BundlerClient, type BundlerResponse, CANONICAL_ADDRESSES, CHAIN_MAINNET, CHAIN_SEPOLIA, COMMUNITIES, COMMUNITY_OWNERS, CONTRACTS, CONTRACT_METADATA, CONTRACT_SRC_HASH, CORE_ADDRESSES, CalldataParserRegistryABI, CalldataParserRegistryArtifact, type CanonicalAddresses, type CheckResourcesOptions, type CommunityConfig, type CommunityProfile, type ContractCategory, ContractConfigManager, type ContractNetwork, type ContractScope, type ContractScopeInput, type ContractVersion, DEFAULT_ADMIN_ROLE, DEFAULT_APNTS_PRICE_USD, DEFAULT_CALL_GAS_LIMIT, DEFAULT_GAS_TOKEN_MINT_AMOUNT, DEFAULT_PRE_VERIFICATION_GAS, DEFAULT_TIMEOUT_MS, DEFAULT_TOKEN_NAME, DEFAULT_TOKEN_SYMBOL, DEFAULT_USDT_MINT_AMOUNT, DEFAULT_VERIFICATION_GAS_LIMIT, type DVTAccountSignatureParams, type DVTActions, type DVTTier, DVTValidatorABI, DVTValidatorArtifact, DVT_TIER_T2, DVT_TIER_T3, DVT_VALIDATOR_ADDRESS, type DecodedWebAuthnAssertion, type DeploymentValidationParams, ENTRY_POINT_ADDRESS, type ERC20Actions, type EncodeWebAuthnAssertionParams, type EnsOptions, EntryPointABI, type EntryPointActions, EntryPointArtifact, EntryPointVersion, FAUCET_API_URL, type FaucetConfig, type FaucetPreparationResult, type ForceExitActions, ForceExitModuleABI, ForceExitModuleArtifact, GTOKEN_ADDRESS, GTOKEN_STAKING_ADDRESS, GTokenABI, type GTokenActions, GTokenArtifact, GTokenAuthorizationABI, type GTokenAuthorizationActions, GTokenAuthorizationArtifact, GTokenStakingABI, GTokenStakingArtifact, GUARDIAN_ADDITION_NONCE_SLOT, GUARDIAN_REMOVAL_NONCE_SLOT, GUARDIAN_SIG_VERSION, type GuardianOpLabel, type HashToFieldU0U1, type HeliosTransportConfig, INITIAL_ROLE_STAKES, InitConfig, LINKS, MAX_GUARDIAN_SLOT, MAX_SERVICE_FEE, MICRO_PAYMENT_CHANNEL_ADDRESS, MONITORING_ADDRESSES, MicroPaymentChannelABI, MicroPaymentChannelArtifact, MySBTABI, MySBTArtifact, NETWORKS, NODE_STAKE_AMOUNTS, type NetworkContracts, NodeType, OFFICIAL_ADDRESSES, type OperatorMode, type P256SessionState, P256_GUARDIAN_DOMAIN, P256_GUARDIAN_SENTINEL, PAYMASTER_ADDRESSES, PAYMASTER_FACTORY_ADDRESS, PAYMASTER_V4_ADDRESS, PAYMASTER_V4_IMPL_ADDRESS, PaymasterABI, type PaymasterActions, PaymasterArtifact, PaymasterFactoryABI, type PaymasterFactoryActions, PaymasterFactoryArtifact, type PendingExit, PolicyDecision, PolicyRegistryABI, type PolicyRegistryActions, PolicyRegistryArtifact, PublicClient, RECOVERY_NONCE_SLOT, REGISTRY_ADDRESS, REPUTATION_SYSTEM_ADDRESS, ROLE_ANODE, ROLE_COMMUNITY, ROLE_DVT, ROLE_ENDUSER, ROLE_KMS, ROLE_NAMES, ROLE_PAYMASTER_AOA, ROLE_PAYMASTER_SUPER, ROLE_PERMISSION_LEVELS, RegistryABI, type RegistryActions, RegistryArtifact, type ReputationActions, type ReputationBreakdown, type ReputationRule, ReputationSystemABI, ReputationSystemArtifact, RequirementChecker, type ResourceBoolCheck, type ResourceReport, type ResourceStakeCheck, type RoleConfig, type RoleConfigDetailed, RolePermissionLevel, type RoleRequirement, type RoleValidationParams, type SBTActions, type SBTData, type SBTMembership, SBT_ADDRESS, SECP256R1_N, SECP256R1_N_OVER_2, SEPOLIA_CONTRACTS, SEPOLIA_V2_VERSIONS, SERVICE_FEE_RATE, SUPER_PAYMASTER_ADDRESS, type ScalarLike, SepoliaFaucetAPI, type SessionConfig, SessionKeyValidatorABI, type SessionKeyValidatorActions, SessionKeyValidatorArtifact, type SignP256GuardianAssertionParams, type SignedP256GuardianAssertion, SimpleAccountABI, SimpleAccountArtifact, SimpleAccountFactoryABI, SimpleAccountFactoryArtifact, type SpendCounter, type StakingActions, StateValidator, SuperPaymasterABI, SuperPaymasterArtifact, type SuperPaymasterConfig, type SupportedChainId, type SupportedNetwork, TEST_ACCOUNT_ADDRESSES, TEST_ACCOUNT_POOL_SIZE, TEST_COMMUNITIES, TEST_TOKEN_ADDRESSES, TIER_LIMIT_NONCE_SLOT, TOKEN_ADDRESSES, type TokenActions, type TokenBalanceValidationParams, type UserOperationV07, V2_SUMMARY, type ValidationParams, type ValidationResult, WEBAUTHN_GET_CHALLENGE_PREFIX, type X402Actions, X402FacilitatorABI, X402FacilitatorArtifact, XPNTS_FACTORY_ADDRESS, type XPNTsFactoryActions, type XPNTsTokenActions, accountActions, accountFactoryActions, agentActions, agentRegistryActions, aggregatorActions, airAccountExtensionActions, airAccountFactoryActions, applyConfig, base64UrlEncode, blsAlgorithmActions, buildAddGuardianChallenge, buildAddP256GuardianChallenge, buildApproveRecoveryChallenge, buildCancelRecoveryChallenge, buildModifyTierLimitsChallenge, buildP256GuardianChallenge, buildProposeRecoveryChallenge, buildRemoveGuardianChallenge, coseToP256XY, createAAStarPublicClient, createHeliosTransport, decodeWebAuthnAssertion, describeSupportedChains, dvtActions, encodeDVTAccountSignature, encodeDVTVerifierProof, encodeG2Point, encodeWebAuthnAssertion, entryPointActions, forceExitActions, gTokenActions, gTokenAuthorizationActions, getAddressUrl, getAllCommunityConfigs, getAllV2Contracts, getBlockExplorer, getCanonicalAddresses, getChainId, getCommunities, getCommunity, getCommunityConfig, getContract, getContractNetworks, getContracts, getCoreContracts, getDeploymentDate, getEntryPoint, getNetwork, getPaymasterV4_1, getRoleName, getRpcUrl, getSimpleAccountFactory, getSuperPaymasterV2, getTestAccounts, getTestTokenContracts, getTokenContracts, getTxUrl, getV2ContractByAddress, getV2ContractByName, getV2ContractsByDate, hashToFieldU0U1, isContractNetworkSupported, isRegisteredCommunity, isSupportedChainId, isV2Contract, listSupportedChainIds, lookupAddress, opDataAddGuardian, opDataAddP256Guardian, opDataModifyTierLimits, opDataRecovery, opDataRemoveGuardian, p256GuardianPublicKey, paymasterActions, paymasterFactoryActions, policyRegistryActions, registryActions, reputationActions, resolveEns, resolveEnsVerified, sbtActions, sessionKeyValidatorActions, signP256GuardianAssertion, stakingActions, tokenActions, x402Actions, x402IsNonceUsed, x402NonceKey, xPNTsFactoryABI, xPNTsFactoryActions, xPNTsFactoryArtifact, xPNTsTokenABI, xPNTsTokenActions, xPNTsTokenArtifact };