@provablehq/aleo-bridge-sdk 0.8.0-rc.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.
@@ -0,0 +1,421 @@
1
+ import { B as BridgeRegistry, P as PrepareTransferParameters, a as BridgeTransferPlan, E as EvmBridgeExecutor, b as ExecuteEvmHyperlaneTransferParameters, c as EvmHyperlaneTransferExecution, Q as QuoteEvmHyperlaneTransferParameters, d as EvmHyperlaneTransferQuote, e as ExecuteEvmXReserveTransferParameters, f as EvmXReserveTransferExecution, X as XReserveHttpTransport, G as GetXReserveAttestationParameters, g as XReserveAttestationResult, h as QuoteEvmXReserveTransferParameters, i as EvmXReserveTransferQuote, A as AleoBridgeExecutor, j as ExecuteXReservePrivateMintParameters, k as XReservePrivateMintExecution, l as ExecuteXReserveBurnParameters, m as XReserveBurnCall, n as XReserveBurnExecution, o as ExecuteAleoHyperlaneTransferRemoteParameters, p as AleoHyperlaneTransferRemoteCall, q as AleoHyperlaneTransferRemoteExecution, r as BridgeEnvironment, s as AleoMintMode } from './createBridgeClient-CjHY-JvW.js';
2
+ export { t as BridgeActions, u as BridgeActionsConfig, v as BridgeAssetKind, w as BridgeAssetLocator, x as BridgeChainFamily, y as BridgeClient, z as BridgeClientConfig, C as BridgeExecutionStep, D as BridgeExecutionStepKind, F as BridgeExecutors, H as BridgeFee, I as BridgeProtocol, J as BridgeQuoteStatus, K as BridgeRouteAvailability, L as BridgeStepExecutor, M as BridgeTransferQuote, N as BridgeTransferReceipt, O as BridgeTransferStatus, R as EvmHyperlaneRouteMetadata, S as EvmHyperlaneRouterType, T as EvmXReserveRouteMetadata, U as GetAssetsParameters, V as GetRoutesParameters, W as ProtocolBridgeAsset, Y as ProtocolBridgeChain, Z as ProtocolBridgeRoute, _ as XReserveBurnMode, $ as XReserveHttpResponse, a0 as bridgeActions, a1 as createBridgeClient, a2 as getAssets, a3 as getRoutes } from './createBridgeClient-CjHY-JvW.js';
3
+ import { Hex, Address, Hash } from 'viem';
4
+ import '@provablehq/veil-core';
5
+
6
+ /**
7
+ * Prepares the ordered operations for a protocol bridge transfer.
8
+ *
9
+ * Pure and local: validates the route, amount, and recipient, then returns a
10
+ * serializable plan. It does not query fees, sign, submit, or move funds.
11
+ * Routes marked `metadata-required` can be planned but cannot be executed until
12
+ * a later protocol adapter validates their deployment metadata.
13
+ *
14
+ * @param registry Reviewed registry snapshot.
15
+ * @param params Route, decimal amount, recipient, and optional sender/privacy mode.
16
+ * @returns A resumable transfer plan with the irreversible step identified.
17
+ * @throws BridgeError When the route is missing or disabled, the amount is zero
18
+ * or malformed, its precision exceeds either asset, or the recipient fails validation.
19
+ *
20
+ * @example
21
+ * const plan = prepareTransfer(registry, {
22
+ * routeId: 'xreserve:ethereum/usdc->aleo/usdcx',
23
+ * amount: '25',
24
+ * recipient: 'aleo1...',
25
+ * })
26
+ */
27
+ declare function prepareTransfer(registry: BridgeRegistry, params: PrepareTransferParameters): BridgeTransferPlan;
28
+
29
+ /**
30
+ * Quotes an Ethereum-to-Aleo Hyperlane Warp Route transfer.
31
+ *
32
+ * Calls the reviewed router's `quoteTransferRemote` through the supplied EIP-1193
33
+ * executor. The call reads live state but does not request a signature or move funds.
34
+ *
35
+ * @param registry Reviewed deployment snapshot used to validate the prepared plan.
36
+ * @param executor Connected EVM provider used for the read-only contract call.
37
+ * @param params Prepared plan and exact 32-byte Aleo recipient encoding.
38
+ * @returns Atomic native payment and ERC-20 allowance requirements.
39
+ * @throws BridgeError When the route is not an active Ethereum source route, metadata is incomplete, the wallet is on the wrong chain, or the router returns an unusable quote.
40
+ *
41
+ * @example
42
+ * const quote = await quoteEvmHyperlaneTransfer(registry, executor, {
43
+ * plan,
44
+ * recipientBytes32: '0x20e3629764d5338f74bee96675801b1fb29d1fc68b177668f9175708bef84311',
45
+ * })
46
+ */
47
+ declare function quoteEvmHyperlaneTransfer(registry: BridgeRegistry, executor: EvmBridgeExecutor, params: QuoteEvmHyperlaneTransferParameters): Promise<EvmHyperlaneTransferQuote>;
48
+ /**
49
+ * Approves collateral when needed and dispatches an Ethereum Hyperlane transfer.
50
+ *
51
+ * Requotes immediately before submission, checks the connected chain and account,
52
+ * and waits for approval receipts before dispatch. USDT routes reset an existing
53
+ * non-zero allowance before setting a new one. Calls can prompt the wallet and move funds.
54
+ *
55
+ * @param registry Reviewed deployment snapshot used to validate the prepared plan.
56
+ * @param executor Connected EIP-1193 wallet used to read, sign, and submit transactions.
57
+ * @param params Prepared plan, wire recipient, and optional receipt polling controls.
58
+ * @returns Submitted transaction ids plus resumable transfer state. Receipt timeouts return a pending state and do not report failure.
59
+ * @throws BridgeError When validation, quoting, wallet submission, or a confirmed transaction fails.
60
+ *
61
+ * @example
62
+ * const execution = await executeEvmHyperlaneTransfer(registry, executor, {
63
+ * plan,
64
+ * recipientBytes32: '0x20e3629764d5338f74bee96675801b1fb29d1fc68b177668f9175708bef84311',
65
+ * })
66
+ */
67
+ declare function executeEvmHyperlaneTransfer(registry: BridgeRegistry, executor: EvmBridgeExecutor, params: ExecuteEvmHyperlaneTransferParameters): Promise<EvmHyperlaneTransferExecution>;
68
+
69
+ /**
70
+ * Reads live USDC balance and xReserve allowance for a prepared deposit.
71
+ *
72
+ * Derives the hook and wire recipient before performing read-only EVM calls. It
73
+ * does not request a signature or move funds.
74
+ *
75
+ * @param registry Reviewed deployment snapshot used to validate the plan.
76
+ * @param executor Connected EIP-1193 provider used for contract reads.
77
+ * @param params Prepared Ethereum-to-Aleo xReserve plan.
78
+ * @returns Atomic deposit values, account balance, allowance, and approval requirement.
79
+ * @throws BridgeError When metadata, wallet state, amount, balance, or recipient is invalid.
80
+ *
81
+ * @example
82
+ * const quote = await quoteEvmXReserveTransfer(registry, executor, { plan })
83
+ */
84
+ declare function quoteEvmXReserveTransfer(registry: BridgeRegistry, executor: EvmBridgeExecutor, params: QuoteEvmXReserveTransferParameters): Promise<EvmXReserveTransferQuote>;
85
+ /**
86
+ * Approves USDC when needed and submits a nonpayable Circle xReserve deposit.
87
+ *
88
+ * Calls the wallet for each required signature, confirms the approval before
89
+ * depositing, and derives the Circle message hash from the confirmed event.
90
+ *
91
+ * @param registry Reviewed deployment snapshot used to validate the plan.
92
+ * @param executor Connected EIP-1193 wallet used to read, sign, and submit.
93
+ * @param params Prepared plan and optional receipt polling controls.
94
+ * @returns Submitted approval ids and resumable xReserve transfer state.
95
+ * @throws BridgeError When validation, submission, confirmation, or event verification fails.
96
+ *
97
+ * @example
98
+ * const execution = await executeEvmXReserveTransfer(registry, executor, { plan })
99
+ */
100
+ declare function executeEvmXReserveTransfer(registry: BridgeRegistry, executor: EvmBridgeExecutor, params: ExecuteEvmXReserveTransferParameters): Promise<EvmXReserveTransferExecution>;
101
+ /**
102
+ * Fetches and validates one Circle attestation, treating HTTP 404 as pending.
103
+ *
104
+ * Performs one request through the injected transport. Completed responses are
105
+ * checked against the requested message hash before being returned.
106
+ *
107
+ * @param registry Reviewed snapshot supplying the Circle endpoint.
108
+ * @param transport Fetch-compatible HTTP capability supplied by the application.
109
+ * @param params Route, message hash, and optional cancellation signal.
110
+ * @returns Pending state or the verified payload and Circle signature.
111
+ * @throws BridgeError For invalid routes, HTTP failures other than 404, or malformed responses.
112
+ *
113
+ * @example
114
+ * const result = await getXReserveAttestation(registry, fetchTransport, { routeId, messageHash })
115
+ */
116
+ declare function getXReserveAttestation(registry: BridgeRegistry, transport: XReserveHttpTransport, params: GetXReserveAttestationParameters): Promise<XReserveAttestationResult>;
117
+
118
+ /**
119
+ * Submits the sole user-authorized Aleo mint in the inbound bridge flows.
120
+ *
121
+ * Requires a private xReserve plan and a completed Circle attestation. The
122
+ * wallet calls the wrapper's `private_mint` with the canonical 305-byte payload,
123
+ * 65-byte signature, 32-byte hash, the plan's secret nonce, and intended recipient. Hyperlane
124
+ * and non-private xReserve destination mints remain relayer-driven.
125
+ *
126
+ * @param registry Reviewed deployment snapshot used to resolve the wrapper program.
127
+ * @param executor Connected Aleo wallet client that proves, signs, and broadcasts.
128
+ * @param params Original plan, confirmed deposit, Circle attestation, and fee privacy choice.
129
+ * @returns The Aleo transaction id and destination-confirming transfer receipt.
130
+ * @throws BridgeError When the plan is not private, identifiers disagree, inputs have invalid widths, or the wallet returns no transaction id.
131
+ *
132
+ * @example
133
+ * const mint = await executeXReservePrivateMint(registry, aleoWalletClient, {
134
+ * plan,
135
+ * deposit: depositExecution.receipt,
136
+ * attestation,
137
+ * })
138
+ */
139
+ declare function executeXReservePrivateMint(registry: BridgeRegistry, executor: AleoBridgeExecutor, params: ExecuteXReservePrivateMintParameters): Promise<XReservePrivateMintExecution>;
140
+
141
+ /**
142
+ * Builds one validated Aleo USDCx burn call without prompting a wallet.
143
+ *
144
+ * Pure and local: fixes Ethereum's Circle domain to `0u32`, encodes the EVM
145
+ * recipient as `[u8; 32]`, and selects the bridge or wrapper transition. Dynamic
146
+ * pause, freeze-list, and burn-limit checks remain atomic on-chain assertions.
147
+ *
148
+ * @param registry Reviewed route snapshot supplying the deployed Aleo programs and domain.
149
+ * @param params Prepared reverse route, burn mode, and private inputs when applicable.
150
+ * @returns Exact program, function, and ordered wallet inputs for the burn.
151
+ * @throws BridgeError When the route, amount, recipient, mode-specific inputs, or metadata is invalid.
152
+ *
153
+ * @example
154
+ * const call = buildXReserveBurnCall(registry, { plan, mode: 'public-as-signer' })
155
+ */
156
+ declare function buildXReserveBurnCall(registry: BridgeRegistry, params: ExecuteXReserveBurnParameters): XReserveBurnCall;
157
+ /**
158
+ * Prompts an Aleo wallet to submit a public, signer-bound, or private USDCx burn.
159
+ *
160
+ * The action returns after broadcast. The Aleo-operated burn attestation service
161
+ * observes accepted burns and forwards them to Circle without another client call.
162
+ *
163
+ * @param registry Reviewed route snapshot used to validate program and domain identifiers.
164
+ * @param executor Connected Aleo wallet client that proves, signs, and broadcasts.
165
+ * @param params Prepared reverse route, selected mode, optional record/proof, and fee privacy.
166
+ * @returns The Aleo transaction id and resumable source-confirming receipt.
167
+ * @throws BridgeError When call construction fails or the wallet returns no transaction id.
168
+ *
169
+ * @example
170
+ * const burn = await executeXReserveBurn(registry, aleoWalletClient, {
171
+ * plan,
172
+ * userRecord,
173
+ * merkleProof,
174
+ * })
175
+ */
176
+ declare function executeXReserveBurn(registry: BridgeRegistry, executor: AleoBridgeExecutor, params: ExecuteXReserveBurnParameters): Promise<XReserveBurnExecution>;
177
+
178
+ /**
179
+ * Builds an Aleo Hyperlane `transfer_remote` call without prompting a wallet.
180
+ *
181
+ * The default registry deliberately produces non-executable calls containing
182
+ * conspicuous placeholder deployment values. This makes the complete seven-input
183
+ * ABI inspectable while preventing those values from being mistaken for live data.
184
+ *
185
+ * @param registry Reviewed route snapshot supplying the Aleo Warp Route configuration.
186
+ * @param params Prepared Aleo-origin Hyperlane plan.
187
+ * @returns Exact program, transition, and ordered Aleo inputs.
188
+ * @throws BridgeError When the plan or route metadata is inconsistent.
189
+ *
190
+ * @example
191
+ * const call = buildAleoHyperlaneTransferRemoteCall(registry, { plan })
192
+ */
193
+ declare function buildAleoHyperlaneTransferRemoteCall(registry: BridgeRegistry, params: ExecuteAleoHyperlaneTransferRemoteParameters): AleoHyperlaneTransferRemoteCall;
194
+ /**
195
+ * Submits a fully configured Aleo Hyperlane `transfer_remote` transaction.
196
+ *
197
+ * Default-registry calls fail before wallet access because their deployment
198
+ * values are placeholders. Submission becomes available only after a reviewed
199
+ * registry removes the placeholder flag and supplies every required value.
200
+ *
201
+ * @param registry Reviewed route snapshot supplying the Aleo Warp Route configuration.
202
+ * @param executor Connected Aleo wallet client that proves, signs, and broadcasts.
203
+ * @param params Prepared Aleo-origin Hyperlane plan and fee preference.
204
+ * @returns The Aleo transaction id and resumable Hyperlane receipt.
205
+ * @throws BridgeError When configuration is placeholder, invalid, or the wallet returns no id.
206
+ */
207
+ declare function executeAleoHyperlaneTransferRemote(registry: BridgeRegistry, executor: AleoBridgeExecutor, params: ExecuteAleoHyperlaneTransferRemoteParameters): Promise<AleoHyperlaneTransferRemoteExecution>;
208
+
209
+ /**
210
+ * Supplies the initial reviewed protocol-route snapshot.
211
+ *
212
+ * xReserve contract identifiers are populated from Circle's published
213
+ * mainnet and testnet tables. Hyperlane routes intentionally remain
214
+ * `metadata-required` until their router, domain, ISM, and token identifiers
215
+ * are pinned from one reviewed registry commit. Pure and local.
216
+ *
217
+ * @example
218
+ * const bridge = createBridgeClient({ registry: DEFAULT_BRIDGE_REGISTRY })
219
+ */
220
+ declare const DEFAULT_BRIDGE_REGISTRY: BridgeRegistry;
221
+
222
+ /**
223
+ * Validates the referential integrity of a protocol bridge registry.
224
+ *
225
+ * Pure and local. Duplicate identifiers and dangling asset/chain references
226
+ * throw before a client can prepare a misleading transfer plan.
227
+ *
228
+ * @param registry Registry supplied to `createBridgeClient`.
229
+ * @returns The validated registry unchanged.
230
+ * @throws BridgeError When identifiers are duplicated or references are missing.
231
+ *
232
+ * @example
233
+ * const registry = validateBridgeRegistry(DEFAULT_BRIDGE_REGISTRY)
234
+ */
235
+ declare function validateBridgeRegistry(registry: BridgeRegistry): BridgeRegistry;
236
+
237
+ /**
238
+ * Decodes a checksummed Aleo bech32m address into xReserve bytes32 form.
239
+ *
240
+ * Pure and local; validates the prefix, length, checksum, padding, and payload width.
241
+ *
242
+ * @param address Aleo account address to encode.
243
+ * @returns Exactly 32 decoded bytes as prefixed hexadecimal.
244
+ * @throws BridgeError When the address has invalid bech32m structure.
245
+ *
246
+ * @example
247
+ * const recipient = aleoAddressToBytes32('aleo1…')
248
+ */
249
+ declare function aleoAddressToBytes32(address: string): Hex;
250
+ /**
251
+ * Derives the Aleo account address owned by a deployed program id.
252
+ *
253
+ * Lazily loads the optional Aleo WASM SDK but performs no network access.
254
+ *
255
+ * @param programId Deployed Aleo program id whose account receives funds.
256
+ * @param environment Consensus environment used for address derivation.
257
+ * @returns The program-owned `aleo1…` account address.
258
+ * @throws BridgeError When the optional SDK is unavailable or derivation fails.
259
+ *
260
+ * @example
261
+ * const wrapper = await aleoProgramAddress('shielded_usdcx_wrapper.aleo', 'mainnet')
262
+ */
263
+ declare function aleoProgramAddress(programId: string, environment: BridgeEnvironment): Promise<string>;
264
+ /**
265
+ * Builds the fixed 65-byte xReserve hook for public, record, or wrapper-private minting.
266
+ *
267
+ * Public and record hooks are pure and local. Private hooks lazily load Aleo WASM
268
+ * to commit the intended recipient with BHP256 and the selected secret nonce.
269
+ *
270
+ * @param mode Destination mint transition selected by the caller.
271
+ * @param recipient Intended Aleo recipient committed by private mode.
272
+ * @param environment Consensus environment used by private commitment derivation.
273
+ * @param secretNonce Aleo scalar literal used by the private commitment. Defaults to `0scalar`.
274
+ * @returns A 65-byte hook whose first byte is 0, 1, or 2.
275
+ * @throws BridgeError When private derivation lacks the optional SDK or the secret nonce is not a valid Aleo scalar.
276
+ *
277
+ * @example
278
+ * const hook = await buildXReserveHookData('record', recipient, 'testnet')
279
+ */
280
+ declare function buildXReserveHookData(mode: AleoMintMode, recipient: string, environment: BridgeEnvironment, secretNonce?: string): Promise<Hex>;
281
+ /**
282
+ * Derives the Circle deposit nonce from source domain, transaction hash, and log index.
283
+ *
284
+ * Pure and local; follows Circle's ABI-padded nonce preimage exactly.
285
+ *
286
+ * @param sourceDomain Circle domain of the source xReserve contract.
287
+ * @param transactionHash Confirmed deposit transaction hash.
288
+ * @param logIndex Zero-based `DepositedToRemote` receipt log index.
289
+ * @returns The Keccak-256 deposit nonce.
290
+ *
291
+ * @example
292
+ * const nonce = calculateXReserveDepositNonce(0, txHash, 3)
293
+ */
294
+ declare function calculateXReserveDepositNonce(sourceDomain: number, transactionHash: Hash, logIndex: number): Hash;
295
+ /**
296
+ * Builds the canonical 305-byte Circle xReserve v2 deposit payload.
297
+ *
298
+ * Pure and local; rejects fields with invalid wire widths before constructing the payload.
299
+ *
300
+ * @param params Event-derived deposit values and reviewed route identifiers.
301
+ * @returns The exact payload submitted to Circle's attester.
302
+ * @throws BridgeError When a value is invalid or exceeds its wire width.
303
+ *
304
+ * @example
305
+ * const payload = buildXReserveDepositPayload(fields)
306
+ */
307
+ declare function buildXReserveDepositPayload(params: {
308
+ amount: bigint;
309
+ remoteDomain: number;
310
+ remoteToken: Hex;
311
+ remoteRecipient: Hex;
312
+ localToken: Address;
313
+ depositor: Address;
314
+ maxFee: bigint;
315
+ nonce: Hash;
316
+ hookData: Hex;
317
+ }): Hex;
318
+ /**
319
+ * Hashes a canonical xReserve deposit payload for Circle attestation lookup.
320
+ *
321
+ * Pure and local; computes Keccak-256 without contacting Circle.
322
+ *
323
+ * @param payload Canonical xReserve deposit bytes.
324
+ * @returns The 32-byte Circle message hash.
325
+ *
326
+ * @example
327
+ * const messageHash = calculateXReserveMessageHash(payload)
328
+ */
329
+ declare function calculateXReserveMessageHash(payload: Hex): Hash;
330
+ /**
331
+ * Formats fixed-width hexadecimal bytes as an Aleo `[u8; N]` literal.
332
+ *
333
+ * Pure and local; validates the exact byte width before formatting inputs for a wallet.
334
+ *
335
+ * @param value Prefixed hexadecimal bytes to format.
336
+ * @param expectedBytes Required array width from the target Aleo function.
337
+ * @returns An Aleo array literal containing decimal `u8` values.
338
+ * @throws BridgeError When the input is malformed or has the wrong width.
339
+ *
340
+ * @example
341
+ * const hashInput = xReserveHexToAleoBytes(messageHash, 32)
342
+ */
343
+ declare function xReserveHexToAleoBytes(value: Hex, expectedBytes: number): string;
344
+ /**
345
+ * Encodes an Ethereum address as the 32-byte recipient required by xReserve burns.
346
+ *
347
+ * Pure and local; preserves the 20 address bytes and adds twelve leading zero bytes.
348
+ *
349
+ * @param address Checksummed or lowercase Ethereum address selected by the caller.
350
+ * @returns The address left-padded to exactly 32 bytes.
351
+ * @throws BridgeError When the address is malformed.
352
+ *
353
+ * @example
354
+ * const recipient = evmAddressToXReserveBytes32('0x0000000000000000000000000000000000000001')
355
+ */
356
+ declare function evmAddressToXReserveBytes32(address: string): Hex;
357
+
358
+ /**
359
+ * Encodes an Ethereum account as the two little-endian limbs used by Aleo Warp Routes.
360
+ *
361
+ * Pure and local; validates a 20-byte EVM address, left-pads it to Hyperlane
362
+ * bytes32 form, and interprets each 16-byte half as an Aleo `u128`.
363
+ *
364
+ * @param address Destination Ethereum account supplied by the transfer plan.
365
+ * @returns Two unsigned 128-bit limbs in Hyperlane message order.
366
+ * @throws BridgeError When the destination is not a valid 20-byte EVM address.
367
+ *
368
+ * @example
369
+ * const recipient = evmAddressToAleoHyperlaneRecipient('0x1e196d0a7d8189054c4db744ab3340c3f1c68b19')
370
+ */
371
+ declare function evmAddressToAleoHyperlaneRecipient(address: string): readonly [bigint, bigint];
372
+ /**
373
+ * Encodes a Solana account as the two little-endian limbs used by Aleo Warp Routes.
374
+ *
375
+ * Pure and local; decodes a base58 account to its 32-byte public key and
376
+ * interprets each 16-byte half as an Aleo `u128`.
377
+ *
378
+ * @param address Destination Solana account supplied by the transfer plan.
379
+ * @returns Two unsigned 128-bit limbs in Hyperlane message order.
380
+ * @throws BridgeError When the destination is not a base58-encoded 32-byte account.
381
+ *
382
+ * @example
383
+ * const recipient = solanaAddressToAleoHyperlaneRecipient('11111111111111111111111111111111')
384
+ */
385
+ declare function solanaAddressToAleoHyperlaneRecipient(address: string): readonly [bigint, bigint];
386
+
387
+ /**
388
+ * Represents protocol bridge configuration and planning failures.
389
+ *
390
+ * @example
391
+ * try {
392
+ * bridge.prepareTransfer(params)
393
+ * } catch (error) {
394
+ * if (error instanceof BridgeError) console.error(error.message)
395
+ * }
396
+ */
397
+ declare class BridgeError extends Error {
398
+ constructor(message: string, options?: ErrorOptions);
399
+ }
400
+
401
+ /**
402
+ * Converts a decimal amount string into the asset's atomic units.
403
+ *
404
+ * Protocol inputs use display decimals (`"0.5"` ALEO), while onchain calls
405
+ * use atomic integers (`500000n` microcredits). String arithmetic keeps the
406
+ * conversion exact without floating-point rounding. Pure and local.
407
+ *
408
+ * @param amount Decimal amount as a string (e.g. `"0.5"`, `"100"`).
409
+ * @param decimals The asset's display decimals (e.g. 6 for ALEO/USDC, 18 for ETH).
410
+ * @returns The atomic amount as a bigint.
411
+ * @throws BridgeError When the string is not a plain decimal number, or has
412
+ * more fractional digits than the asset supports (that precision cannot be
413
+ * represented on chain).
414
+ *
415
+ * @example
416
+ * parseDecimalAmount('0.5', 6) // 500000n
417
+ * parseDecimalAmount('100', 6) // 100000000n
418
+ */
419
+ declare function parseDecimalAmount(amount: string, decimals: number): bigint;
420
+
421
+ export { AleoBridgeExecutor, AleoHyperlaneTransferRemoteCall, AleoHyperlaneTransferRemoteExecution, AleoMintMode, BridgeEnvironment, BridgeError, BridgeRegistry, BridgeTransferPlan, DEFAULT_BRIDGE_REGISTRY, EvmBridgeExecutor, EvmHyperlaneTransferExecution, EvmHyperlaneTransferQuote, EvmXReserveTransferExecution, EvmXReserveTransferQuote, ExecuteAleoHyperlaneTransferRemoteParameters, ExecuteEvmHyperlaneTransferParameters, ExecuteEvmXReserveTransferParameters, ExecuteXReserveBurnParameters, ExecuteXReservePrivateMintParameters, GetXReserveAttestationParameters, PrepareTransferParameters, QuoteEvmHyperlaneTransferParameters, QuoteEvmXReserveTransferParameters, XReserveAttestationResult, XReserveBurnCall, XReserveBurnExecution, XReserveHttpTransport, XReservePrivateMintExecution, aleoAddressToBytes32, aleoProgramAddress, buildAleoHyperlaneTransferRemoteCall, buildXReserveBurnCall, buildXReserveDepositPayload, buildXReserveHookData, calculateXReserveDepositNonce, calculateXReserveMessageHash, evmAddressToAleoHyperlaneRecipient, evmAddressToXReserveBytes32, executeAleoHyperlaneTransferRemote, executeEvmHyperlaneTransfer, executeEvmXReserveTransfer, executeXReserveBurn, executeXReservePrivateMint, getXReserveAttestation, parseDecimalAmount, prepareTransfer, quoteEvmHyperlaneTransfer, quoteEvmXReserveTransfer, solanaAddressToAleoHyperlaneRecipient, validateBridgeRegistry, xReserveHexToAleoBytes };