@wowok/wowok 2.3.6 → 2.3.8

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 (140) hide show
  1. package/dist/esm/Transaction-B_HAG_T7.mjs +1 -0
  2. package/dist/esm/arb-B7NNAqML.mjs +1 -0
  3. package/dist/esm/base-5DoRlfD_.mjs +1 -0
  4. package/dist/esm/bcs/index.d.mts +1 -1
  5. package/dist/esm/call-DZtG6l2x.mjs +1 -0
  6. package/dist/esm/client/index.d.mts +1 -1
  7. package/dist/esm/client/index.mjs +1 -1
  8. package/dist/esm/{client-DQgiytaX.mjs → client-YYCgsO99.mjs} +1 -1
  9. package/dist/esm/common-CQggZ8z4.mjs +1 -0
  10. package/dist/esm/cryptography/index.d.mts +1 -1
  11. package/dist/esm/evm-account-Dppw7HJc.d.mts +233 -0
  12. package/dist/esm/exception--UEPnygY.mjs +1 -0
  13. package/dist/esm/falcon512-B4y-EH2f.mjs +1 -1
  14. package/dist/esm/faucet/index.mjs +1 -1
  15. package/dist/esm/graphql/index.d.mts +1 -1
  16. package/dist/esm/graphql/index.mjs +1 -1
  17. package/dist/esm/{graphql-VjRsBYDR.mjs → graphql-D2Rx6H0h.mjs} +1 -1
  18. package/dist/esm/grpc/index.d.mts +1 -1
  19. package/dist/esm/grpc/index.mjs +1 -1
  20. package/dist/esm/{grpc-3W7t1ABm.mjs → grpc-BYkFJ8ot.mjs} +1 -1
  21. package/dist/esm/{index-0oufp-hy.d.mts → index-BB7rqcJ9.d.mts} +1269 -10
  22. package/dist/esm/{index-B-cxGU73.d.mts → index-o_aMVwsK.d.mts} +6 -6
  23. package/dist/esm/index.d.mts +6 -3
  24. package/dist/esm/index.mjs +1 -1
  25. package/dist/esm/jsonRpc/index.d.mts +1 -1
  26. package/dist/esm/jsonRpc/index.mjs +1 -1
  27. package/dist/esm/keypair-1v1DkI3F.mjs +1 -1
  28. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  29. package/dist/esm/keypairs/ed25519/index.mjs +1 -1
  30. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  31. package/dist/esm/keypairs/falcon512/index.mjs +1 -1
  32. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  33. package/dist/esm/keypairs/passkey/index.mjs +1 -1
  34. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  35. package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
  36. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  37. package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
  38. package/dist/esm/messenger-api-DsV5ffz-.mjs +1 -0
  39. package/dist/esm/{messenger-TAmGUke8.mjs → messenger-b7VI27mY.mjs} +1 -1
  40. package/dist/esm/multisig/index.d.mts +1 -1
  41. package/dist/esm/network-CeDd07Hg.mjs +1 -0
  42. package/dist/esm/networks-CEYOA-1U.d.mts +219 -0
  43. package/dist/esm/object-ZwHVe_Xm.mjs +1 -0
  44. package/dist/esm/passkey-D0XCtEYg.mjs +1 -0
  45. package/dist/esm/proof-DU8afdtW.mjs +1 -0
  46. package/dist/esm/received-g0FdzsRW.mjs +1 -0
  47. package/dist/esm/rlp-Do3rPWRV.d.mts +59 -0
  48. package/dist/esm/{secp256k1-BZUdTK1D.mjs → secp256k1-B-8mI0dI.mjs} +1 -1
  49. package/dist/esm/{secp256r1-COXOSFIF.mjs → secp256r1-B3O6jSlP.mjs} +1 -1
  50. package/dist/esm/service-BP_-4e1d.mjs +1 -0
  51. package/dist/esm/storage-0TLziZMp.d.mts +62 -0
  52. package/dist/esm/transactions/index.d.mts +1 -1
  53. package/dist/esm/transactions/index.mjs +1 -1
  54. package/dist/esm/{transactions-CDWnTSTU.mjs → transactions-rYyItYOR.mjs} +1 -1
  55. package/dist/esm/util-BUonvpyz.mjs +1 -0
  56. package/dist/esm/verify/index.d.mts +1 -1
  57. package/dist/esm/w/call/allocation.d.mts +1 -1
  58. package/dist/esm/w/call/allocation.mjs +1 -1
  59. package/dist/esm/w/call/arbitration.d.mts +1 -1
  60. package/dist/esm/w/call/arbitration.mjs +1 -1
  61. package/dist/esm/w/call/base.d.mts +1 -1
  62. package/dist/esm/w/call/base.mjs +1 -1
  63. package/dist/esm/w/call/demand.d.mts +1 -1
  64. package/dist/esm/w/call/demand.mjs +1 -1
  65. package/dist/esm/w/call/guard.d.mts +1 -1
  66. package/dist/esm/w/call/guard.mjs +1 -1
  67. package/dist/esm/w/call/index.d.mts +1 -1
  68. package/dist/esm/w/call/index.mjs +1 -1
  69. package/dist/esm/w/call/machine.d.mts +1 -1
  70. package/dist/esm/w/call/machine.mjs +1 -1
  71. package/dist/esm/w/call/passport.d.mts +1 -1
  72. package/dist/esm/w/call/passport.mjs +1 -1
  73. package/dist/esm/w/call/payment.d.mts +1 -1
  74. package/dist/esm/w/call/payment.mjs +1 -1
  75. package/dist/esm/w/call/permission.d.mts +1 -1
  76. package/dist/esm/w/call/permission.mjs +1 -1
  77. package/dist/esm/w/call/progress.d.mts +1 -1
  78. package/dist/esm/w/call/progress.mjs +1 -1
  79. package/dist/esm/w/call/repository.d.mts +1 -1
  80. package/dist/esm/w/call/repository.mjs +1 -1
  81. package/dist/esm/w/call/reward.d.mts +1 -1
  82. package/dist/esm/w/call/reward.mjs +1 -1
  83. package/dist/esm/w/call/service.d.mts +1 -1
  84. package/dist/esm/w/call/service.mjs +1 -1
  85. package/dist/esm/w/call/treasury.d.mts +1 -1
  86. package/dist/esm/w/call/treasury.mjs +1 -1
  87. package/dist/esm/w/common.d.mts +1 -1
  88. package/dist/esm/w/common.mjs +1 -1
  89. package/dist/esm/w/index.d.mts +5 -2
  90. package/dist/esm/w/index.mjs +1 -1
  91. package/dist/esm/w/local/account.d.mts +1 -1
  92. package/dist/esm/w/local/account.mjs +1 -1
  93. package/dist/esm/w/local/config.mjs +1 -1
  94. package/dist/esm/w/local/evm/networks.d.mts +2 -0
  95. package/dist/esm/w/local/evm/networks.mjs +1 -0
  96. package/dist/esm/w/local/evm/rlp.d.mts +2 -0
  97. package/dist/esm/w/local/evm/rlp.mjs +1 -0
  98. package/dist/esm/w/local/evm-account.d.mts +3 -0
  99. package/dist/esm/w/local/evm-account.mjs +1 -0
  100. package/dist/esm/w/local/index.d.mts +5 -2
  101. package/dist/esm/w/local/index.mjs +1 -1
  102. package/dist/esm/w/local/local.mjs +1 -1
  103. package/dist/esm/w/local/storage.d.mts +1 -52
  104. package/dist/esm/w/local/storage.mjs +1 -1
  105. package/dist/esm/w/local/token.d.mts +1 -1
  106. package/dist/esm/w/local/token.mjs +1 -1
  107. package/dist/esm/w/local/util.mjs +1 -1
  108. package/dist/esm/w/local/wip.mjs +1 -1
  109. package/dist/esm/w/messenger/index.d.mts +1 -1
  110. package/dist/esm/w/messenger/index.mjs +1 -1
  111. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  112. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  113. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  114. package/dist/esm/w/messenger/messenger.mjs +1 -1
  115. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  116. package/dist/esm/w/messenger/pq/erasure.mjs +1 -1
  117. package/dist/esm/w/messenger/storage.d.mts +1 -1
  118. package/dist/esm/w/messenger/storage.mjs +1 -1
  119. package/dist/esm/w/messenger/types.d.mts +1 -1
  120. package/dist/esm/w/messenger/types.mjs +1 -1
  121. package/dist/esm/w/query/index.d.mts +1 -1
  122. package/dist/esm/w/query/index.mjs +1 -1
  123. package/dist/esm/w/query/object.d.mts +1 -1
  124. package/dist/esm/w/query/object.mjs +1 -1
  125. package/dist/esm/w-DCO00HIj.mjs +1 -0
  126. package/package.json +10 -1
  127. package/dist/esm/Transaction-YosVjNZA.mjs +0 -1
  128. package/dist/esm/arb-2owO8QCe.mjs +0 -1
  129. package/dist/esm/base-CqJOIkV0.mjs +0 -1
  130. package/dist/esm/call-dSiG7mGI.mjs +0 -1
  131. package/dist/esm/common-fDv-Cuzq.mjs +0 -1
  132. package/dist/esm/local-c-Tbdkfa.mjs +0 -1
  133. package/dist/esm/messenger-api-DsaZHAwH.mjs +0 -1
  134. package/dist/esm/network-BAF8qD1u.mjs +0 -1
  135. package/dist/esm/object-DanBjfag.mjs +0 -1
  136. package/dist/esm/passkey-Dh6btBAD.mjs +0 -1
  137. package/dist/esm/proof-BcgqR0Iw.mjs +0 -1
  138. package/dist/esm/received-D05WgVPr.mjs +0 -1
  139. package/dist/esm/service-CYep3EO9.mjs +0 -1
  140. package/dist/esm/util-CcMp5dot.mjs +0 -1
