@rabby-wallet/rabby-bridge 0.0.13-alpha.0 → 0.0.13

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 (198) hide show
  1. package/README.md +1 -131
  2. package/dist/chains.d.ts +2 -1
  3. package/dist/chains.js +2 -0
  4. package/dist/data.d.ts +3 -0
  5. package/dist/data.js +3 -0
  6. package/dist/index.d.ts +1 -7
  7. package/dist/index.js +0 -3
  8. package/dist/quote.d.ts +4 -18
  9. package/dist/quote.js +65 -282
  10. package/package.json +3 -13
  11. package/dist/calldata/abi.d.ts +0 -29
  12. package/dist/calldata/abi.js +0 -160
  13. package/dist/calldata/across/deposit.d.ts +0 -2
  14. package/dist/calldata/across/deposit.js +0 -36
  15. package/dist/calldata/across/depositNative.d.ts +0 -2
  16. package/dist/calldata/across/depositNative.js +0 -45
  17. package/dist/calldata/across/depositNow.d.ts +0 -2
  18. package/dist/calldata/across/depositNow.js +0 -35
  19. package/dist/calldata/across/depositV3.d.ts +0 -2
  20. package/dist/calldata/across/depositV3.js +0 -35
  21. package/dist/calldata/across/depositV3Now.d.ts +0 -2
  22. package/dist/calldata/across/depositV3Now.js +0 -34
  23. package/dist/calldata/across/index.d.ts +0 -4
  24. package/dist/calldata/across/index.js +0 -31
  25. package/dist/calldata/across/swapAndBridge.d.ts +0 -2
  26. package/dist/calldata/across/swapAndBridge.js +0 -70
  27. package/dist/calldata/across/validate.d.ts +0 -3
  28. package/dist/calldata/across/validate.js +0 -30
  29. package/dist/calldata/chains.d.ts +0 -2
  30. package/dist/calldata/chains.js +0 -35
  31. package/dist/calldata/destination.d.ts +0 -6
  32. package/dist/calldata/destination.js +0 -148
  33. package/dist/calldata/diagnostics.d.ts +0 -4
  34. package/dist/calldata/diagnostics.js +0 -18
  35. package/dist/calldata/expect.d.ts +0 -25
  36. package/dist/calldata/expect.js +0 -129
  37. package/dist/calldata/hex.d.ts +0 -6
  38. package/dist/calldata/hex.js +0 -46
  39. package/dist/calldata/index.d.ts +0 -20
  40. package/dist/calldata/index.js +0 -85
  41. package/dist/calldata/lifi/across/acrossV4Erc20Min.d.ts +0 -2
  42. package/dist/calldata/lifi/across/acrossV4Erc20Min.js +0 -26
  43. package/dist/calldata/lifi/across/acrossV4NativeMin.d.ts +0 -2
  44. package/dist/calldata/lifi/across/acrossV4NativeMin.js +0 -22
  45. package/dist/calldata/lifi/across/index.d.ts +0 -6
  46. package/dist/calldata/lifi/across/index.js +0 -19
  47. package/dist/calldata/lifi/allbridge/index.d.ts +0 -3
  48. package/dist/calldata/lifi/allbridge/index.js +0 -26
  49. package/dist/calldata/lifi/celer/index.d.ts +0 -4
  50. package/dist/calldata/lifi/celer/index.js +0 -10
  51. package/dist/calldata/lifi/centrifuge/index.d.ts +0 -3
  52. package/dist/calldata/lifi/centrifuge/index.js +0 -22
  53. package/dist/calldata/lifi/frax/index.d.ts +0 -4
  54. package/dist/calldata/lifi/frax/index.js +0 -29
  55. package/dist/calldata/lifi/garden/index.d.ts +0 -3
  56. package/dist/calldata/lifi/garden/index.js +0 -22
  57. package/dist/calldata/lifi/gaszip/index.d.ts +0 -6
  58. package/dist/calldata/lifi/gaszip/index.js +0 -15
  59. package/dist/calldata/lifi/index.d.ts +0 -4
  60. package/dist/calldata/lifi/index.js +0 -60
  61. package/dist/calldata/lifi/intents/index.d.ts +0 -4
  62. package/dist/calldata/lifi/intents/index.js +0 -10
  63. package/dist/calldata/lifi/layerswap/index.d.ts +0 -4
  64. package/dist/calldata/lifi/layerswap/index.js +0 -10
  65. package/dist/calldata/lifi/m0/index.d.ts +0 -3
  66. package/dist/calldata/lifi/m0/index.js +0 -33
  67. package/dist/calldata/lifi/mayan/index.d.ts +0 -4
  68. package/dist/calldata/lifi/mayan/index.js +0 -10
  69. package/dist/calldata/lifi/method.d.ts +0 -6
  70. package/dist/calldata/lifi/method.js +0 -16
  71. package/dist/calldata/lifi/native/index.d.ts +0 -4
  72. package/dist/calldata/lifi/native/index.js +0 -80
  73. package/dist/calldata/lifi/params.d.ts +0 -30
  74. package/dist/calldata/lifi/params.js +0 -370
  75. package/dist/calldata/lifi/paxos/index.d.ts +0 -4
  76. package/dist/calldata/lifi/paxos/index.js +0 -10
  77. package/dist/calldata/lifi/polymer/index.d.ts +0 -4
  78. package/dist/calldata/lifi/polymer/index.js +0 -10
  79. package/dist/calldata/lifi/relay/index.d.ts +0 -6
  80. package/dist/calldata/lifi/relay/index.js +0 -15
  81. package/dist/calldata/lifi/shape.d.ts +0 -4
  82. package/dist/calldata/lifi/shape.js +0 -31
  83. package/dist/calldata/lifi/squid/index.d.ts +0 -6
  84. package/dist/calldata/lifi/squid/index.js +0 -15
  85. package/dist/calldata/lifi/stargate/index.d.ts +0 -5
  86. package/dist/calldata/lifi/stargate/index.js +0 -15
  87. package/dist/calldata/lifi/swap/index.d.ts +0 -5
  88. package/dist/calldata/lifi/swap/index.js +0 -18
  89. package/dist/calldata/lifi/swap/swapMethod.d.ts +0 -2
  90. package/dist/calldata/lifi/swap/swapMethod.js +0 -40
  91. package/dist/calldata/match.d.ts +0 -3
  92. package/dist/calldata/match.js +0 -21
  93. package/dist/calldata/mayan/destination.d.ts +0 -2
  94. package/dist/calldata/mayan/destination.js +0 -13
  95. package/dist/calldata/mayan/fastMctpBridge.d.ts +0 -3
  96. package/dist/calldata/mayan/fastMctpBridge.js +0 -43
  97. package/dist/calldata/mayan/fastMctpCreateOrder.d.ts +0 -3
  98. package/dist/calldata/mayan/fastMctpCreateOrder.js +0 -39
  99. package/dist/calldata/mayan/forward.d.ts +0 -8
  100. package/dist/calldata/mayan/forward.js +0 -35
  101. package/dist/calldata/mayan/forwardERC20.d.ts +0 -2
  102. package/dist/calldata/mayan/forwardERC20.js +0 -19
  103. package/dist/calldata/mayan/forwardEth.d.ts +0 -2
  104. package/dist/calldata/mayan/forwardEth.js +0 -16
  105. package/dist/calldata/mayan/index.d.ts +0 -4
  106. package/dist/calldata/mayan/index.js +0 -21
  107. package/dist/calldata/mayan/mctp.d.ts +0 -5
  108. package/dist/calldata/mayan/mctp.js +0 -41
  109. package/dist/calldata/mayan/readProtocol.d.ts +0 -2
  110. package/dist/calldata/mayan/readProtocol.js +0 -29
  111. package/dist/calldata/mayan/swapAndForwardERC20.d.ts +0 -2
  112. package/dist/calldata/mayan/swapAndForwardERC20.js +0 -24
  113. package/dist/calldata/mayan/swapAndForwardEth.d.ts +0 -2
  114. package/dist/calldata/mayan/swapAndForwardEth.js +0 -23
  115. package/dist/calldata/mayan/swiftCreateOrder.d.ts +0 -3
  116. package/dist/calldata/mayan/swiftCreateOrder.js +0 -49
  117. package/dist/calldata/mayan/validate.d.ts +0 -3
  118. package/dist/calldata/mayan/validate.js +0 -20
  119. package/dist/calldata/protocols.d.ts +0 -9
  120. package/dist/calldata/protocols.js +0 -56
  121. package/dist/calldata/relay/calls.d.ts +0 -13
  122. package/dist/calldata/relay/calls.js +0 -54
  123. package/dist/calldata/relay/depositErc20.d.ts +0 -2
  124. package/dist/calldata/relay/depositErc20.js +0 -22
  125. package/dist/calldata/relay/depositErc20Allowance.d.ts +0 -2
  126. package/dist/calldata/relay/depositErc20Allowance.js +0 -20
  127. package/dist/calldata/relay/depositNative.d.ts +0 -2
  128. package/dist/calldata/relay/depositNative.js +0 -20
  129. package/dist/calldata/relay/index.d.ts +0 -4
  130. package/dist/calldata/relay/index.js +0 -40
  131. package/dist/calldata/relay/multicall.d.ts +0 -2
  132. package/dist/calldata/relay/multicall.js +0 -15
  133. package/dist/calldata/relay/permit2TransferAndMulticall.d.ts +0 -2
  134. package/dist/calldata/relay/permit2TransferAndMulticall.js +0 -42
  135. package/dist/calldata/relay/permit3009TransferAndMulticall.d.ts +0 -2
  136. package/dist/calldata/relay/permit3009TransferAndMulticall.js +0 -41
  137. package/dist/calldata/relay/permit3009TransferAndMulticallSigned.d.ts +0 -2
  138. package/dist/calldata/relay/permit3009TransferAndMulticallSigned.js +0 -40
  139. package/dist/calldata/relay/permitTransferAndMulticall.d.ts +0 -2
  140. package/dist/calldata/relay/permitTransferAndMulticall.js +0 -34
  141. package/dist/calldata/relay/permitTransferAndMulticallLegacy.d.ts +0 -2
  142. package/dist/calldata/relay/permitTransferAndMulticallLegacy.js +0 -35
  143. package/dist/calldata/relay/transferAndMulticall.d.ts +0 -2
  144. package/dist/calldata/relay/transferAndMulticall.js +0 -26
  145. package/dist/calldata/relay/validate.d.ts +0 -3
  146. package/dist/calldata/relay/validate.js +0 -18
  147. package/dist/calldata/resolve.d.ts +0 -2
  148. package/dist/calldata/resolve.js +0 -28
  149. package/dist/calldata/socket/bridge.d.ts +0 -2
  150. package/dist/calldata/socket/bridge.js +0 -28
  151. package/dist/calldata/socket/exec.d.ts +0 -2
  152. package/dist/calldata/socket/exec.js +0 -71
  153. package/dist/calldata/socket/index.d.ts +0 -4
  154. package/dist/calldata/socket/index.js +0 -13
  155. package/dist/calldata/socket/params.d.ts +0 -5
  156. package/dist/calldata/socket/params.js +0 -14
  157. package/dist/calldata/socket/protocols/ccip.d.ts +0 -2
  158. package/dist/calldata/socket/protocols/ccip.js +0 -32
  159. package/dist/calldata/socket/protocols/cctp.d.ts +0 -2
  160. package/dist/calldata/socket/protocols/cctp.js +0 -24
  161. package/dist/calldata/socket/protocols/eco.d.ts +0 -2
  162. package/dist/calldata/socket/protocols/eco.js +0 -20
  163. package/dist/calldata/socket/protocols/index.d.ts +0 -3
  164. package/dist/calldata/socket/protocols/index.js +0 -81
  165. package/dist/calldata/socket/protocols/native.d.ts +0 -2
  166. package/dist/calldata/socket/protocols/native.js +0 -70
  167. package/dist/calldata/socket/protocols/oft.d.ts +0 -2
  168. package/dist/calldata/socket/protocols/oft.js +0 -31
  169. package/dist/calldata/socket/protocols/swapsXYZ.d.ts +0 -2
  170. package/dist/calldata/socket/protocols/swapsXYZ.js +0 -62
  171. package/dist/calldata/socket/swapAndBridge.d.ts +0 -2
  172. package/dist/calldata/socket/swapAndBridge.js +0 -37
  173. package/dist/calldata/socket/validate.d.ts +0 -3
  174. package/dist/calldata/socket/validate.js +0 -21
  175. package/dist/calldata/types.d.ts +0 -82
  176. package/dist/calldata/types.js +0 -20
  177. package/dist/errors/constants.d.ts +0 -876
  178. package/dist/errors/constants.js +0 -883
  179. package/dist/errors/index.d.ts +0 -61
  180. package/dist/errors/index.js +0 -53
  181. package/dist/errors/sanitize.d.ts +0 -3
  182. package/dist/errors/sanitize.js +0 -75
  183. package/dist/providers/data.d.ts +0 -23
  184. package/dist/providers/data.js +0 -116
  185. package/dist/providers/errors.d.ts +0 -7
  186. package/dist/providers/errors.js +0 -10
  187. package/dist/providers/index.d.ts +0 -7
  188. package/dist/providers/index.js +0 -340
  189. package/dist/providers/layerswap.d.ts +0 -9
  190. package/dist/providers/layerswap.js +0 -95
  191. package/dist/providers/relay.d.ts +0 -59
  192. package/dist/providers/relay.js +0 -185
  193. package/dist/providers/request.d.ts +0 -23
  194. package/dist/providers/request.js +0 -69
  195. package/dist/providers/socket.d.ts +0 -5
  196. package/dist/providers/socket.js +0 -57
  197. package/dist/providers/types.d.ts +0 -36
  198. package/dist/providers/types.js +0 -1
