@wowok/agent-mcp 2.3.7 → 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.
- package/dist/index.d.ts +1 -15838
- package/dist/index.js +40 -394
- package/dist/schema/call/bridge-handler.d.ts +5 -0
- package/dist/schema/call/bridge-handler.js +234 -0
- package/dist/schema/call/bridge.d.ts +2212 -0
- package/dist/schema/call/bridge.js +408 -0
- package/dist/schema/call/handler.js +29 -15
- package/dist/schema/call/index.d.ts +1 -0
- package/dist/schema/call/index.js +1 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -0
- package/dist/schema/messenger/index.d.ts +74 -74
- package/dist/schema/operations.d.ts +24302 -0
- package/dist/schema/operations.js +393 -0
- package/dist/schema-query/index.d.ts +3 -1
- package/dist/schema-query/index.js +63 -3
- package/dist/schemas/account_operation.output.json +1395 -0
- package/dist/schemas/bridge_operation.output.json +64 -0
- package/dist/schemas/bridge_operation.schema.json +547 -0
- package/dist/schemas/guard2file.output.json +84 -0
- package/dist/schemas/index.json +33 -14
- package/dist/schemas/local_info_operation.output.json +70 -0
- package/dist/schemas/local_mark_operation.output.json +114 -0
- package/dist/schemas/machineNode2file.output.json +89 -0
- package/dist/schemas/messenger_operation.output.json +1068 -0
- package/dist/schemas/onchain_events.output.json +513 -0
- package/dist/schemas/onchain_operations.output.json +1764 -0
- package/dist/schemas/onchain_operations.schema.json +8324 -49
- package/dist/schemas/onchain_table_data.output.json +1938 -0
- package/dist/schemas/onchain_table_data.schema.json +483 -22
- package/dist/schemas/query_toolkit.output.json +18 -0
- package/dist/schemas/query_toolkit.schema.json +454 -19
- package/dist/schemas/schema_query.output.json +42 -0
- package/dist/schemas/schema_query.schema.json +1 -0
- package/dist/schemas/wip_file.output.json +116 -0
- package/dist/schemas/wip_file.schema.json +163 -15
- package/dist/schemas/wowok_buildin_info.output.json +577 -0
- package/package.json +2 -2
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://wowok.net/schemas/bridge_operation.json",
|
|
4
|
+
"title": "Bridge - Cross-Chain Operations",
|
|
5
|
+
"description": "Simplified cross-chain bridge between WOW and EVM (Ethereum mainnet). Operations: cross_chain_wow_to_evm, cross_chain_evm_to_wow, withdraw, query_active_evm_account, query_supported_evm_chains, query_supported_tokens, query_transfer_list, query_transfer_status, manage_evm_rpc. Global single activeEvmAccount auto-generated on first use. Use schema_query (name='bridge_operation') for exact field structures.",
|
|
6
|
+
"$ref": "#/definitions/bridge_operation",
|
|
7
|
+
"definitions": {
|
|
8
|
+
"bridge_operation": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"message": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Result summary or hint message"
|
|
14
|
+
},
|
|
15
|
+
"result": {
|
|
16
|
+
"anyOf": [
|
|
17
|
+
{
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"type": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"const": "data"
|
|
23
|
+
},
|
|
24
|
+
"data": {
|
|
25
|
+
"description": "Operation result data (structure varies by operation_type)"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": [
|
|
29
|
+
"type"
|
|
30
|
+
],
|
|
31
|
+
"additionalProperties": false,
|
|
32
|
+
"description": "Successful result"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"type": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"const": "error"
|
|
40
|
+
},
|
|
41
|
+
"error": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Error message"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"required": [
|
|
47
|
+
"type",
|
|
48
|
+
"error"
|
|
49
|
+
],
|
|
50
|
+
"additionalProperties": false,
|
|
51
|
+
"description": "Error result"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"description": "Bridge operation result (data or error)"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": [
|
|
58
|
+
"result"
|
|
59
|
+
],
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"description": "Bridge operation output (matches CallOutput structure returned by the handler)"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,547 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://wowok.net/schemas/bridge_operation.json",
|
|
4
|
+
"title": "Bridge - Cross-Chain Operations",
|
|
5
|
+
"description": "Simplified cross-chain bridge between WOW and EVM (Ethereum mainnet). Operations: cross_chain_wow_to_evm, cross_chain_evm_to_wow, withdraw, query_active_evm_account, query_supported_evm_chains, query_supported_tokens, query_transfer_list, query_transfer_status, manage_evm_rpc. Global single activeEvmAccount auto-generated on first use. Use schema_query (name='bridge_operation') for exact field structures.",
|
|
6
|
+
"$ref": "#/definitions/bridge_operation",
|
|
7
|
+
"definitions": {
|
|
8
|
+
"bridge_operation": {
|
|
9
|
+
"anyOf": [
|
|
10
|
+
{
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"operation_type": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"const": "cross_chain_wow_to_evm"
|
|
16
|
+
},
|
|
17
|
+
"data": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"token": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"enum": [
|
|
23
|
+
"ETH",
|
|
24
|
+
"WETH",
|
|
25
|
+
"WBTC",
|
|
26
|
+
"USDC",
|
|
27
|
+
"USDT"
|
|
28
|
+
],
|
|
29
|
+
"description": "Cross-chain token type"
|
|
30
|
+
},
|
|
31
|
+
"amount": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Cross-chain amount (WOW-side smallest unit, wowDecimals)"
|
|
34
|
+
},
|
|
35
|
+
"withdrawTo": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"pattern": "^0x[0-9a-fA-F]{40}$",
|
|
38
|
+
"description": "Final withdrawal EVM address; if omitted, assets remain in activeEvmAccount. When provided, the SDK uses the activeEvmAccount key to transfer to this address."
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"required": [
|
|
42
|
+
"token",
|
|
43
|
+
"amount"
|
|
44
|
+
],
|
|
45
|
+
"additionalProperties": false,
|
|
46
|
+
"description": "WOW→EVM cross-chain (step 1: deposit only). Returns immediately with depositTxDigest + bridgeSeq + transferId. This operation only locks assets on WOW; it does NOT complete the cross-chain. After deposit, bridge nodes need ~1-5 minutes to sign. Use query_transfer_status to monitor progress; when latestState.step shows 'signatures_ready', call claim_wow_to_evm (step 2) to claim assets on EVM. [Gas requirements] Step 1 needs WOW gas; Step 2 (claim_wow_to_evm) needs activeEvmAccount to have target-chain gas."
|
|
47
|
+
},
|
|
48
|
+
"env": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"properties": {
|
|
51
|
+
"account": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Account/Object name or ID. If specifying an account, use empty string '' for the default account. If it starts with '0x', it will be treated as an ID. Otherwise, it will be treated as a name (max 64 bcs characters).",
|
|
54
|
+
"default": ""
|
|
55
|
+
},
|
|
56
|
+
"permission_guard": {
|
|
57
|
+
"type": "array",
|
|
58
|
+
"items": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"description": "List of permission guard IDs. Used to extend additional operation permissions (requires verification and configuration in the Permission object)."
|
|
62
|
+
},
|
|
63
|
+
"no_cache": {
|
|
64
|
+
"type": "boolean",
|
|
65
|
+
"description": "Whether to disable caching."
|
|
66
|
+
},
|
|
67
|
+
"network": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"enum": [
|
|
70
|
+
"localnet",
|
|
71
|
+
"testnet",
|
|
72
|
+
"mainnet"
|
|
73
|
+
],
|
|
74
|
+
"description": "Network entrypoint: Specifies which network the operation occurs on"
|
|
75
|
+
},
|
|
76
|
+
"referrer": {
|
|
77
|
+
"$ref": "#/definitions/bridge_operation/anyOf/0/properties/env/properties/account",
|
|
78
|
+
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded."
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"additionalProperties": false,
|
|
82
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection ([object Object]), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used."
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"required": [
|
|
86
|
+
"operation_type",
|
|
87
|
+
"data"
|
|
88
|
+
],
|
|
89
|
+
"additionalProperties": false,
|
|
90
|
+
"description": "WOW→EVM cross-chain (simplified): assets auto-claim to activeEvmAccount; if withdrawTo is provided, an additional transfer is made to that address. [Requires WOW mainnet env]"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "object",
|
|
94
|
+
"properties": {
|
|
95
|
+
"operation_type": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"const": "cross_chain_evm_to_wow"
|
|
98
|
+
},
|
|
99
|
+
"data": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"token": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"enum": [
|
|
105
|
+
"ETH",
|
|
106
|
+
"WETH",
|
|
107
|
+
"WBTC",
|
|
108
|
+
"USDC",
|
|
109
|
+
"USDT"
|
|
110
|
+
],
|
|
111
|
+
"description": "Cross-chain token type (ETH=native ETH, others are ERC20)"
|
|
112
|
+
},
|
|
113
|
+
"amount": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "Cross-chain amount (EVM-side smallest unit, evmDecimals)"
|
|
116
|
+
},
|
|
117
|
+
"recipientWowAddress": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "WOW recipient address or account name; defaults to env.account if omitted"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": [
|
|
123
|
+
"token",
|
|
124
|
+
"amount"
|
|
125
|
+
],
|
|
126
|
+
"additionalProperties": false,
|
|
127
|
+
"description": "EVM→WOW cross-chain (single step: deposit). Returns immediately with depositTxHash + transferId. Bridge will automatically claim on WOW (no WOW gas needed, no user action required). [Time estimate] ~10-20 minutes total: (1) 64-block confirmation ~12.8 min on ETH; (2) bridge node auto-claim ~1-5 min on WOW. [Status flow] Use query_transfer_status(refresh=true) to monitor: latestState.step: source_tx_pending → source_tx_confirmed → signatures_ready → completed. When latestState.confirmations >= 64, deposit is finalized and bridge nodes will sign. [Gas requirements] Only needs activeEvmAccount to have target-chain gas (for deposit). No WOW gas needed."
|
|
128
|
+
},
|
|
129
|
+
"env": {
|
|
130
|
+
"$ref": "#/definitions/bridge_operation/anyOf/0/properties/env",
|
|
131
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection ([object Object]), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used."
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"required": [
|
|
135
|
+
"operation_type",
|
|
136
|
+
"data"
|
|
137
|
+
],
|
|
138
|
+
"additionalProperties": false,
|
|
139
|
+
"description": "EVM→WOW cross-chain (single step): deposit from activeEvmAccount, bridge auto-claims on WOW. No WOW gas needed. [Requires WOW mainnet env]"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"operation_type": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"const": "claim_wow_to_evm"
|
|
147
|
+
},
|
|
148
|
+
"data": {
|
|
149
|
+
"type": "object",
|
|
150
|
+
"properties": {
|
|
151
|
+
"transferId": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "Transfer ID from cross_chain_wow_to_evm (br_<timestamp>_<counter>)"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"required": [
|
|
157
|
+
"transferId"
|
|
158
|
+
],
|
|
159
|
+
"additionalProperties": false,
|
|
160
|
+
"description": "WOW→EVM claim (step 2): claim assets on EVM after bridge nodes have signed. Prerequisite: cross_chain_wow_to_evm (step 1) must be completed, and query_transfer_status must show latestState.step = 'signatures_ready' or 'source_tx_confirmed' (nodes have approved). Returns claimTxHash on success. After claim_wow_to_evm returns, the claim tx has been submitted and confirmed (1 block) on EVM. Use query_transfer_status(refresh=true) to verify latestState.step = 'completed'. [Gas requirements] Requires activeEvmAccount to have target-chain gas (for the claim transaction)."
|
|
161
|
+
},
|
|
162
|
+
"env": {
|
|
163
|
+
"$ref": "#/definitions/bridge_operation/anyOf/0/properties/env",
|
|
164
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection ([object Object]), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used."
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"required": [
|
|
168
|
+
"operation_type",
|
|
169
|
+
"data"
|
|
170
|
+
],
|
|
171
|
+
"additionalProperties": false,
|
|
172
|
+
"description": "WOW→EVM claim (step 2): claim assets on EVM after bridge signed. Requires activeEvmAccount to have EVM gas. [Requires WOW mainnet env]"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"type": "object",
|
|
176
|
+
"properties": {
|
|
177
|
+
"operation_type": {
|
|
178
|
+
"type": "string",
|
|
179
|
+
"const": "withdraw"
|
|
180
|
+
},
|
|
181
|
+
"data": {
|
|
182
|
+
"type": "object",
|
|
183
|
+
"properties": {
|
|
184
|
+
"to": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"pattern": "^0x[0-9a-fA-F]{40}$",
|
|
187
|
+
"description": "Withdrawal target EVM address"
|
|
188
|
+
},
|
|
189
|
+
"amount": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"description": "Withdrawal amount (smallest unit)"
|
|
192
|
+
},
|
|
193
|
+
"token": {
|
|
194
|
+
"type": "string",
|
|
195
|
+
"enum": [
|
|
196
|
+
"ETH",
|
|
197
|
+
"WETH",
|
|
198
|
+
"WBTC",
|
|
199
|
+
"USDC",
|
|
200
|
+
"USDT"
|
|
201
|
+
],
|
|
202
|
+
"description": "ERC20 token identifier; if omitted or ETH, withdraws native ETH"
|
|
203
|
+
},
|
|
204
|
+
"tokenAddress": {
|
|
205
|
+
"$ref": "#/definitions/bridge_operation/anyOf/0/properties/data/properties/withdrawTo",
|
|
206
|
+
"description": "ERC20 contract address (alternative to token; allows withdrawing by contract address)"
|
|
207
|
+
},
|
|
208
|
+
"network": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"enum": [
|
|
211
|
+
"mainnet"
|
|
212
|
+
],
|
|
213
|
+
"default": "mainnet",
|
|
214
|
+
"description": "Target chain (defaults to Ethereum mainnet)"
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"required": [
|
|
218
|
+
"to",
|
|
219
|
+
"amount"
|
|
220
|
+
],
|
|
221
|
+
"additionalProperties": false,
|
|
222
|
+
"description": "Withdraw from activeEvmAccount to another EVM address"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"required": [
|
|
226
|
+
"operation_type",
|
|
227
|
+
"data"
|
|
228
|
+
],
|
|
229
|
+
"additionalProperties": false,
|
|
230
|
+
"description": "Withdraw from activeEvmAccount to another EVM address (non-cross-chain). [No env needed]"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"type": "object",
|
|
234
|
+
"properties": {
|
|
235
|
+
"operation_type": {
|
|
236
|
+
"type": "string",
|
|
237
|
+
"const": "query_active_evm_account"
|
|
238
|
+
},
|
|
239
|
+
"data": {
|
|
240
|
+
"type": "object",
|
|
241
|
+
"properties": {
|
|
242
|
+
"network": {
|
|
243
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
244
|
+
"description": "Specific chain; if omitted, queries all supported chains"
|
|
245
|
+
},
|
|
246
|
+
"tokens": {
|
|
247
|
+
"type": "array",
|
|
248
|
+
"items": {
|
|
249
|
+
"$ref": "#/definitions/bridge_operation/anyOf/0/properties/data/properties/withdrawTo"
|
|
250
|
+
},
|
|
251
|
+
"description": "Additional ERC20 token contract addresses to query; if omitted, only native ETH balance is queried"
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"additionalProperties": false,
|
|
255
|
+
"description": "Query activeEvmAccount parameters"
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"required": [
|
|
259
|
+
"operation_type"
|
|
260
|
+
],
|
|
261
|
+
"additionalProperties": false,
|
|
262
|
+
"description": "Query activeEvmAccount address + balances (per chain or all chains). [No env needed]"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"type": "object",
|
|
266
|
+
"properties": {
|
|
267
|
+
"operation_type": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"const": "query_supported_evm_chains"
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"required": [
|
|
273
|
+
"operation_type"
|
|
274
|
+
],
|
|
275
|
+
"additionalProperties": false,
|
|
276
|
+
"description": "List currently supported EVM chains (enum value / description / chainId / RPC health). [No env needed, no data required]"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"type": "object",
|
|
280
|
+
"properties": {
|
|
281
|
+
"operation_type": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"const": "query_supported_tokens"
|
|
284
|
+
},
|
|
285
|
+
"data": {
|
|
286
|
+
"type": "object",
|
|
287
|
+
"properties": {
|
|
288
|
+
"network": {
|
|
289
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
290
|
+
"description": "Specific chain; if omitted, returns token lists for all supported chains"
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"additionalProperties": false,
|
|
294
|
+
"description": "Query supported Bridge tokens per chain (WOW/EVM addresses, decimals, description)"
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"required": [
|
|
298
|
+
"operation_type"
|
|
299
|
+
],
|
|
300
|
+
"additionalProperties": false,
|
|
301
|
+
"description": "List supported Bridge tokens per chain (WOW/EVM contract addresses, decimals, description). [No env needed]"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"type": "object",
|
|
305
|
+
"properties": {
|
|
306
|
+
"operation_type": {
|
|
307
|
+
"type": "string",
|
|
308
|
+
"const": "query_transfer_list"
|
|
309
|
+
},
|
|
310
|
+
"data": {
|
|
311
|
+
"type": "object",
|
|
312
|
+
"properties": {
|
|
313
|
+
"onlyActive": {
|
|
314
|
+
"type": "boolean",
|
|
315
|
+
"description": "true returns only in-progress transfers; false/omitted returns all"
|
|
316
|
+
},
|
|
317
|
+
"status": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"enum": [
|
|
320
|
+
"pending",
|
|
321
|
+
"in_progress",
|
|
322
|
+
"success",
|
|
323
|
+
"failed"
|
|
324
|
+
],
|
|
325
|
+
"description": "Filter by transfer status"
|
|
326
|
+
},
|
|
327
|
+
"direction": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"enum": [
|
|
330
|
+
"wow_to_evm",
|
|
331
|
+
"evm_to_wow",
|
|
332
|
+
"withdraw"
|
|
333
|
+
],
|
|
334
|
+
"description": "Filter by transfer direction"
|
|
335
|
+
},
|
|
336
|
+
"token": {
|
|
337
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/token",
|
|
338
|
+
"description": "Filter by token type (ETH/WETH/WBTC/USDC/USDT)"
|
|
339
|
+
},
|
|
340
|
+
"limit": {
|
|
341
|
+
"type": "integer",
|
|
342
|
+
"exclusiveMinimum": 0,
|
|
343
|
+
"maximum": 100,
|
|
344
|
+
"description": "Maximum number of results (default: all, max: 100)"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"additionalProperties": false,
|
|
348
|
+
"description": "Query transfer list with optional filters (status / direction / token / limit)"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"required": [
|
|
352
|
+
"operation_type"
|
|
353
|
+
],
|
|
354
|
+
"additionalProperties": false,
|
|
355
|
+
"description": "Query cross-chain / withdrawal transfer history list (optionally only in-progress). [No env needed]"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"type": "object",
|
|
359
|
+
"properties": {
|
|
360
|
+
"operation_type": {
|
|
361
|
+
"type": "string",
|
|
362
|
+
"const": "query_transfer_status"
|
|
363
|
+
},
|
|
364
|
+
"data": {
|
|
365
|
+
"type": "object",
|
|
366
|
+
"properties": {
|
|
367
|
+
"transferId": {
|
|
368
|
+
"type": "string",
|
|
369
|
+
"description": "Transfer ID (br_<timestamp>_<counter>)"
|
|
370
|
+
},
|
|
371
|
+
"refresh": {
|
|
372
|
+
"type": "boolean",
|
|
373
|
+
"default": true,
|
|
374
|
+
"description": "Whether to refresh from on-chain state (default true). true=queries latest on-chain status (takes 5-15s, timeout at 15s on slow RPC). false=instant response from local cache (no on-chain query). Recommended: use refresh=true every 1-2 minutes for ongoing transfers; use refresh=false for quick checks between refreshes."
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"required": [
|
|
378
|
+
"transferId"
|
|
379
|
+
],
|
|
380
|
+
"additionalProperties": false,
|
|
381
|
+
"description": "Query single transfer parameters. [Wait hint] With refresh=true (default), this call may take 5-15 seconds to query on-chain state. If on-chain RPC is slow, it will timeout at 15s and return cached state. Set refresh=false for instant response from local cache. [Returned fields] The result includes: (1) record.step/status - high-level lifecycle (deposit/claimed/success); (2) record.latestState.step/status - fine-grained on-chain progress (source_tx_pending → source_tx_confirmed → signatures_ready → completed). Use latestState.confirmations to estimate remaining time (needs 64 for ETH→WOW finalization)."
|
|
382
|
+
}
|
|
383
|
+
},
|
|
384
|
+
"required": [
|
|
385
|
+
"operation_type",
|
|
386
|
+
"data"
|
|
387
|
+
],
|
|
388
|
+
"additionalProperties": false,
|
|
389
|
+
"description": "Query a single transfer's detail by transferId"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"type": "object",
|
|
393
|
+
"properties": {
|
|
394
|
+
"operation_type": {
|
|
395
|
+
"type": "string",
|
|
396
|
+
"const": "manage_evm_rpc"
|
|
397
|
+
},
|
|
398
|
+
"data": {
|
|
399
|
+
"anyOf": [
|
|
400
|
+
{
|
|
401
|
+
"type": "object",
|
|
402
|
+
"properties": {
|
|
403
|
+
"op": {
|
|
404
|
+
"type": "string",
|
|
405
|
+
"const": "list",
|
|
406
|
+
"description": "List all configured RPC endpoints with health status"
|
|
407
|
+
},
|
|
408
|
+
"network": {
|
|
409
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
410
|
+
"description": "Target chain (defaults to Ethereum mainnet)"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
"required": [
|
|
414
|
+
"op"
|
|
415
|
+
],
|
|
416
|
+
"additionalProperties": false,
|
|
417
|
+
"description": "List RPC endpoints (no rpcUrl/rpcUrls needed)"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"type": "object",
|
|
421
|
+
"properties": {
|
|
422
|
+
"op": {
|
|
423
|
+
"type": "string",
|
|
424
|
+
"const": "add",
|
|
425
|
+
"description": "Append one or more RPC endpoints"
|
|
426
|
+
},
|
|
427
|
+
"network": {
|
|
428
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
429
|
+
"description": "Target chain (defaults to Ethereum mainnet)"
|
|
430
|
+
},
|
|
431
|
+
"rpcUrls": {
|
|
432
|
+
"type": "array",
|
|
433
|
+
"items": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"format": "uri"
|
|
436
|
+
},
|
|
437
|
+
"minItems": 1,
|
|
438
|
+
"description": "RPC URL(s) to add"
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
"required": [
|
|
442
|
+
"op",
|
|
443
|
+
"rpcUrls"
|
|
444
|
+
],
|
|
445
|
+
"additionalProperties": false,
|
|
446
|
+
"description": "Add RPC endpoint(s)"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"type": "object",
|
|
450
|
+
"properties": {
|
|
451
|
+
"op": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"const": "remove",
|
|
454
|
+
"description": "Remove one or more RPC endpoints"
|
|
455
|
+
},
|
|
456
|
+
"network": {
|
|
457
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
458
|
+
"description": "Target chain (defaults to Ethereum mainnet)"
|
|
459
|
+
},
|
|
460
|
+
"rpcUrls": {
|
|
461
|
+
"type": "array",
|
|
462
|
+
"items": {
|
|
463
|
+
"type": "string",
|
|
464
|
+
"format": "uri"
|
|
465
|
+
},
|
|
466
|
+
"minItems": 1,
|
|
467
|
+
"description": "RPC URL(s) to remove"
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
"required": [
|
|
471
|
+
"op",
|
|
472
|
+
"rpcUrls"
|
|
473
|
+
],
|
|
474
|
+
"additionalProperties": false,
|
|
475
|
+
"description": "Remove RPC endpoint(s)"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"type": "object",
|
|
479
|
+
"properties": {
|
|
480
|
+
"op": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"const": "set",
|
|
483
|
+
"description": "Full replace all RPC endpoints"
|
|
484
|
+
},
|
|
485
|
+
"network": {
|
|
486
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
487
|
+
"description": "Target chain (defaults to Ethereum mainnet)"
|
|
488
|
+
},
|
|
489
|
+
"rpcUrls": {
|
|
490
|
+
"type": "array",
|
|
491
|
+
"items": {
|
|
492
|
+
"type": "string",
|
|
493
|
+
"format": "uri"
|
|
494
|
+
},
|
|
495
|
+
"minItems": 1,
|
|
496
|
+
"description": "Full RPC list (replaces all existing endpoints)"
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
"required": [
|
|
500
|
+
"op",
|
|
501
|
+
"rpcUrls"
|
|
502
|
+
],
|
|
503
|
+
"additionalProperties": false,
|
|
504
|
+
"description": "Full replace RPC endpoints"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"type": "object",
|
|
508
|
+
"properties": {
|
|
509
|
+
"op": {
|
|
510
|
+
"type": "string",
|
|
511
|
+
"const": "ping",
|
|
512
|
+
"description": "Health check one or more RPC endpoints"
|
|
513
|
+
},
|
|
514
|
+
"network": {
|
|
515
|
+
"$ref": "#/definitions/bridge_operation/anyOf/3/properties/data/properties/network",
|
|
516
|
+
"description": "Target chain (defaults to Ethereum mainnet)"
|
|
517
|
+
},
|
|
518
|
+
"rpcUrls": {
|
|
519
|
+
"type": "array",
|
|
520
|
+
"items": {
|
|
521
|
+
"type": "string",
|
|
522
|
+
"format": "uri"
|
|
523
|
+
},
|
|
524
|
+
"description": "Specific RPC URLs to ping; if omitted, pings all configured RPCs"
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
"required": [
|
|
528
|
+
"op"
|
|
529
|
+
],
|
|
530
|
+
"additionalProperties": false,
|
|
531
|
+
"description": "Health check RPC endpoints"
|
|
532
|
+
}
|
|
533
|
+
],
|
|
534
|
+
"description": "EVM RPC endpoint management (discriminated by op)"
|
|
535
|
+
}
|
|
536
|
+
},
|
|
537
|
+
"required": [
|
|
538
|
+
"operation_type",
|
|
539
|
+
"data"
|
|
540
|
+
],
|
|
541
|
+
"additionalProperties": false,
|
|
542
|
+
"description": "Manage EVM RPC endpoints (list/add/remove/set/ping) to mitigate public RPC 429 rate limits. [No env needed]"
|
|
543
|
+
}
|
|
544
|
+
]
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}
|