@@ -0,0 +1,219 @@
1
+ //#region src/w/local/evm/networks.d.ts
2
+ /**
3
+ * 单条 EVM 链的完整网络配置
4
+ *
5
+ * 一条链 = 一个 EvmNetworkConfig。
6
+ * ETH 主网、未来 Arbitrum/Optimism/Base 等 L2 或 EVM 兼容链各自一份配置。
7
+ * 本 SDK 不支持测试网(如 Sepolia / Holesky);如需测试请使用主网或 L2。
8
+ */
9
+ interface EvmNetworkConfig {
10
+ /** 网络别名(小写),如 "mainnet" / "arbitrum" / "optimism" / "base" */
11
+ name: string;
12
+ /** EVM chainId(用于交易签名) */
13
+ chainId: number;
14
+ /** RPC URL 列表(顺序尝试,第一个为主,其余备用故障转移) */
15
+ rpcUrls: string[];
16
+ /** 区块浏览器 URL(可选,用于查询交易) */
17
+ explorerUrl?: string;
18
+ /** 交易确认所需区块数(默认 1;L2 通常 1 即可) */
19
+ confirmations?: number;
20
+ /** 是否强制使用 Legacy 交易(某些 L2 或 EVM 兼容链不支持 EIP-1559) */
21
+ useLegacy?: boolean;
22
+ /** gas limit 估算倍数(默认 1.2,留余量) */
23
+ gasLimitMultiplier?: number;
24
+ /** maxPriorityFeePerGas 下限(wei,防止估算为 0) */
25
+ minPriorityFee?: bigint;
26
+ /** 单次 RPC 请求超时(ms) */
27
+ rpcTimeoutMs?: number;
28
+ /** 等待交易确认总超时(ms) */
29
+ txConfirmTimeoutMs?: number;
30
+ /** 轮询交易回执间隔(ms) */
31
+ pollIntervalMs?: number;
32
+ }
33
+ /**
34
+ * ETH 主网默认配置
35
+ *
36
+ * 默认配置 10 个免费公共 RPC,按顺序尝试,主 RPC 失败自动故障转移到备用。
37
+ * 公共 RPC 易触发 429 限流,建议通过 `EvmNetworkRegistry.Instance().addRpc(...)`
38
+ * 或 `setRpcs(...)` 追加 / 替换为付费 RPC(Alchemy/Infura/自建节点)以提升稳定性。
39
+ *
40
+ * 健康状态过期:被标记为不可用的 RPC 在 5 分钟后自动重新加入轮询池
41
+ * (见 `EvmNetworkRegistry.DEFAULT_UNHEALTHY_RETRY_MS`)。
42
+ */
43
+ declare const ETH_MAINNET: EvmNetworkConfig;
44
+ /**
45
+ * L2 / EVM 兼容链预留配置模板(当前不启用,仅占位)
46
+ * 启用时取消注释并注册到 Registry。
47
+ *
48
+ * 说明:本 SDK 不支持 EVM 测试网(如 Sepolia / Holesky)。
49
+ * 未来扩展方向为 Arbitrum / Optimism / Base 等 L2 主网。
50
+ */
51
+ /**
52
+ * EVM 网络注册表
53
+ *
54
+ * 使用方式:
55
+ * const registry = EvmNetworkRegistry.Instance();
56
+ * registry.register(ETH_MAINNET);
57
+ * registry.setDefault("mainnet");
58
+ * const net = await registry.resolve("mainnet"); // 或 1(chainId)
59
+ * const net = await registry.resolve(); // 默认网络
60
+ *
61
+ * 智能维护:
62
+ * - RPC 故障转移:主 RPC 失败自动切换备用
63
+ * - chainId 缓存:避免重复 RPC 调用
64
+ * - 健康检查:ping RPC 确认可用性
65
+ */
66
+ declare class EvmNetworkRegistry {
67
+ private static _instance;
68
+ /**
69
+ * 默认 RPC 不可用重试窗口:5 分钟。
70
+ *
71
+ * 公共 RPC 429 限流通常在分钟级别恢复,5 分钟保证既不会被永久剔除,
72
+ * 也不会反复重试坏节点。可通过 `markUnhealthy(url, customMs)` 覆盖。
73
+ */
74
+ static readonly DEFAULT_UNHEALTHY_RETRY_MS: number;
75
+ /** 按 chainId 索引 */
76
+ private byChainId;
77
+ /** 按小写 name 索引 */
78
+ private byName;
79
+ /** 默认网络 chainId */
80
+ private defaultChainId;
81
+ /** chainId 缓存(RPC 返回的真实 chainId,避免重复查询) */
82
+ private chainIdCache;
83
+ /** RPC 故障转移状态:url → 下次重试时间 */
84
+ unhealthyRpc: Map<string, number>;
85
+ /**
86
+ * RPC 失败计数器:url → 累计失败次数。
87
+ *
88
+ * 用于"垃圾 RPC 反复复位"问题:失败次数越多,恢复时间越长,排序越靠后。
89
+ * 成功调用一次清零(见 markHealthy)。
90
+ *
91
+ * 恢复时间策略(指数退避):
92
+ * 1 次 = 5 分钟
93
+ * 2 次 = 15 分钟
94
+ * 3 次 = 30 分钟
95
+ * 4+ 次 = 60 分钟(上限)
96
+ */
97
+ unhealthyCounter: Map<string, number>;
98
+ /** Persistence: evm_network_rpcs table in account.db (shared with evm-account) */
99
+ private _persistStore;
100
+ private constructor();
101
+ static Instance(): EvmNetworkRegistry;
102
+ /** 注册或覆盖一条网络配置 */
103
+ register(config: EvmNetworkConfig): void;
104
+ /** 注销一条网络 */
105
+ unregister(chainIdOrName: number | string): void;
106
+ /** 设置默认网络 */
107
+ setDefault(chainIdOrName: number | string): void;
108
+ /** 直接获取配置(不触发 RPC) */
109
+ get(chainIdOrName?: number | string): EvmNetworkConfig | undefined;
110
+ /** 列出所有已注册网络 */
111
+ list(): EvmNetworkConfig[];
112
+ /** 获取默认网络(必须存在) */
113
+ getDefault(): EvmNetworkConfig;
114
+ /**
115
+ * 解析网络配置:
116
+ * 1. 若传入 chainId/name 直接命中注册表,返回
117
+ * 2. 若传入 rpcUrl,从缓存查 chainId 或现场查询
118
+ *
119
+ * @param network chainId | name | rpcUrl | undefined(用默认)
120
+ */
121
+ resolve(network?: number | string): Promise<EvmNetworkConfig>;
122
+ /**
123
+ * 选出当前可用的 RPC URL(跳过被标记为不可用的)
124
+ *
125
+ * 改进:按"健康度"排序,失败次数少的优先。
126
+ * 即使所有 RPC 都"过期可重试",也会优先选择历史记录好的。
127
+ */
128
+ pickHealthyRpc(cfg: EvmNetworkConfig): string;
129
+ /**
130
+ * 标记 RPC 不可用。
131
+ *
132
+ * 改进:使用指数退避,失败次数越多,恢复时间越长。
133
+ * 这样"垃圾 RPC"反复失败后会被自动降级,不会反复复位影响体验。
134
+ *
135
+ * 恢复时间策略:
136
+ * 1 次 = 5 分钟
137
+ * 2 次 = 15 分钟
138
+ * 3 次 = 30 分钟
139
+ * 4+ 次 = 60 分钟(上限)
140
+ */
141
+ markUnhealthy(url: string, retryAfterMs?: number): void;
142
+ /** 标记 RPC 恢复健康(成功调用一次后清零计数) */
143
+ markHealthy(url: string): void;
144
+ /** 查询某个 RPC 当前是否被标记为不可用 */
145
+ isUnhealthy(url: string): boolean;
146
+ /** 查询某条链上所有 RPC 的健康状态(用于 AI / 用户管理 RPC) */
147
+ listRpcStatus(chainIdOrName?: number | string): Array<{
148
+ url: string;
149
+ healthy: boolean;
150
+ retryInMs?: number;
151
+ failCount: number;
152
+ }>;
153
+ /**
154
+ * 给指定链追加一个 RPC(去重,已存在则忽略)
155
+ *
156
+ * 用于 AI / 用户动态管理 RPC 端点:
157
+ * registry.addRpc("mainnet", "https://my-private-rpc.example.com")
158
+ */
159
+ addRpc(chainIdOrName: number | string, rpcUrl: string): boolean;
160
+ /**
161
+ * 从指定链移除一个 RPC
162
+ *
163
+ * 注意:不应移除链上最后一个 RPC,否则将无法发起任何请求。
164
+ */
165
+ removeRpc(chainIdOrName: number | string, rpcUrl: string): boolean;
166
+ /**
167
+ * 完全替换指定链的 RPC 列表
168
+ *
169
+ * 用于 AI / 用户批量替换 RPC(如全部切换到付费节点)。
170
+ * 必须至少传入一个 RPC。
171
+ */
172
+ setRpcs(chainIdOrName: number | string, rpcUrls: string[]): boolean;
173
+ /** 健康检查(ping RPC 节点) */
174
+ ping(url: string, timeoutMs?: number): Promise<boolean>;
175
+ /** 通过 RPC 查询 chainId(带缓存) */
176
+ queryChainIdFromRpc(rpcUrl: string): Promise<number>;
177
+ /** 清空 chainId 缓存(切换节点后调用) */
178
+ clearChainIdCache(): void;
179
+ /**
180
+ * Lazy init: use SQLiteAccountStorage with table "evm_network_rpcs" in account.db.
181
+ * Same database file as evm-account.ts, but isolated table.
182
+ * Data format: single JSON row — { "<chainId>": ["url1", "url2", ...], ... }
183
+ */
184
+ private _getPersistStore;
185
+ /** Save all chains' RPC URLs as a single JSON blob */
186
+ private _saveAllRpcs;
187
+ /** Load all chains' RPC overrides from account.db, applied on top of defaults */
188
+ private _loadAllRpcs;
189
+ /**
190
+ * Batch add RPC URLs to a chain. Duplicates are silently ignored.
191
+ * Returns the number of URLs actually added.
192
+ */
193
+ addRpcs(chainIdOrName: number | string, rpcUrls: string[]): number;
194
+ /**
195
+ * Batch remove RPC URLs from a chain.
196
+ * At least one RPC must remain. Silently skips URLs not found.
197
+ * Returns the number of URLs actually removed.
198
+ */
199
+ removeRpcs(chainIdOrName: number | string, rpcUrls: string[]): number;
200
+ private buildTempConfig;
201
+ }
202
+ /**
203
+ * BridgeConfig 中的 EvmChainConfig 与 Registry 的 EvmNetworkConfig 字段不完全相同:
204
+ * - EvmChainConfig 含 bridge 合约地址(bridge 专用)
205
+ * - EvmNetworkConfig 含 gas/explorer/超时等通用参数(账户操作通用)
206
+ *
207
+ * 这里提供一个桥接函数:把 BridgeConfig 中的 Evm 链注册到 Registry,
208
+ * 这样后续 EvmAccount 操作时通过 chainId 即可自动找到对应 RPC。
209
+ */
210
+ declare function registerBridgeEvmNetworks(params: {
211
+ /** EVM 链配置(含 chainId、rpcUrl、bridge 合约地址) */evmChain: {
212
+ chainId: number;
213
+ rpcUrl: string;
214
+ }; /** 网络别名(可选,默认用 "chain-<chainId>") */
215
+ name?: string; /** 是否设为默认网络 */
216
+ setAsDefault?: boolean;
217
+ }): EvmNetworkConfig;
218
+ //#endregion
219
+ export { registerBridgeEvmNetworks as i, EvmNetworkConfig as n, EvmNetworkRegistry as r, ETH_MAINNET as t };