@@ -1,883 +0,0 @@
1
- /** Stable reporting codes. Add new entries; do not reuse or rename existing error_code values. */
2
- export const BRIDGE_ERRORS = {
3
- // input — 调用参数与交易基本信息
4
- MISSING_BUILD_API: {
5
- error_code: 'BRIDGE_MISSING_BUILD_API',
6
- stage: 'input',
7
- message: 'Bridge API does not provide a build tx method',
8
- },
9
- MISSING_QUOTE_API: {
10
- error_code: 'BRIDGE_MISSING_QUOTE_API',
11
- stage: 'input',
12
- message: 'Bridge API does not provide a quote list method',
13
- },
14
- DIRECT_PROVIDER_CLIENT_IS_REQUIRED: {
15
- error_code: 'BRIDGE_DIRECT_PROVIDER_CLIENT_IS_REQUIRED',
16
- stage: 'input',
17
- message: 'direct provider client is required',
18
- },
19
- FROM_ADDRESS_MISMATCH: {
20
- error_code: 'BRIDGE_FROM_ADDRESS_MISMATCH',
21
- stage: 'input',
22
- message: 'from_address',
23
- },
24
- FROM_CHAIN_MISMATCH: {
25
- error_code: 'BRIDGE_FROM_CHAIN_MISMATCH',
26
- stage: 'input',
27
- message: 'from_chain',
28
- },
29
- INVALID_SOCKET_API: {
30
- error_code: 'BRIDGE_INVALID_SOCKET_API',
31
- stage: 'input',
32
- message: 'invalid Socket API',
33
- },
34
- INVALID_PROVIDER_TIMEOUT: {
35
- error_code: 'BRIDGE_INVALID_PROVIDER_TIMEOUT',
36
- stage: 'input',
37
- message: 'invalid provider timeout',
38
- },
39
- INVALID_QUOTE_KEY: {
40
- error_code: 'BRIDGE_INVALID_QUOTE_KEY',
41
- stage: 'input',
42
- message: 'invalid quote key',
43
- },
44
- INVALID_TRANSACTION_VALUE: {
45
- error_code: 'BRIDGE_INVALID_TRANSACTION_VALUE',
46
- stage: 'input',
47
- message: 'invalid transaction value',
48
- },
49
- SLIPPAGE_IS_REQUIRED_FOR_THIS_API_CALL: {
50
- error_code: 'BRIDGE_SLIPPAGE_IS_REQUIRED_FOR_THIS_API_CALL',
51
- stage: 'input',
52
- message: 'slippage is required for this API call',
53
- },
54
- UNSUPPORTED_BRIDGE_AGGREGATOR: {
55
- error_code: 'BRIDGE_UNSUPPORTED_BRIDGE_AGGREGATOR',
56
- stage: 'input',
57
- message: 'unsupported bridge aggregator',
58
- },
59
- UNSUPPORTED_CHAIN: {
60
- error_code: 'BRIDGE_UNSUPPORTED_CHAIN',
61
- stage: 'input',
62
- message: 'unsupported chain',
63
- },
64
- UNSUPPORTED_DIRECT_PROVIDER: {
65
- error_code: 'BRIDGE_UNSUPPORTED_DIRECT_PROVIDER',
66
- stage: 'input',
67
- message: 'unsupported direct provider',
68
- },
69
- UNSUPPORTED_FEE_RATE: {
70
- error_code: 'BRIDGE_UNSUPPORTED_FEE_RATE',
71
- stage: 'input',
72
- message: 'unsupported fee rate',
73
- },
74
- UNSUPPORTED_SOURCE_CHAIN: {
75
- error_code: 'BRIDGE_UNSUPPORTED_SOURCE_CHAIN',
76
- stage: 'input',
77
- message: 'unsupported source chain',
78
- },
79
- // contract — Router / Spender 白名单
80
- ROUTER_NOT_ALLOWED: {
81
- error_code: 'BRIDGE_ROUTER_NOT_ALLOWED',
82
- stage: 'contract',
83
- message: 'router is not in the allowlist',
84
- },
85
- SPENDER_NOT_ALLOWED: {
86
- error_code: 'BRIDGE_SPENDER_NOT_ALLOWED',
87
- stage: 'contract',
88
- message: 'spender is not in the allowlist',
89
- },
90
- // decode — Selector 与 ABI 解码
91
- ABI_ARRAY_TOO_LONG: {
92
- error_code: 'BRIDGE_ABI_ARRAY_TOO_LONG',
93
- stage: 'decode',
94
- message: 'calldata array is too long',
95
- },
96
- ABI_BYTES_OUT_OF_BOUNDS: {
97
- error_code: 'BRIDGE_ABI_BYTES_OUT_OF_BOUNDS',
98
- stage: 'decode',
99
- message: 'calldata bytes overrun',
100
- },
101
- CALLDATA_DECODE_FAILED: {
102
- error_code: 'BRIDGE_CALLDATA_DECODE_FAILED',
103
- stage: 'decode',
104
- message: 'calldata does not match the method',
105
- },
106
- ABI_WORD_OUT_OF_BOUNDS: {
107
- error_code: 'BRIDGE_ABI_WORD_OUT_OF_BOUNDS',
108
- stage: 'decode',
109
- message: 'calldata ended before the next word',
110
- },
111
- ABI_OFFSET_OUT_OF_BOUNDS: {
112
- error_code: 'BRIDGE_ABI_OFFSET_OUT_OF_BOUNDS',
113
- stage: 'decode',
114
- message: 'calldata offset is out of range',
115
- },
116
- EXPECTED_ARRAY: {
117
- error_code: 'BRIDGE_EXPECTED_ARRAY',
118
- stage: 'decode',
119
- message: 'expected array',
120
- },
121
- EXPECTED_STRING: {
122
- error_code: 'BRIDGE_EXPECTED_STRING',
123
- stage: 'decode',
124
- message: 'expected string',
125
- },
126
- EXPECTED_TUPLE: {
127
- error_code: 'BRIDGE_EXPECTED_TUPLE',
128
- stage: 'decode',
129
- message: 'expected tuple',
130
- },
131
- EXPECTED_UINT: {
132
- error_code: 'BRIDGE_EXPECTED_UINT',
133
- stage: 'decode',
134
- message: 'expected uint',
135
- },
136
- INVALID_ABI_ADDRESS: {
137
- error_code: 'BRIDGE_INVALID_ABI_ADDRESS',
138
- stage: 'decode',
139
- message: 'invalid ABI address',
140
- },
141
- INVALID_BOOL: {
142
- error_code: 'BRIDGE_INVALID_BOOL',
143
- stage: 'decode',
144
- message: 'invalid bool',
145
- },
146
- INVALID_CALLDATA: {
147
- error_code: 'BRIDGE_INVALID_CALLDATA',
148
- stage: 'decode',
149
- message: 'invalid calldata',
150
- },
151
- INVALID_HEX: {
152
- error_code: 'BRIDGE_INVALID_HEX',
153
- stage: 'decode',
154
- message: 'invalid hex',
155
- },
156
- INVALID_SELECTOR: {
157
- error_code: 'BRIDGE_INVALID_SELECTOR',
158
- stage: 'decode',
159
- message: 'invalid selector',
160
- },
161
- MISSING_CALLDATA: {
162
- error_code: 'BRIDGE_MISSING_CALLDATA',
163
- stage: 'decode',
164
- message: 'missing calldata',
165
- },
166
- MISSING_SELECTOR: {
167
- error_code: 'BRIDGE_MISSING_SELECTOR',
168
- stage: 'decode',
169
- message: 'missing selector',
170
- },
171
- UNSUPPORTED_ABI_TYPE: {
172
- error_code: 'BRIDGE_UNSUPPORTED_ABI_TYPE',
173
- stage: 'decode',
174
- message: 'unsupported abi type',
175
- },
176
- UNSUPPORTED_METHOD: {
177
- error_code: 'BRIDGE_UNSUPPORTED_METHOD',
178
- stage: 'decode',
179
- message: 'unsupported method',
180
- },
181
- UNSUPPORTED_CALLDATA_AGGREGATOR: {
182
- error_code: 'BRIDGE_UNSUPPORTED_CALLDATA_AGGREGATOR',
183
- stage: 'decode',
184
- message: 'no calldata parser for this aggregator',
185
- },
186
- UNRECOGNIZED_MAYAN_PROTOCOL_CALLDATA: {
187
- error_code: 'BRIDGE_UNRECOGNIZED_MAYAN_PROTOCOL_CALLDATA',
188
- stage: 'decode',
189
- message: 'unrecognized mayan protocol calldata',
190
- },
191
- UNRECOGNIZED_SOCKET_BRIDGE_CALLDATA: {
192
- error_code: 'BRIDGE_UNRECOGNIZED_SOCKET_BRIDGE_CALLDATA',
193
- stage: 'decode',
194
- message: 'unrecognized socket bridge calldata',
195
- },
196
- UNRECOGNIZED_SOCKET_ROUTER_CALLDATA: {
197
- error_code: 'BRIDGE_UNRECOGNIZED_SOCKET_ROUTER_CALLDATA',
198
- stage: 'decode',
199
- message: 'unrecognized socket router calldata',
200
- },
201
- UNSUPPORTED_MAYAN_PROTOCOL_CALLDATA: {
202
- error_code: 'BRIDGE_UNSUPPORTED_MAYAN_PROTOCOL_CALLDATA',
203
- stage: 'decode',
204
- message: 'unsupported Mayan protocol calldata',
205
- },
206
- // structure — 协议结构、资产流和目标调用约束
207
- UNSUPPORTED_NON_EVM_M0_DESTINATION: {
208
- error_code: 'BRIDGE_UNSUPPORTED_NON_EVM_M0_DESTINATION',
209
- stage: 'structure',
210
- message: 'unsupported non-EVM M0 destination',
211
- },
212
- M0_REFUND_RECIPIENT_MISMATCH: {
213
- error_code: 'BRIDGE_M0_REFUND_RECIPIENT_MISMATCH',
214
- stage: 'structure',
215
- message: 'M0 refund recipient mismatch',
216
- },
217
- M0_RECEIVER_MISMATCH: {
218
- error_code: 'BRIDGE_M0_RECEIVER_MISMATCH',
219
- stage: 'structure',
220
- message: 'M0 receiver mismatch',
221
- },
222
- ACROSS_FALLBACK_RECEIVER_MISMATCH: {
223
- error_code: 'BRIDGE_ACROSS_FALLBACK_RECEIVER_MISMATCH',
224
- stage: 'structure',
225
- message: 'Across fallback recipient does not match the payout',
226
- },
227
- ACROSS_FALLBACK_TOKEN_MISMATCH: {
228
- error_code: 'BRIDGE_ACROSS_FALLBACK_TOKEN_MISMATCH',
229
- stage: 'structure',
230
- message: 'Across fallback token does not match the payout',
231
- },
232
- ACROSS_NATIVE_VALUE_MISMATCH: {
233
- error_code: 'BRIDGE_ACROSS_NATIVE_VALUE_MISMATCH',
234
- stage: 'structure',
235
- message: 'Across native value does not match input amount',
236
- },
237
- ACROSS_SWAP_VALUE_MISMATCH: {
238
- error_code: 'BRIDGE_ACROSS_SWAP_VALUE_MISMATCH',
239
- stage: 'structure',
240
- message: 'Across native value does not match swap amount',
241
- },
242
- ALLBRIDGE_RECEIVER_MISMATCH: {
243
- error_code: 'BRIDGE_ALLBRIDGE_RECEIVER_MISMATCH',
244
- stage: 'structure',
245
- message: 'AllBridge receiver mismatch',
246
- },
247
- CCIP_REQUIRES_ONE_BRIDGE_ASSET: {
248
- error_code: 'BRIDGE_CCIP_REQUIRES_ONE_BRIDGE_ASSET',
249
- stage: 'structure',
250
- message: 'CCIP requires one bridge asset',
251
- },
252
- CENTRIFUGE_REFUND_RECIPIENT_MISMATCH: {
253
- error_code: 'BRIDGE_CENTRIFUGE_REFUND_RECIPIENT_MISMATCH',
254
- stage: 'structure',
255
- message: 'Centrifuge refund recipient mismatch',
256
- },
257
- HYPERLANE_BALANCE_AMOUNT_REQUIRES_EXECUTION_STATE: {
258
- error_code: 'BRIDGE_HYPERLANE_BALANCE_AMOUNT_REQUIRES_EXECUTION_STATE',
259
- stage: 'structure',
260
- message: 'Hyperlane balance amount requires execution state',
261
- },
262
- HYPERLANE_COMMAND_LENGTH_MISMATCH: {
263
- error_code: 'BRIDGE_HYPERLANE_COMMAND_LENGTH_MISMATCH',
264
- stage: 'structure',
265
- message: 'Hyperlane command length mismatch',
266
- },
267
- SOCKET_CCTP_TOKEN_DOES_NOT_MATCH_BRIDGE_ASSET: {
268
- error_code: 'BRIDGE_SOCKET_CCTP_TOKEN_DOES_NOT_MATCH_BRIDGE_ASSET',
269
- stage: 'structure',
270
- message: 'Socket CCTP token does not match bridge asset',
271
- },
272
- SOCKET_RFQ_TOKEN_DOES_NOT_MATCH_BRIDGE_ASSET: {
273
- error_code: 'BRIDGE_SOCKET_RFQ_TOKEN_DOES_NOT_MATCH_BRIDGE_ASSET',
274
- stage: 'structure',
275
- message: 'Socket RFQ token does not match bridge asset',
276
- },
277
- SOCKET_ALLOWANCE_AMOUNT_MISMATCH: {
278
- error_code: 'BRIDGE_SOCKET_ALLOWANCE_AMOUNT_MISMATCH',
279
- stage: 'structure',
280
- message: 'Socket allowance does not match the source amount',
281
- },
282
- SOCKET_ALLOWANCE_TOKEN_MISMATCH: {
283
- error_code: 'BRIDGE_SOCKET_ALLOWANCE_TOKEN_MISMATCH',
284
- stage: 'structure',
285
- message: 'Socket allowance token does not match the source input',
286
- },
287
- SOCKET_DEPOSIT_AMOUNT_MISMATCH: {
288
- error_code: 'BRIDGE_SOCKET_DEPOSIT_AMOUNT_MISMATCH',
289
- stage: 'structure',
290
- message: 'Socket deposit amount does not match net input',
291
- },
292
- SOCKET_NATIVE_VALUE_MISMATCH: {
293
- error_code: 'BRIDGE_SOCKET_NATIVE_VALUE_MISMATCH',
294
- stage: 'structure',
295
- message: 'Socket native value does not match source input',
296
- },
297
- BRIDGE_FEES_EXCEED_THE_INPUT_AMOUNT: {
298
- error_code: 'BRIDGE_BRIDGE_FEES_EXCEED_THE_INPUT_AMOUNT',
299
- stage: 'structure',
300
- message: 'bridge fees exceed the input amount',
301
- },
302
- BRIDGE_OFFSET_EXCEEDS_CALLDATA: {
303
- error_code: 'BRIDGE_BRIDGE_OFFSET_EXCEEDS_CALLDATA',
304
- stage: 'structure',
305
- message: 'bridge offset exceeds calldata',
306
- },
307
- BRIDGE_SPLICE_DOES_NOT_TARGET_THE_INPUT_AMOUNT: {
308
- error_code: 'BRIDGE_BRIDGE_SPLICE_DOES_NOT_TARGET_THE_INPUT_AMOUNT',
309
- stage: 'structure',
310
- message: 'bridge splice does not target the input amount',
311
- },
312
- INVALID_FASTMCTP_REFERRER_FEE: {
313
- error_code: 'BRIDGE_INVALID_FASTMCTP_REFERRER_FEE',
314
- stage: 'structure',
315
- message: 'invalid FastMCTP referrer fee',
316
- },
317
- INVALID_SUPERSET_OMNI_TOKEN_PATH: {
318
- error_code: 'BRIDGE_INVALID_SUPERSET_OMNI_TOKEN_PATH',
319
- stage: 'structure',
320
- message: 'invalid Superset omni-token path',
321
- },
322
- INVALID_BRIDGE_OFFSET: {
323
- error_code: 'BRIDGE_INVALID_BRIDGE_OFFSET',
324
- stage: 'structure',
325
- message: 'invalid bridge offset',
326
- },
327
- MISSING_HYPERLANE_TRANSFER: {
328
- error_code: 'BRIDGE_MISSING_HYPERLANE_TRANSFER',
329
- stage: 'structure',
330
- message: 'missing Hyperlane transfer',
331
- },
332
- MISSING_MEGAETH_DESTINATION_TOKEN: {
333
- error_code: 'BRIDGE_MISSING_MEGAETH_DESTINATION_TOKEN',
334
- stage: 'structure',
335
- message: 'missing MegaETH destination token',
336
- },
337
- MISSING_DESTINATION: {
338
- error_code: 'BRIDGE_MISSING_DESTINATION',
339
- stage: 'structure',
340
- message: 'missing destination',
341
- },
342
- MISSING_DESTINATION_CHAIN: {
343
- error_code: 'BRIDGE_MISSING_DESTINATION_CHAIN',
344
- stage: 'structure',
345
- message: 'missing destination chain',
346
- },
347
- MISSING_MIN_OUTPUT: {
348
- error_code: 'BRIDGE_MISSING_MIN_OUTPUT',
349
- stage: 'structure',
350
- message: 'missing min output',
351
- },
352
- MISSING_OUTPUT_TOKEN: {
353
- error_code: 'BRIDGE_MISSING_OUTPUT_TOKEN',
354
- stage: 'structure',
355
- message: 'missing output token',
356
- },
357
- MISSING_QUOTE_ID: {
358
- error_code: 'BRIDGE_MISSING_QUOTE_ID',
359
- stage: 'structure',
360
- message: 'missing quote id',
361
- },
362
- MISSING_RECEIVER: {
363
- error_code: 'BRIDGE_MISSING_RECEIVER',
364
- stage: 'structure',
365
- message: 'missing receiver',
366
- },
367
- MISSING_RELAY_ORDER_ID: {
368
- error_code: 'BRIDGE_MISSING_RELAY_ORDER_ID',
369
- stage: 'structure',
370
- message: 'missing relay order id',
371
- },
372
- MISSING_SOURCE_AMOUNT: {
373
- error_code: 'BRIDGE_MISSING_SOURCE_AMOUNT',
374
- stage: 'structure',
375
- message: 'missing source amount',
376
- },
377
- MISSING_SOURCE_TOKEN: {
378
- error_code: 'BRIDGE_MISSING_SOURCE_TOKEN',
379
- stage: 'structure',
380
- message: 'missing source token',
381
- },
382
- MULTIPLE_SOURCE_ASSETS_ARE_NOT_SUPPORTED: {
383
- error_code: 'BRIDGE_MULTIPLE_SOURCE_ASSETS_ARE_NOT_SUPPORTED',
384
- stage: 'structure',
385
- message: 'multiple source assets are not supported',
386
- },
387
- SPOKE_POOL_IS_NOT_IN_THE_ALLOWLIST: {
388
- error_code: 'BRIDGE_SPOKE_POOL_IS_NOT_IN_THE_ALLOWLIST',
389
- stage: 'structure',
390
- message: 'spoke pool is not in the allowlist',
391
- },
392
- UNSUPPORTED_HYPERLANE_OPERATION: {
393
- error_code: 'BRIDGE_UNSUPPORTED_HYPERLANE_OPERATION',
394
- stage: 'structure',
395
- message: 'unsupported Hyperlane operation',
396
- },
397
- UNSUPPORTED_RELAY_SOURCE_ASSET_LIST: {
398
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_SOURCE_ASSET_LIST',
399
- stage: 'structure',
400
- message: 'unsupported Relay source asset list',
401
- },
402
- UNSUPPORTED_SOCKET_CCTP_TARGET_SPENDER_OR_VALUE: {
403
- error_code: 'BRIDGE_UNSUPPORTED_SOCKET_CCTP_TARGET_SPENDER_OR_VALUE',
404
- stage: 'structure',
405
- message: 'unsupported Socket CCTP target, spender or value',
406
- },
407
- UNSUPPORTED_SOCKET_RFQ_TARGET_SPENDER_OR_VALUE: {
408
- error_code: 'BRIDGE_UNSUPPORTED_SOCKET_RFQ_TARGET_SPENDER_OR_VALUE',
409
- stage: 'structure',
410
- message: 'unsupported Socket RFQ target, spender or value',
411
- },
412
- UNSUPPORTED_SOCKET_OPERATOR_OR_ROUTER: {
413
- error_code: 'BRIDGE_UNSUPPORTED_SOCKET_OPERATOR_OR_ROUTER',
414
- stage: 'structure',
415
- message: 'unsupported Socket operator or router',
416
- },
417
- UNSUPPORTED_DESTINATION_CALL: {
418
- error_code: 'BRIDGE_UNSUPPORTED_DESTINATION_CALL',
419
- stage: 'structure',
420
- message: 'unsupported destination call',
421
- },
422
- UNSUPPORTED_NON_EVM_FRAX_RECEIVER: {
423
- error_code: 'BRIDGE_UNSUPPORTED_NON_EVM_FRAX_RECEIVER',
424
- stage: 'structure',
425
- message: 'unsupported non-EVM Frax receiver',
426
- },
427
- UNSUPPORTED_SWAPS_XYZ_EXECUTION: {
428
- error_code: 'BRIDGE_UNSUPPORTED_SWAPS_XYZ_EXECUTION',
429
- stage: 'structure',
430
- message: 'unsupported swaps-xyz execution',
431
- },
432
- // intent — 解析结果与用户意图的字段比对
433
- DEPOSITOR_MISMATCH: {
434
- error_code: 'BRIDGE_DEPOSITOR_MISMATCH',
435
- stage: 'intent',
436
- message: 'depositor',
437
- },
438
- FROM_AMOUNT_MISMATCH: {
439
- error_code: 'BRIDGE_FROM_AMOUNT_MISMATCH',
440
- stage: 'intent',
441
- message: 'from_amount',
442
- },
443
- FROM_TOKEN_MISMATCH: {
444
- error_code: 'BRIDGE_FROM_TOKEN_MISMATCH',
445
- stage: 'intent',
446
- message: 'from_token',
447
- },
448
- MIN_RECEIVE_MISMATCH: {
449
- error_code: 'BRIDGE_MIN_RECEIVE_MISMATCH',
450
- stage: 'intent',
451
- message: 'min_receive',
452
- },
453
- RECEIVER_MISMATCH: {
454
- error_code: 'BRIDGE_RECEIVER_MISMATCH',
455
- stage: 'intent',
456
- message: 'receiver',
457
- },
458
- TO_CHAIN_MISMATCH: {
459
- error_code: 'BRIDGE_TO_CHAIN_MISMATCH',
460
- stage: 'intent',
461
- message: 'to_chain',
462
- },
463
- TO_TOKEN_MISMATCH: {
464
- error_code: 'BRIDGE_TO_TOKEN_MISMATCH',
465
- stage: 'intent',
466
- message: 'to_token',
467
- },
468
- // provider_request — 当前 后端 / 服务商请求、超时和分页
469
- PROVIDER_HTTP_ERROR: {
470
- error_code: 'BRIDGE_PROVIDER_HTTP_ERROR',
471
- stage: 'provider_request',
472
- message: 'Bridge provider HTTP error',
473
- },
474
- LAYERSWAP_LOOKUP_TIMED_OUT: {
475
- error_code: 'BRIDGE_LAYERSWAP_LOOKUP_TIMED_OUT',
476
- stage: 'provider_request',
477
- message: 'LayerSwap lookup timed out',
478
- },
479
- LAYERSWAP_ORDER_NOT_FOUND: {
480
- error_code: 'BRIDGE_LAYERSWAP_ORDER_NOT_FOUND',
481
- stage: 'provider_request',
482
- message: 'LayerSwap order was not found within the lookup limit',
483
- },
484
- LAYERSWAP_PAGINATION_DID_NOT_ADVANCE: {
485
- error_code: 'BRIDGE_LAYERSWAP_PAGINATION_DID_NOT_ADVANCE',
486
- stage: 'provider_request',
487
- message: 'LayerSwap pagination did not advance',
488
- },
489
- SOCKET_QUOTE_REQUEST_REJECTED: {
490
- error_code: 'BRIDGE_SOCKET_QUOTE_REQUEST_REJECTED',
491
- stage: 'provider_request',
492
- message: 'Socket quote request rejected',
493
- },
494
- BACKEND_BUILD_REQUEST_FAILED: {
495
- error_code: 'BRIDGE_BACKEND_BUILD_REQUEST_FAILED',
496
- stage: 'provider_request',
497
- message: 'backend build request failed',
498
- },
499
- BACKEND_QUOTE_REQUEST_FAILED: {
500
- error_code: 'BRIDGE_BACKEND_QUOTE_REQUEST_FAILED',
501
- stage: 'provider_request',
502
- message: 'backend quote request failed',
503
- },
504
- REQUEST_TIMED_OUT: {
505
- error_code: 'BRIDGE_REQUEST_TIMED_OUT',
506
- stage: 'provider_request',
507
- message: 'request timed out',
508
- },
509
- SERVICE_REQUEST_FAILED: {
510
- error_code: 'BRIDGE_SERVICE_REQUEST_FAILED',
511
- stage: 'provider_request',
512
- message: 'service request failed',
513
- },
514
- UNSUPPORTED_SERVICE_PATH: {
515
- error_code: 'BRIDGE_UNSUPPORTED_SERVICE_PATH',
516
- stage: 'provider_request',
517
- message: 'unsupported service path',
518
- },
519
- // provider_response — 服务商响应格式与订单内容
520
- LAYERSWAP_AMOUNT_EXCEEDS_TOKEN_PRECISION: {
521
- error_code: 'BRIDGE_LAYERSWAP_AMOUNT_EXCEEDS_TOKEN_PRECISION',
522
- stage: 'provider_response',
523
- message: 'LayerSwap amount exceeds token precision',
524
- },
525
- LAYERSWAP_BRIDGE_ID_MISMATCH: {
526
- error_code: 'BRIDGE_LAYERSWAP_BRIDGE_ID_MISMATCH',
527
- stage: 'provider_response',
528
- message: 'LayerSwap bridge id mismatch',
529
- },
530
- LAYERSWAP_BRIDGE_INPUT_MISMATCH: {
531
- error_code: 'BRIDGE_LAYERSWAP_BRIDGE_INPUT_MISMATCH',
532
- stage: 'provider_response',
533
- message: 'LayerSwap bridge input mismatch',
534
- },
535
- LAYERSWAP_CHAIN_MISMATCH: {
536
- error_code: 'BRIDGE_LAYERSWAP_CHAIN_MISMATCH',
537
- stage: 'provider_response',
538
- message: 'LayerSwap chain mismatch',
539
- },
540
- LAYERSWAP_QUOTE_TOKEN_MISMATCH: {
541
- error_code: 'BRIDGE_LAYERSWAP_QUOTE_TOKEN_MISMATCH',
542
- stage: 'provider_response',
543
- message: 'LayerSwap quote token mismatch',
544
- },
545
- LAYERSWAP_QUOTED_AMOUNT_CHANGED: {
546
- error_code: 'BRIDGE_LAYERSWAP_QUOTED_AMOUNT_CHANGED',
547
- stage: 'provider_response',
548
- message: 'LayerSwap quoted amount changed',
549
- },
550
- LAYERSWAP_RECEIVER_MISMATCH: {
551
- error_code: 'BRIDGE_LAYERSWAP_RECEIVER_MISMATCH',
552
- stage: 'provider_response',
553
- message: 'LayerSwap receiver mismatch',
554
- },
555
- LAYERSWAP_REFUND_RECIPIENT_MISMATCH: {
556
- error_code: 'BRIDGE_LAYERSWAP_REFUND_RECIPIENT_MISMATCH',
557
- stage: 'provider_response',
558
- message: 'LayerSwap refund recipient mismatch',
559
- },
560
- LAYERSWAP_REQUEST_ID_MISMATCH: {
561
- error_code: 'BRIDGE_LAYERSWAP_REQUEST_ID_MISMATCH',
562
- stage: 'provider_response',
563
- message: 'LayerSwap request id mismatch',
564
- },
565
- LAYERSWAP_SOURCE_VALUE_MISMATCH: {
566
- error_code: 'BRIDGE_LAYERSWAP_SOURCE_VALUE_MISMATCH',
567
- stage: 'provider_response',
568
- message: 'LayerSwap source value mismatch',
569
- },
570
- RELAY_APPROVAL_MISMATCH: {
571
- error_code: 'BRIDGE_RELAY_APPROVAL_MISMATCH',
572
- stage: 'provider_response',
573
- message: 'Relay approval mismatch',
574
- },
575
- RELAY_CANONICAL_DEPOSITORY_MISMATCH: {
576
- error_code: 'BRIDGE_RELAY_CANONICAL_DEPOSITORY_MISMATCH',
577
- stage: 'provider_response',
578
- message: 'Relay canonical depository mismatch',
579
- },
580
- RELAY_DISPLAY_AMOUNT_MISMATCH: {
581
- error_code: 'BRIDGE_RELAY_DISPLAY_AMOUNT_MISMATCH',
582
- stage: 'provider_response',
583
- message: 'Relay display amount does not match order',
584
- },
585
- RELAY_ORDER_CHAIN_MISMATCH: {
586
- error_code: 'BRIDGE_RELAY_ORDER_CHAIN_MISMATCH',
587
- stage: 'provider_response',
588
- message: 'Relay order chain mismatch',
589
- },
590
- RELAY_ORDER_HASH_MISMATCH: {
591
- error_code: 'BRIDGE_RELAY_ORDER_HASH_MISMATCH',
592
- stage: 'provider_response',
593
- message: 'Relay order hash does not match',
594
- },
595
- RELAY_PROTOCOL_CHAIN_MISMATCH: {
596
- error_code: 'BRIDGE_RELAY_PROTOCOL_CHAIN_MISMATCH',
597
- stage: 'provider_response',
598
- message: 'Relay protocol chain mismatch',
599
- },
600
- RELAY_REFUND_RECIPIENT_MISMATCH: {
601
- error_code: 'BRIDGE_RELAY_REFUND_RECIPIENT_MISMATCH',
602
- stage: 'provider_response',
603
- message: 'Relay refund recipient mismatch',
604
- },
605
- RELAY_SOURCE_PAYMENT_MISMATCH: {
606
- error_code: 'BRIDGE_RELAY_SOURCE_PAYMENT_MISMATCH',
607
- stage: 'provider_response',
608
- message: 'Relay source payment mismatch',
609
- },
610
- RELAY_SOURCE_VALUE_MISMATCH: {
611
- error_code: 'BRIDGE_RELAY_SOURCE_VALUE_MISMATCH',
612
- stage: 'provider_response',
613
- message: 'Relay source value mismatch',
614
- },
615
- SOCKET_RFQ_ORDER_MISMATCH: {
616
- error_code: 'BRIDGE_SOCKET_RFQ_ORDER_MISMATCH',
617
- stage: 'provider_response',
618
- message: 'Socket RFQ order mismatch',
619
- },
620
- SOCKET_APPROVAL_MISMATCH: {
621
- error_code: 'BRIDGE_SOCKET_APPROVAL_MISMATCH',
622
- stage: 'provider_response',
623
- message: 'Socket approval mismatch',
624
- },
625
- SOCKET_BRIDGE_CHAIN_MISMATCH: {
626
- error_code: 'BRIDGE_SOCKET_BRIDGE_CHAIN_MISMATCH',
627
- stage: 'provider_response',
628
- message: 'Socket bridge chain mismatch',
629
- },
630
- SOCKET_BRIDGE_OUTPUT_MISMATCH: {
631
- error_code: 'BRIDGE_SOCKET_BRIDGE_OUTPUT_MISMATCH',
632
- stage: 'provider_response',
633
- message: 'Socket bridge output mismatch',
634
- },
635
- SOCKET_PUBLIC_APP_FEE_UNSUPPORTED: {
636
- error_code: 'BRIDGE_SOCKET_PUBLIC_APP_FEE_UNSUPPORTED',
637
- stage: 'provider_response',
638
- message: 'Socket public API does not support app fees; dedicated client access is required',
639
- },
640
- SOCKET_QUOTE_INPUT_MISMATCH: {
641
- error_code: 'BRIDGE_SOCKET_QUOTE_INPUT_MISMATCH',
642
- stage: 'provider_response',
643
- message: 'Socket quote input mismatch',
644
- },
645
- SOCKET_SOURCE_QUOTE_MISMATCH: {
646
- error_code: 'BRIDGE_SOCKET_SOURCE_QUOTE_MISMATCH',
647
- stage: 'provider_response',
648
- message: 'Socket source quote mismatch',
649
- },
650
- AMBIGUOUS_LAYERSWAP_REQUEST_ID: {
651
- error_code: 'BRIDGE_AMBIGUOUS_LAYERSWAP_REQUEST_ID',
652
- stage: 'provider_response',
653
- message: 'ambiguous LayerSwap request id',
654
- },
655
- AMBIGUOUS_RELAY_CHAIN: {
656
- error_code: 'BRIDGE_AMBIGUOUS_RELAY_CHAIN',
657
- stage: 'provider_response',
658
- message: 'ambiguous Relay chain',
659
- },
660
- INVALID_LAYERSWAP_AMOUNT: {
661
- error_code: 'BRIDGE_INVALID_LAYERSWAP_AMOUNT',
662
- stage: 'provider_response',
663
- message: 'invalid LayerSwap amount',
664
- },
665
- INVALID_LAYERSWAP_OUTPUT_AMOUNT: {
666
- error_code: 'BRIDGE_INVALID_LAYERSWAP_OUTPUT_AMOUNT',
667
- stage: 'provider_response',
668
- message: 'invalid LayerSwap output amount',
669
- },
670
- INVALID_LAYERSWAP_SWAP_ID: {
671
- error_code: 'BRIDGE_INVALID_LAYERSWAP_SWAP_ID',
672
- stage: 'provider_response',
673
- message: 'invalid LayerSwap swap id',
674
- },
675
- INVALID_ADDRESS: {
676
- error_code: 'BRIDGE_INVALID_ADDRESS',
677
- stage: 'provider_response',
678
- message: 'invalid address',
679
- },
680
- INVALID_AMOUNT: {
681
- error_code: 'BRIDGE_INVALID_AMOUNT',
682
- stage: 'provider_response',
683
- message: 'invalid amount',
684
- },
685
- INVALID_AMOUNT_EXPONENT: {
686
- error_code: 'BRIDGE_INVALID_AMOUNT_EXPONENT',
687
- stage: 'provider_response',
688
- message: 'invalid amount exponent',
689
- },
690
- INVALID_ARRAY: {
691
- error_code: 'BRIDGE_INVALID_ARRAY',
692
- stage: 'provider_response',
693
- message: 'invalid array',
694
- },
695
- INVALID_BYTES: {
696
- error_code: 'BRIDGE_INVALID_BYTES',
697
- stage: 'provider_response',
698
- message: 'invalid bytes',
699
- },
700
- INVALID_FEE_DISPLAY: {
701
- error_code: 'BRIDGE_INVALID_FEE_DISPLAY',
702
- stage: 'provider_response',
703
- message: 'invalid fee display',
704
- },
705
- INVALID_MINIMUM_PRECISION: {
706
- error_code: 'BRIDGE_INVALID_MINIMUM_PRECISION',
707
- stage: 'provider_response',
708
- message: 'invalid minimum precision',
709
- },
710
- INVALID_OBJECT: {
711
- error_code: 'BRIDGE_INVALID_OBJECT',
712
- stage: 'provider_response',
713
- message: 'invalid object',
714
- },
715
- INVALID_RESPONSE: {
716
- error_code: 'BRIDGE_INVALID_RESPONSE',
717
- stage: 'provider_response',
718
- message: 'invalid response',
719
- },
720
- INVALID_SLIPPAGE: {
721
- error_code: 'BRIDGE_INVALID_SLIPPAGE',
722
- stage: 'provider_response',
723
- message: 'invalid slippage',
724
- },
725
- INVALID_STRING: {
726
- error_code: 'BRIDGE_INVALID_STRING',
727
- stage: 'provider_response',
728
- message: 'invalid string',
729
- },
730
- MISSING_LAYERSWAP_AMOUNT: {
731
- error_code: 'BRIDGE_MISSING_LAYERSWAP_AMOUNT',
732
- stage: 'provider_response',
733
- message: 'missing LayerSwap amount',
734
- },
735
- PROVIDER_RESPONSE_IS_NOT_VALID_JSON: {
736
- error_code: 'BRIDGE_PROVIDER_RESPONSE_IS_NOT_VALID_JSON',
737
- stage: 'provider_response',
738
- message: 'provider response is not valid JSON',
739
- },
740
- INVALID_SLIPPAGE_PRECISION: {
741
- error_code: 'BRIDGE_INVALID_SLIPPAGE_PRECISION',
742
- stage: 'provider_response',
743
- message: 'slippage must be a fraction with at most four decimals',
744
- },
745
- UNSAFE_LAYERSWAP_AMOUNT: {
746
- error_code: 'BRIDGE_UNSAFE_LAYERSWAP_AMOUNT',
747
- stage: 'provider_response',
748
- message: 'unsafe LayerSwap amount',
749
- },
750
- UNSAFE_NUMBER: {
751
- error_code: 'BRIDGE_UNSAFE_NUMBER',
752
- stage: 'provider_response',
753
- message: 'unsafe number',
754
- },
755
- UNSUPPORTED_LAYERSWAP_NON_EVM_RECEIVER: {
756
- error_code: 'BRIDGE_UNSUPPORTED_LAYERSWAP_NON_EVM_RECEIVER',
757
- stage: 'provider_response',
758
- message: 'unsupported LayerSwap non-EVM receiver',
759
- },
760
- UNSUPPORTED_LAYERSWAP_TRANSACTION: {
761
- error_code: 'BRIDGE_UNSUPPORTED_LAYERSWAP_TRANSACTION',
762
- stage: 'provider_response',
763
- message: 'unsupported LayerSwap transaction',
764
- },
765
- UNSUPPORTED_RELAY_VM: {
766
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_VM',
767
- stage: 'provider_response',
768
- message: 'unsupported Relay VM',
769
- },
770
- UNSUPPORTED_RELAY_APPROVAL: {
771
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_APPROVAL',
772
- stage: 'provider_response',
773
- message: 'unsupported Relay approval',
774
- },
775
- UNSUPPORTED_RELAY_APPROVAL_COUNT: {
776
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_APPROVAL_COUNT',
777
- stage: 'provider_response',
778
- message: 'unsupported Relay approval count',
779
- },
780
- UNSUPPORTED_RELAY_DEPOSIT: {
781
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_DEPOSIT',
782
- stage: 'provider_response',
783
- message: 'unsupported Relay deposit',
784
- },
785
- UNSUPPORTED_RELAY_DEPOSIT_COUNT: {
786
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_DEPOSIT_COUNT',
787
- stage: 'provider_response',
788
- message: 'unsupported Relay deposit count',
789
- },
790
- UNSUPPORTED_RELAY_DEPOSIT_METHOD: {
791
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_DEPOSIT_METHOD',
792
- stage: 'provider_response',
793
- message: 'unsupported Relay deposit method',
794
- },
795
- UNSUPPORTED_RELAY_ORDER_SHAPE: {
796
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_ORDER_SHAPE',
797
- stage: 'provider_response',
798
- message: 'unsupported Relay order shape',
799
- },
800
- UNSUPPORTED_RELAY_ORDER_VERSION: {
801
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_ORDER_VERSION',
802
- stage: 'provider_response',
803
- message: 'unsupported Relay order version',
804
- },
805
- UNSUPPORTED_RELAY_STEP: {
806
- error_code: 'BRIDGE_UNSUPPORTED_RELAY_STEP',
807
- stage: 'provider_response',
808
- message: 'unsupported Relay step',
809
- },
810
- UNSUPPORTED_SOCKET_CCTP_RECEIVER: {
811
- error_code: 'BRIDGE_UNSUPPORTED_SOCKET_CCTP_RECEIVER',
812
- stage: 'provider_response',
813
- message: 'unsupported Socket CCTP receiver',
814
- },
815
- UNSUPPORTED_SOCKET_SERVICE_ROUTE: {
816
- error_code: 'BRIDGE_UNSUPPORTED_SOCKET_SERVICE_ROUTE',
817
- stage: 'provider_response',
818
- message: 'unsupported Socket service route',
819
- },
820
- UNSUPPORTED_SOCKET_TRANSACTION: {
821
- error_code: 'BRIDGE_UNSUPPORTED_SOCKET_TRANSACTION',
822
- stage: 'provider_response',
823
- message: 'unsupported Socket transaction',
824
- },
825
- // provider_binding — 订单、报价缓存与待签交易绑定
826
- LAYERSWAP_TRANSACTION_IS_REQUIRED: {
827
- error_code: 'BRIDGE_LAYERSWAP_TRANSACTION_IS_REQUIRED',
828
- stage: 'provider_binding',
829
- message: 'LayerSwap transaction is required',
830
- },
831
- A_DIRECT_PROVIDER_QUOTE_IS_REQUIRED: {
832
- error_code: 'BRIDGE_A_DIRECT_PROVIDER_QUOTE_IS_REQUIRED',
833
- stage: 'provider_binding',
834
- message: 'a direct provider quote is required',
835
- },
836
- PROVIDER_DESTINATION_UNBOUND: {
837
- error_code: 'BRIDGE_PROVIDER_DESTINATION_UNBOUND',
838
- stage: 'provider_binding',
839
- message: 'destination conditions are not bound to a verified provider transaction',
840
- },
841
- INVALID_TRANSACTION: {
842
- error_code: 'BRIDGE_INVALID_TRANSACTION',
843
- stage: 'provider_binding',
844
- message: 'invalid transaction',
845
- },
846
- PROVIDER_CLIENT_CONTEXT_CHANGED: {
847
- error_code: 'BRIDGE_PROVIDER_CLIENT_CONTEXT_CHANGED',
848
- stage: 'provider_binding',
849
- message: 'provider client context changed',
850
- },
851
- QUOTE_DOES_NOT_MATCH_LOCAL_INTENT: {
852
- error_code: 'BRIDGE_QUOTE_DOES_NOT_MATCH_LOCAL_INTENT',
853
- stage: 'provider_binding',
854
- message: 'quote does not match local intent',
855
- },
856
- QUOTE_REQUEST_WAS_INVALIDATED: {
857
- error_code: 'BRIDGE_QUOTE_REQUEST_WAS_INVALIDATED',
858
- stage: 'provider_binding',
859
- message: 'quote request was invalidated',
860
- },
861
- QUOTED_AMOUNT_CHANGED: {
862
- error_code: 'BRIDGE_QUOTED_AMOUNT_CHANGED',
863
- stage: 'provider_binding',
864
- message: 'quoted amount changed',
865
- },
866
- SOURCE_TRANSACTION_CHANGED: {
867
- error_code: 'BRIDGE_SOURCE_TRANSACTION_CHANGED',
868
- stage: 'provider_binding',
869
- message: 'source transaction changed',
870
- },
871
- // completeness — 必须验证的字段缺失
872
- UNVERIFIED_BRIDGE_FIELDS: {
873
- error_code: 'BRIDGE_UNVERIFIED_BRIDGE_FIELDS',
874
- stage: 'completeness',
875
- message: 'unverified bridge fields',
876
- },
877
- // unknown — 未分类异常兜底,不包含外部异常原文
878
- UNKNOWN: {
879
- error_code: 'BRIDGE_UNKNOWN',
880
- stage: 'unknown',
881
- message: 'unknown bridge error',
882
- },
883
- };