@swapkit/toolboxes 0.0.0-rc-20260728115044 → 0.0.0-rc-20260730090150

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 (57) hide show
  1. package/CHANGELOG.md +5 -41
  2. package/dist/{chunk-v9dcj9m7.js → chunk-ap5mzmjf.js} +1 -1
  3. package/dist/chunk-btth5bse.js +1 -0
  4. package/dist/chunk-z61r1327.js +2 -0
  5. package/dist/src/aleo/index.cjs +1 -0
  6. package/dist/src/aleo/index.js +1 -1
  7. package/dist/src/aptos/index.cjs +1 -0
  8. package/dist/src/aptos/index.js +1 -1
  9. package/dist/src/cardano/index.cjs +1 -0
  10. package/dist/src/cosmos/index.cjs +1 -0
  11. package/dist/src/cosmos/index.js +1 -1
  12. package/dist/src/evm/index.cjs +1 -0
  13. package/dist/src/evm/index.js +1 -1
  14. package/dist/src/hypercore/index.cjs +1 -0
  15. package/dist/src/hypercore/index.js +1 -1
  16. package/dist/src/index.cjs +1 -0
  17. package/dist/src/index.js +1 -1
  18. package/dist/src/near/index.cjs +1 -0
  19. package/dist/src/near/index.js +1 -1
  20. package/dist/src/radix/index.cjs +1 -0
  21. package/dist/src/ripple/index.cjs +1 -0
  22. package/dist/src/ripple/index.js +1 -1
  23. package/dist/src/solana/index.cjs +1 -0
  24. package/dist/src/solana/index.js +1 -1
  25. package/dist/src/starknet/index.cjs +1 -0
  26. package/dist/src/stellar/index.cjs +1 -0
  27. package/dist/src/stellar/index.js +1 -1
  28. package/dist/src/substrate/index.cjs +1 -0
  29. package/dist/src/sui/index.cjs +1 -0
  30. package/dist/src/ton/index.cjs +1 -0
  31. package/dist/src/ton/index.js +1 -1
  32. package/dist/src/tron/index.cjs +1 -0
  33. package/dist/src/tron/index.js +1 -1
  34. package/dist/src/utxo/index.cjs +1 -0
  35. package/dist/src/utxo/index.js +1 -1
  36. package/dist/types/aleo/edwardsBls12.d.ts +1 -0
  37. package/dist/types/aleo/helpers.d.ts +0 -2
  38. package/dist/types/aleo/networkClient.d.ts +11 -0
  39. package/dist/types/aptos/toolbox.d.ts +5 -5
  40. package/dist/types/aptos/types.d.ts +0 -4
  41. package/dist/types/cosmos/thorchainUtils/messages.d.ts +6 -30
  42. package/dist/types/cosmos/thorchainUtils/registry.d.ts +2 -72
  43. package/dist/types/cosmos/thorchainUtils/types/client-types.d.ts +1 -6
  44. package/dist/types/cosmos/toolbox/cosmos.d.ts +11 -9
  45. package/dist/types/cosmos/toolbox/thorchain.d.ts +14 -83
  46. package/dist/types/cosmos/types.d.ts +3 -69
  47. package/dist/types/cosmos/util.d.ts +6 -150
  48. package/dist/types/hypercore/toolbox.d.ts +1 -1
  49. package/dist/types/hypercore/types.d.ts +0 -2
  50. package/dist/types/ripple/index.d.ts +1 -5
  51. package/dist/types/solana/index.d.ts +0 -2
  52. package/dist/types/solana/toolbox.d.ts +1 -1
  53. package/dist/types/ton/toolbox.d.ts +0 -2
  54. package/dist/types/tron/toolbox.d.ts +1 -1
  55. package/dist/types/tron/types.d.ts +0 -2
  56. package/package.json +96 -22
  57. package/dist/chunk-55jkfkar.js +0 -2
package/CHANGELOG.md CHANGED
@@ -1,53 +1,17 @@
1
1
  # @swapkit/toolboxes
2
2
 
3
- ## 0.0.0-rc-20260728115044
4
-
5
- ### Major Changes
6
-
7
- - [#249](https://github.com/swapkit/sdk/pull/249) [`41505dc`](https://github.com/swapkit/sdk/commit/41505dc0f4f77dd301cfced063013efb6307b9bb) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Replace `@cosmjs/{amino,crypto,proto-signing,stargate}@0.39.0` with native `@swapkit/cosmos-signer` package. The new signer is ESM-native (no CJS↔ESM-only-noble breakage), uses only `@noble/curves`, `@noble/hashes`, `@scure/{base,bip32,bip39}` + `cosmjs-types` for proto encoders. **No `@cosmjs/*` runtime dependency.**
8
-
9
- **Public API preserved**: all `@swapkit/toolboxes/cosmos` exports keep their signatures (`getCosmosToolbox`, `getThorchainToolbox`, `signTransaction`, `signAndBroadcastTransaction`, `transfer`, `signMultisigTx`, `broadcastMultisigTx`, etc.). Wallet adapter interfaces (`OfflineDirectSigner` / `OfflineAminoSigner`) keep the same shape so Keplr/Leap/Ledger integrations compile unchanged.
10
-
11
- **Why major on `@swapkit/toolboxes`**: removes `@cosmjs/*` from `peerDependencies` — downstream consumers no longer need to install them. Anyone explicitly importing cosmjs types via toolboxes' transitive deps (none expected, but possible) must now depend on cosmjs directly or migrate to `@swapkit/cosmos-signer` types.
12
-
13
- **New package**: `@swapkit/cosmos-signer@0.1.0` exposes HD wallet derivation, bech32 address helpers, direct/amino signing (byte-equal vs cosmjs), proto tx encoding (TxBody/AuthInfo/TxRaw/MsgSend), multi-sig (byte-exact fixture from cosmjs@0.39 over a known THORChain 2-of-3 set), Tendermint JSON-RPC client with optional URL-array failover, and typed queries (`getAccount`, `getBalances`, `broadcastTx`).
14
-
15
- - [#344](https://github.com/swapkit/sdk/pull/344) [`7f99d74`](https://github.com/swapkit/sdk/commit/7f99d74ec21d58d07b2cccc5b111f8fdae6c7afb) Thanks [@ice-chillios](https://github.com/ice-chillios)! - **ESM-only packages.** CommonJS output (`.cjs`) and `require` export conditions have been removed; every package now ships ESM only (code-splitting stays enabled), with a uniform `{ default, types }` exports shape. `buildPackage` from `@swapkit/tools-builder` no longer emits CJS and the unused `esmOnly` option has been removed.
16
-
17
- For CommonJS consumers: on Node >= 20.19 / >= 22.12, `require()` of these packages continues to work via Node's native require(ESM) support (the entrypoints contain no top-level `await`). On older Node versions, `require()` throws `ERR_REQUIRE_ESM` — migrate to `import` or dynamic `import()`.
3
+ ## 0.0.0-rc-20260730090150
18
4
 
19
5
  ### Minor Changes
20
6
 
21
- - [#298](https://github.com/swapkit/sdk/pull/298) [`3017621`](https://github.com/swapkit/sdk/commit/3017621ee5c2da15550036853df74d81f59d6ffb) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Speed up `createTransaction` across toolboxes by removing serial and redundant network round-trips from the build path. Two techniques, both backward-compatible:
7
+ - [`346cf56`](https://github.com/swapkit/sdk/commit/346cf56083aef257ccf503e18ad3fb9a60fae5ee) Thanks [@towanTG](https://github.com/towanTG)! - Aleo address validation is now fully snarkVM-equivalent: it verifies the bech32m checksum, canonical curve field element, curve-point membership, and prime-subgroup membership in pure TypeScript bigint math (~1.4ms, synchronous, no wasm). Mistyped or deliberately crafted invalid addresses are rejected across `swapKit.validateAddress`, the Aleo toolbox, and `@swapkit/server` validators. Removed: `validateAleoAddressWithChecksum` and `ALEO_ADDRESS_REGEX` — use `validateAleoAddress`.
22
8
 
23
- **Parallelize independent round-trips**
24
-
25
- - **UTXO** (Bitcoin/Litecoin/Dogecoin/Dash/BCH/Zcash): the per-input raw-tx fetch in `getUtxos` ran in a serial `for…await` loop — now `Promise.all`'d into a single wave. Shared across every UTXO chain.
26
- - **EVM**: the contract-call send path (`getCall`) issued fee-data, gas-limit and nonce requests sequentially — now one `Promise.all` wave; `sendTransaction` fetches nonce and chainId concurrently.
27
- - **NEAR**: access-key (publicKey/nonce) and latest-block lookups were sequential — now fetched together.
28
- - **Stellar**: base-fee and account load were sequential — now concurrent.
29
-
30
- **Hoist network-derived inputs out (zero round-trips when supplied)** — a fully-specified `createTransaction` no longer hits the network:
31
-
32
- - **UTXO**: a provided `feeRate` is now honored instead of being ignored and re-fetched from the fee API.
33
- - **Cosmos** (incl. THORChain/Maya transfer + deposit): when `sequence` and `accountNumber` are both passed, the `StargateClient` connect + `getAccount` round-trips are skipped entirely (previously always run).
34
- - **Solana**: new optional `recentBlockhash` skips `getLatestBlockhash`; a native SOL transfer also no longer opens an (unused) RPC connection, removing a stray RPC-URL health-check round-trip.
35
- - **HyperCore**: new optional `endpoint` skips `getExchangeEndpoint`.
36
- - **TON**: new optional `jettonWalletAddress` skips the jetton-wallet derivation RPC for token transfers.
37
- - **Aptos**: new optional `accountSequenceNumber` / `gasUnitPrice` are passed through to the SDK, skipping its internal account-sequence and gas-price lookups.
38
- - **Tron**: new optional `recipientExists` skips the account-existence lookup for TRC20 transfers.
39
- - **Ripple**: new optional `sequence` / `fee` / `lastLedgerSequence` are pre-set so `autofill` skips the matching lookups; an injected `lastLedgerSequence` is used as-is (not buffer-extended).
40
-
41
- Already-optimal build paths are unchanged (Cardano and Sui already `Promise.all`; Substrate/Starknet and native Solana/TON are local-only).
42
-
43
- Example, measured against a mocked network at 50 ms/call latency: a Bitcoin transfer with a provided fee rate drops from **10 serial round-trips (≈525 ms) to 7 round-trips in 2 waves (≈105 ms)** — the redundant fee fetch is gone and the raw-tx fetches run in parallel.
9
+ - [`346cf56`](https://github.com/swapkit/sdk/commit/346cf56083aef257ccf503e18ad3fb9a60fae5ee) Thanks [@towanTG](https://github.com/towanTG)! - Aleo network operations (balance RPC reads, transaction status polling, spent-record probes, broadcast) now use a built-in fetch client instead of `@provablehq/sdk`'s `AleoNetworkClient`, so none of them load the 52MB wasm module anymore. The Provable SDK is now only loaded for account derivation, shielded-record crypto, and transaction proving.
44
10
 
45
11
  ### Patch Changes
46
12
 
47
- - Updated dependencies [[`41505dc`](https://github.com/swapkit/sdk/commit/41505dc0f4f77dd301cfced063013efb6307b9bb), [`fd1d5d7`](https://github.com/swapkit/sdk/commit/fd1d5d7304eda3ff20c53b14d0eb5998fb6b8250), [`7f99d74`](https://github.com/swapkit/sdk/commit/7f99d74ec21d58d07b2cccc5b111f8fdae6c7afb), [`bd408bd`](https://github.com/swapkit/sdk/commit/bd408bdb42f6464fa17c36383ee8d37f35f9e779), [`fd1d5d7`](https://github.com/swapkit/sdk/commit/fd1d5d7304eda3ff20c53b14d0eb5998fb6b8250)]:
48
- - @swapkit/cosmos-signer@0.0.0-rc-20260728115044
49
- - @swapkit/helpers@0.0.0-rc-20260728115044
50
- - @swapkit/utxo-signer@0.0.0-rc-20260728115044
13
+ - Updated dependencies []:
14
+ - @swapkit/helpers@4.20.1
51
15
 
52
16
  ## 4.28.0
53
17
 
@@ -1 +1 @@
1
- import{$ as N,A as m,B as n,C as o,D as p,E as q,F as r,G as s,H as t,I as u,J as v,K as w,L as x,M as y,N as z,O as A,P as B,Q as C,R as D,S as E,T as F,U as G,V as H,W as I,X as J,Y as K,Z as L,_ as M,aa as O,ba as P,ca as Q,da as R,o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i,x as j,y as k,z as l}from"./chunk-55jkfkar.js";import"./chunk-nvfkjbyq.js";import"./chunk-xbdjxeqd.js";export{c as validateEVMAddress,h as toChecksumAddress,g as isStateChangingCall,o as isEIP7702Transaction,p as isEIP1559Transaction,d as isBrowserProvider,l as getTokenAddress,R as getEvmToolboxAsync,Q as getEvmToolbox,n as getEstimateGasPrices,q as getEVMTxType,i as getEIP1193SendTransaction,m as getCreateContractTxObject,f as getCreateContract,j as getChecksumAddressFromAsset,r as createOPStackToolbox,e as createContract,P as XLayerToolbox,O as UNIToolbox,N as SONICToolbox,M as PLASMAToolbox,s as OPToolbox,L as MONADToolbox,K as MEGAETHToolbox,a as MAX_APPROVAL,J as MATICToolbox,I as LINEAToolbox,H as HYPEREVMToolbox,G as HOODToolbox,F as GNOToolbox,t as ETHToolbox,k as ContractAddress,E as CROToolbox,D as CORNToolbox,C as COREToolbox,B as BotanixToolbox,b as BaseEVMToolbox,A as BSCToolbox,z as BERAToolbox,y as BASEToolbox,x as AVAXToolbox,w as AURORAToolbox,v as ARBToolbox,u as ADIToolbox};
1
+ import{$ as N,A as m,B as n,C as o,D as p,E as q,F as r,G as s,H as t,I as u,J as v,K as w,L as x,M as y,N as z,O as A,P as B,Q as C,R as D,S as E,T as F,U as G,V as H,W as I,X as J,Y as K,Z as L,_ as M,aa as O,ba as P,ca as Q,da as R,o as a,p as b,q as c,r as d,s as e,t as f,u as g,v as h,w as i,x as j,y as k,z as l}from"./chunk-z61r1327.js";import"./chunk-nvfkjbyq.js";import"./chunk-xbdjxeqd.js";export{c as validateEVMAddress,h as toChecksumAddress,g as isStateChangingCall,o as isEIP7702Transaction,p as isEIP1559Transaction,d as isBrowserProvider,l as getTokenAddress,R as getEvmToolboxAsync,Q as getEvmToolbox,n as getEstimateGasPrices,q as getEVMTxType,i as getEIP1193SendTransaction,m as getCreateContractTxObject,f as getCreateContract,j as getChecksumAddressFromAsset,r as createOPStackToolbox,e as createContract,P as XLayerToolbox,O as UNIToolbox,N as SONICToolbox,M as PLASMAToolbox,s as OPToolbox,L as MONADToolbox,K as MEGAETHToolbox,a as MAX_APPROVAL,J as MATICToolbox,I as LINEAToolbox,H as HYPEREVMToolbox,G as HOODToolbox,F as GNOToolbox,t as ETHToolbox,k as ContractAddress,E as CROToolbox,D as CORNToolbox,C as COREToolbox,B as BotanixToolbox,b as BaseEVMToolbox,A as BSCToolbox,z as BERAToolbox,y as BASEToolbox,x as AVAXToolbox,w as AURORAToolbox,v as ARBToolbox,u as ADIToolbox};
@@ -0,0 +1 @@
1
+ import"./chunk-xbdjxeqd.js";import Y from"protobufjs/minimal.js";var X=Y.Reader,J=Y.Writer,Q=Y.util,L=Y.roots.default||(Y.roots.default={});L.common=(()=>{let Z={};return Z.Asset=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.chain="",G.prototype.symbol="",G.prototype.ticker="",G.prototype.synth=!1,G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(10).string(q.chain);if(q.symbol!=null&&Object.hasOwnProperty.call(q,"symbol"))B.uint32(18).string(q.symbol);if(q.ticker!=null&&Object.hasOwnProperty.call(q,"ticker"))B.uint32(26).string(q.ticker);if(q.synth!=null&&Object.hasOwnProperty.call(q,"synth"))B.uint32(32).bool(q.synth);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Asset;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.chain=q.string();break;case 2:E.symbol=q.string();break;case 3:E.ticker=q.string();break;case 4:E.synth=q.bool();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.symbol!=null&&q.hasOwnProperty("symbol")){if(!Q.isString(q.symbol))return"symbol: string expected"}if(q.ticker!=null&&q.hasOwnProperty("ticker")){if(!Q.isString(q.ticker))return"ticker: string expected"}if(q.synth!=null&&q.hasOwnProperty("synth")){if(typeof q.synth!=="boolean")return"synth: boolean expected"}return null},G.fromObject=function(q){if(q instanceof L.common.Asset)return q;let B=new L.common.Asset;if(q.chain!=null)B.chain=String(q.chain);if(q.symbol!=null)B.symbol=String(q.symbol);if(q.ticker!=null)B.ticker=String(q.ticker);if(q.synth!=null)B.synth=Boolean(q.synth);return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.defaults)z.chain="",z.symbol="",z.ticker="",z.synth=!1;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.symbol!=null&&q.hasOwnProperty("symbol"))z.symbol=q.symbol;if(q.ticker!=null&&q.hasOwnProperty("ticker"))z.ticker=q.ticker;if(q.synth!=null&&q.hasOwnProperty("synth"))z.synth=q.synth;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Coin=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.asset=null,G.prototype.amount="",G.prototype.decimals=Q.Long?Q.Long.fromBits(0,0,!1):0,G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.asset!=null&&Object.hasOwnProperty.call(q,"asset"))L.common.Asset.encode(q.asset,B.uint32(10).fork()).ldelim();if(q.amount!=null&&Object.hasOwnProperty.call(q,"amount"))B.uint32(18).string(q.amount);if(q.decimals!=null&&Object.hasOwnProperty.call(q,"decimals"))B.uint32(24).int64(q.decimals);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Coin;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.asset=L.common.Asset.decode(q,q.uint32());break;case 2:E.amount=q.string();break;case 3:E.decimals=q.int64();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.asset!=null&&q.hasOwnProperty("asset")){let B=L.common.Asset.verify(q.asset);if(B)return"asset."+B}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Q.isString(q.amount))return"amount: string expected"}if(q.decimals!=null&&q.hasOwnProperty("decimals")){if(!Q.isInteger(q.decimals)&&!(q.decimals&&Q.isInteger(q.decimals.low)&&Q.isInteger(q.decimals.high)))return"decimals: integer|Long expected"}return null},G.fromObject=function(q){if(q instanceof L.common.Coin)return q;let B=new L.common.Coin;if(q.asset!=null){if(typeof q.asset!=="object")throw TypeError(".common.Coin.asset: object expected");B.asset=L.common.Asset.fromObject(q.asset)}if(q.amount!=null)B.amount=String(q.amount);if(q.decimals!=null){if(Q.Long)(B.decimals=Q.Long.fromValue(q.decimals)).unsigned=!1;else if(typeof q.decimals==="string")B.decimals=Number.parseInt(q.decimals,10);else if(typeof q.decimals==="number")B.decimals=q.decimals;else if(typeof q.decimals==="object")B.decimals=new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber()}return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.defaults)if(z.asset=null,z.amount="",Q.Long){let E=new Q.Long(0,0,!1);z.decimals=B.longs===String?E.toString():B.longs===Number?E.toNumber():E}else z.decimals=B.longs===String?"0":0;if(q.asset!=null&&q.hasOwnProperty("asset"))z.asset=L.common.Asset.toObject(q.asset,B);if(q.amount!=null&&q.hasOwnProperty("amount"))z.amount=q.amount;if(q.decimals!=null&&q.hasOwnProperty("decimals"))if(typeof q.decimals==="number")z.decimals=B.longs===String?String(q.decimals):q.decimals;else z.decimals=B.longs===String?Q.Long.prototype.toString.call(q.decimals):B.longs===Number?new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber():q.decimals;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.PubKeySet=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.secp256k1="",G.prototype.ed25519="",G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.secp256k1!=null&&Object.hasOwnProperty.call(q,"secp256k1"))B.uint32(10).string(q.secp256k1);if(q.ed25519!=null&&Object.hasOwnProperty.call(q,"ed25519"))B.uint32(18).string(q.ed25519);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.PubKeySet;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.secp256k1=q.string();break;case 2:E.ed25519=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1")){if(!Q.isString(q.secp256k1))return"secp256k1: string expected"}if(q.ed25519!=null&&q.hasOwnProperty("ed25519")){if(!Q.isString(q.ed25519))return"ed25519: string expected"}return null},G.fromObject=function(q){if(q instanceof L.common.PubKeySet)return q;let B=new L.common.PubKeySet;if(q.secp256k1!=null)B.secp256k1=String(q.secp256k1);if(q.ed25519!=null)B.ed25519=String(q.ed25519);return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.defaults)z.secp256k1="",z.ed25519="";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1"))z.secp256k1=q.secp256k1;if(q.ed25519!=null&&q.hasOwnProperty("ed25519"))z.ed25519=q.ed25519;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Tx=(()=>{function G(H){if(this.coins=[],this.gas=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.id="",G.prototype.chain="",G.prototype.fromAddress="",G.prototype.toAddress="",G.prototype.coins=Q.emptyArray,G.prototype.gas=Q.emptyArray,G.prototype.memo="",G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.id!=null&&Object.hasOwnProperty.call(q,"id"))B.uint32(10).string(q.id);if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(18).string(q.chain);if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(26).string(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(34).string(q.toAddress);if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(42).fork()).ldelim();if(q.gas?.length)for(let z=0;z<q.gas.length;++z)L.common.Coin.encode(q.gas[z],B.uint32(50).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(58).string(q.memo);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Tx;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.id=q.string();break;case 2:E.chain=q.string();break;case 3:E.fromAddress=q.string();break;case 4:E.toAddress=q.string();break;case 5:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 6:if(!E.gas?.length)E.gas=[];E.gas.push(L.common.Coin.decode(q,q.uint32()));break;case 7:E.memo=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.id!=null&&q.hasOwnProperty("id")){if(!Q.isString(q.id))return"id: string expected"}if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!Q.isString(q.fromAddress))return"fromAddress: string expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!Q.isString(q.toAddress))return"toAddress: string expected"}if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.gas!=null&&q.hasOwnProperty("gas")){if(!Array.isArray(q.gas))return"gas: array expected";for(let B=0;B<q.gas.length;++B){let z=L.common.Coin.verify(q.gas[B]);if(z)return"gas."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}return null},G.fromObject=function(q){if(q instanceof L.common.Tx)return q;let B=new L.common.Tx;if(q.id!=null)B.id=String(q.id);if(q.chain!=null)B.chain=String(q.chain);if(q.fromAddress!=null)B.fromAddress=String(q.fromAddress);if(q.toAddress!=null)B.toAddress=String(q.toAddress);if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Tx.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Tx.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.gas){if(!Array.isArray(q.gas))throw TypeError(".common.Tx.gas: array expected");B.gas=[];for(let z=0;z<q.gas.length;++z){if(typeof q.gas[z]!=="object")throw TypeError(".common.Tx.gas: object expected");B.gas[z]=L.common.Coin.fromObject(q.gas[z])}}if(q.memo!=null)B.memo=String(q.memo);return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[],z.gas=[];if(B.defaults)z.id="",z.chain="",z.fromAddress="",z.toAddress="",z.memo="";if(q.id!=null&&q.hasOwnProperty("id"))z.id=q.id;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=q.toAddress;if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.gas?.length){z.gas=[];for(let E=0;E<q.gas.length;++E)z.gas[E]=L.common.Coin.toObject(q.gas[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Fee=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.poolDeduct="",G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.poolDeduct!=null&&Object.hasOwnProperty.call(q,"poolDeduct"))B.uint32(18).string(q.poolDeduct);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Fee;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.poolDeduct=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct")){if(!Q.isString(q.poolDeduct))return"poolDeduct: string expected"}return null},G.fromObject=function(q){if(q instanceof L.common.Fee)return q;let B=new L.common.Fee;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Fee.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Fee.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.poolDeduct!=null)B.poolDeduct=String(q.poolDeduct);return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults)z.poolDeduct="";if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct"))z.poolDeduct=q.poolDeduct;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.ProtoUint=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.value="",G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.value!=null&&Object.hasOwnProperty.call(q,"value"))B.uint32(10).string(q.value);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.ProtoUint;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.value=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.value!=null&&q.hasOwnProperty("value")){if(!Q.isString(q.value))return"value: string expected"}return null},G.fromObject=function(q){if(q instanceof L.common.ProtoUint)return q;let B=new L.common.ProtoUint;if(q.value!=null)B.value=String(q.value);return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.defaults)z.value="";if(q.value!=null&&q.hasOwnProperty("value"))z.value=q.value;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.types=(()=>{let Z={};return Z.MsgDeposit=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.memo="",G.prototype.signer=Q.newBuffer([]),G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(18).string(q.memo);if(q.signer!=null&&Object.hasOwnProperty.call(q,"signer"))B.uint32(26).bytes(q.signer);return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgDeposit;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.memo=q.string();break;case 3:E.signer=q.bytes();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}if(q.signer!=null&&q.hasOwnProperty("signer")){if(!(q.signer&&typeof q.signer.length==="number"||Q.isString(q.signer)))return"signer: buffer expected"}return null},G.fromObject=function(q){if(q instanceof L.types.MsgDeposit)return q;let B=new L.types.MsgDeposit;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".types.MsgDeposit.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.memo!=null)B.memo=String(q.memo);if(q.signer!=null){if(typeof q.signer==="string")Q.base64.decode(q.signer,B.signer=Q.newBuffer(Q.base64.length(q.signer)),0);else if(q.signer.length)B.signer=q.signer}return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults){if(z.memo="",B.bytes===String)z.signer="";else if(z.signer=[],B.bytes!==Array)z.signer=Q.newBuffer(z.signer)}if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;if(q.signer!=null&&q.hasOwnProperty("signer"))z.signer=B.bytes===String?Q.base64.encode(q.signer,0,q.signer.length):B.bytes===Array?Array.prototype.slice.call(q.signer):q.signer;return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.MsgSend=(()=>{function G(H){if(this.amount=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.fromAddress=Q.newBuffer([]),G.prototype.toAddress=Q.newBuffer([]),G.prototype.amount=Q.emptyArray,G.create=function(q){return new G(q)},G.encode=function(q,B){if(!B)B=J.create();if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(10).bytes(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(18).bytes(q.toAddress);if(q.amount?.length)for(let z=0;z<q.amount.length;++z)L.cosmos.base.v1beta1.Coin.encode(q.amount[z],B.uint32(26).fork()).ldelim();return B},G.encodeDelimited=function(q,B){return this.encode(q,B).ldelim()},G.decode=function(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgSend;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.fromAddress=q.bytes();break;case 2:E.toAddress=q.bytes();break;case 3:if(!E.amount?.length)E.amount=[];E.amount.push(L.cosmos.base.v1beta1.Coin.decode(q,q.uint32()));break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function(q){if(typeof q!=="object"||q===null)return"object expected";if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!(q.fromAddress&&typeof q.fromAddress.length==="number"||Q.isString(q.fromAddress)))return"fromAddress: buffer expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!(q.toAddress&&typeof q.toAddress.length==="number"||Q.isString(q.toAddress)))return"toAddress: buffer expected"}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Array.isArray(q.amount))return"amount: array expected";for(let B=0;B<q.amount.length;++B){let z=L.cosmos.base.v1beta1.Coin.verify(q.amount[B]);if(z)return"amount."+z}}return null},G.fromObject=function(q){if(q instanceof L.types.MsgSend)return q;let B=new L.types.MsgSend;if(q.fromAddress!=null){if(typeof q.fromAddress==="string")Q.base64.decode(q.fromAddress,B.fromAddress=Q.newBuffer(Q.base64.length(q.fromAddress)),0);else if(q.fromAddress.length)B.fromAddress=q.fromAddress}if(q.toAddress!=null){if(typeof q.toAddress==="string")Q.base64.decode(q.toAddress,B.toAddress=Q.newBuffer(Q.base64.length(q.toAddress)),0);else if(q.toAddress.length)B.toAddress=q.toAddress}if(q.amount){if(!Array.isArray(q.amount))throw TypeError(".types.MsgSend.amount: array expected");B.amount=[];for(let z=0;z<q.amount.length;++z){if(typeof q.amount[z]!=="object")throw TypeError(".types.MsgSend.amount: object expected");B.amount[z]=L.cosmos.base.v1beta1.Coin.fromObject(q.amount[z])}}return B},G.toObject=function(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.amount=[];if(B.defaults){if(B.bytes===String)z.fromAddress="";else if(z.fromAddress=[],B.bytes!==Array)z.fromAddress=Q.newBuffer(z.fromAddress);if(B.bytes===String)z.toAddress="";else if(z.toAddress=[],B.bytes!==Array)z.toAddress=Q.newBuffer(z.toAddress)}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=B.bytes===String?Q.base64.encode(q.fromAddress,0,q.fromAddress.length):B.bytes===Array?Array.prototype.slice.call(q.fromAddress):q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=B.bytes===String?Q.base64.encode(q.toAddress,0,q.toAddress.length):B.bytes===Array?Array.prototype.slice.call(q.toAddress):q.toAddress;if(q.amount?.length){z.amount=[];for(let E=0;E<q.amount.length;++E)z.amount[E]=L.cosmos.base.v1beta1.Coin.toObject(q.amount[E],B)}return z},G.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.cosmos=(()=>{let Z={};return Z.base=(()=>{let G={};return G.v1beta1=(()=>{let H={};return H.Coin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function(z){return new q(z)},q.encode=function(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function(z,E){return this.encode(z,E).ldelim()},q.decode=function(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.Coin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function(z){if(z instanceof L.cosmos.base.v1beta1.Coin)return z;let E=new L.cosmos.base.v1beta1.Coin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecCoin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function(z){return new q(z)},q.encode=function(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function(z,E){return this.encode(z,E).ldelim()},q.decode=function(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecCoin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function(z){if(z instanceof L.cosmos.base.v1beta1.DecCoin)return z;let E=new L.cosmos.base.v1beta1.DecCoin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.IntProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.int="",q.create=function(z){return new q(z)},q.encode=function(z,E){if(!E)E=J.create();if(z.int!=null&&Object.hasOwnProperty.call(z,"int"))E.uint32(10).string(z.int);return E},q.encodeDelimited=function(z,E){return this.encode(z,E).ldelim()},q.decode=function(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.IntProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.int=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.int!=null&&z.hasOwnProperty("int")){if(!Q.isString(z.int))return"int: string expected"}return null},q.fromObject=function(z){if(z instanceof L.cosmos.base.v1beta1.IntProto)return z;let E=new L.cosmos.base.v1beta1.IntProto;if(z.int!=null)E.int=String(z.int);return E},q.toObject=function(z,E){if(!E)E={};let V={};if(E.defaults)V.int="";if(z.int!=null&&z.hasOwnProperty("int"))V.int=z.int;return V},q.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.dec="",q.create=function(z){return new q(z)},q.encode=function(z,E){if(!E)E=J.create();if(z.dec!=null&&Object.hasOwnProperty.call(z,"dec"))E.uint32(10).string(z.dec);return E},q.encodeDelimited=function(z,E){return this.encode(z,E).ldelim()},q.decode=function(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.dec=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function(z){if(typeof z!=="object"||z===null)return"object expected";if(z.dec!=null&&z.hasOwnProperty("dec")){if(!Q.isString(z.dec))return"dec: string expected"}return null},q.fromObject=function(z){if(z instanceof L.cosmos.base.v1beta1.DecProto)return z;let E=new L.cosmos.base.v1beta1.DecProto;if(z.dec!=null)E.dec=String(z.dec);return E},q.toObject=function(z,E){if(!E)E={};let V={};if(E.defaults)V.dec="";if(z.dec!=null&&z.hasOwnProperty("dec"))V.dec=z.dec;return V},q.prototype.toJSON=function(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H})(),G})(),Z})();export{L as $root};
@@ -0,0 +1,2 @@
1
+ import{fa as Ny}from"./chunk-nvfkjbyq.js";import{ga as Uy}from"./chunk-xbdjxeqd.js";import{Chain as H}from"@swapkit/helpers";import{match as b5}from"ts-pattern";import{Chain as $,getChainConfig as p,getRPCUrl as Wu,SKConfig as Qu,SwapKitError as c}from"@swapkit/helpers";import{FallbackProvider as Xu,getAddress as Hy,Interface as Yu,JsonRpcProvider as ty,Network as Zu}from"ethers";import{match as Ry}from"ts-pattern";function $u(y){return new ty(y)}async function X5(y,u){return $u(u||await Wu(y))}function ky(y){let u=Qu.get("rpcUrls")[y]?.filter(Boolean)??[];if(u.length===0)throw new c("helpers_chain_no_public_or_set_rpc_url",{chain:y});let{chainId:n}=p(y),t=Zu.from(Number(n)),[T]=u;if(u.length===1)return new ty(T,t,{staticNetwork:t});return new Xu(u.map((M,b)=>({priority:b+1,provider:new ty(M,t,{staticNetwork:t}),stallTimeout:2000})),t,{quorum:1})}function _(y){return y>0n?`0x${y.toString(16)}`:"0x0"}function Dy(y){let{explorerUrl:u,chainIdHex:n,rpcUrls:t}=p(y);return function(){return y!==$.Ethereum?{...Bu({chain:y}),blockExplorerUrls:[u],chainId:n,rpcUrls:t}:void 0}}function Ly(y){return![$.Adi,$.Arbitrum,$.BinanceSmartChain,$.Robinhood].includes(y)}function Bu({chain:y}){let{name:u,nativeCurrency:n,baseDecimal:t}=p(y);return Ry(y).with($.Arbitrum,()=>({chainName:"Arbitrum One",nativeCurrency:{decimals:t,name:"Ethereum",symbol:$.Ethereum}})).with($.Aurora,()=>({chainName:"Aurora Mainnet",nativeCurrency:{decimals:t,name:"Ethereum",symbol:$.Ethereum}})).with($.Avalanche,()=>({chainName:"Avalanche Network",nativeCurrency:{decimals:t,name:"Avalanche",symbol:y}})).with($.Base,()=>({chainName:"Base Mainnet",nativeCurrency:{decimals:t,name:"Ethereum",symbol:$.Ethereum}})).with($.Berachain,()=>({chainName:"Berachain",nativeCurrency:{decimals:t,name:"Berachain",symbol:"BERA"}})).with($.XLayer,()=>({chainName:"X Layer",nativeCurrency:{decimals:t,name:"OKB",symbol:"OKB"}})).with($.BinanceSmartChain,()=>({chainName:"BNB Smart Chain Mainnet",nativeCurrency:{decimals:t,name:"Binance Coin",symbol:"BNB"}})).with($.Gnosis,()=>({chainName:"Gnosis",nativeCurrency:{decimals:t,name:"xDAI",symbol:"XDAI"}})).with($.Optimism,()=>({chainName:"OP Mainnet",nativeCurrency:{decimals:t,name:"Ethereum",symbol:$.Ethereum}})).with($.Polygon,()=>({chainName:"Polygon Mainnet",nativeCurrency:{decimals:t,name:"Polygon",symbol:$.Polygon}})).with($.Robinhood,()=>({chainName:"Robinhood Chain",nativeCurrency:{decimals:t,name:"Ethereum",symbol:$.Ethereum}})).otherwise(()=>({chainName:u,nativeCurrency:{decimals:t,name:n,symbol:n}}))}async function zy(y,u){if(!("authorize"in y))throw Error("Signer does not support EIP-7702 authorization. Requires ethers.js v6.14+");let n={...u,nonce:u.nonce!==void 0?BigInt(u.nonce):void 0};return await y.authorize(n)}var Jy=(y)=>typeof y==="string"&&/^0x[a-fA-F0-9]{64}$/.test(y),Ju=(y)=>{try{return typeof y==="string"&&!!Hy(y)}catch{return!1}};function Hu(y,u){let n=u!==void 0?`index ${u}: `:"",t=(T,M)=>{throw new c({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:T,message:`${n}${M}`}})};Ry(y).when(({chainId:T})=>typeof T!=="bigint",()=>t("chainId","chainId must be a bigint")).when(({address:T})=>!Ju(T),()=>t("address","address must be a valid checksummed address")).when(({nonce:T})=>typeof T!=="bigint"||T<0n,()=>t("nonce","nonce must be a non-negative bigint")).when(({signature:T})=>!T,()=>t("signature","signature is required")).when(({signature:T})=>typeof T?.yParity!=="number"||![0,1].includes(T.yParity),()=>t("signature.yParity","yParity must be 0 or 1")).when(({signature:T})=>!Jy(T?.r),()=>t("signature.r","r must be a 32-byte hex string")).when(({signature:T})=>!Jy(T?.s),()=>t("signature.s","s must be a 32-byte hex string")).otherwise(()=>{})}function Ru(y){return[{key:"name",type:"string"},{key:"version",type:"string"},{key:"chainId",type:"uint256"},{key:"verifyingContract",type:"address"},{key:"salt",type:"bytes32"}].filter(({key:u})=>y[u]!=null).map(({key:u,type:n})=>({name:u,type:n}))}function Ty(y){return y.charAt(0).toUpperCase()+y.slice(1)}function My(y,u){if(y.isTuple()&&y.components){let n=Ty(y.name);return u[n]=y.components.map((t)=>({name:t.name,type:My(t,u)})),n}if(y.isArray()){let n=y.arrayChildren;if(n?.isTuple()&&n.components){let t=Ty(y.name.replace(/s$/,""));return u[t]=n.components.map((T)=>({name:T.name,type:My(T,u)})),`${t}[]`}return`${n?.type??"bytes"}[]`}return y.type}function by(y,u){if(typeof y==="bigint")return y;if(u?.isTuple()&&typeof y?.toObject==="function"){let n=y.toObject(),t={};for(let[T,M]of(u.components??[]).entries())t[M.name]=by(n[M.name]??y[T],M);return t}if(Array.isArray(y)){let n=u?.arrayChildren;return y.map((t)=>by(t,n??void 0))}return y}function Y5({chain:y,abi:u,data:n,to:t}){let M=new Yu(u).parseTransaction({data:n});if(!M)throw new c({errorKey:"toolbox_evm_invalid_params",info:{error:"Could not decode calldata"}});let b={},q=Ty(M.name);b[q]=M.fragment.inputs.map((X)=>({name:X.name,type:My(X,b)}));let W={};for(let[X,B]of M.fragment.inputs.entries())W[B.name]=by(M.args[X],B);let{chainId:Q}=p(y),U={chainId:Number(Q),verifyingContract:Hy(t)},k=Ru(U);return{domain:U,message:W,primaryType:q,types:{EIP712Domain:k,...b}}}function jy(y,u){if(!Array.isArray(y)||y.length===0)throw new c({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{message:"EIP-7702 transactions require at least one authorization"}});for(let[n,t]of y.entries())if(Hu(t,n),u!==void 0&&t.chainId!==u)throw new c({errorKey:"toolbox_evm_invalid_eip7702_authorization",info:{field:"chainId",message:`index ${n}: authorization chainId (${t.chainId}) does not match transaction chainId (${u})`}})}import{Chain as R,FeeOption as n5}from"@swapkit/helpers";import{HDNodeWallet as t5}from"ethers";import{match as T5,P as oy}from"ts-pattern";var Gy=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}];import{AssetValue as ku,applyFeeMultiplierToBigInt as N,Chain as l,EVMChains as Du,FeeOption as Y,isGasAsset as Lu,SwapKitError as Z,SwapKitNumber as s}from"@swapkit/helpers";import{erc20ABI as A}from"@swapkit/helpers/contracts";import{BrowserProvider as zu,Contract as _y,getAddress as i,getBytes as ju,Interface as Vy}from"ethers";import{match as wy}from"ts-pattern";function d(y){return{getBalance:Ny(y)}}function J5(y){return y}var Wy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function a({chain:y=l.Ethereum,provider:u,signer:n,isEIP1559Compatible:t=!0,estimateGasPrices:T,estimateAdditionalFee:M}){let b=T??m({chain:y,isEIP1559Compatible:t,provider:u}),q=fy({chain:y,estimateAdditionalFee:M,estimateGasPrices:b,isEIP1559Compatible:t,provider:u,signer:n});return{approve:Ou({chain:y,isEIP1559Compatible:t,provider:u,signer:n}),approvedAmount:ly({chain:y,provider:u}),broadcastTransaction:u.broadcastTransaction,call:yy({chain:y,isEIP1559Compatible:t,provider:u,signer:n}),createApprovalTx:hu({chain:y,provider:u,signer:n}),createContract:Nu({chain:y,provider:u}),createContractTxObject:h({chain:y,provider:u}),createTransaction:q,createTransferTx:q,EIP1193SendTransaction:r(u),estimateCall:Sy({provider:u,signer:n}),estimateGasLimit:xu({chain:y,provider:u,signer:n}),estimateGasPrices:b,estimateTransactionFee:mu({chain:y,isEIP1559Compatible:t,provider:u}),getAddress:()=>{return n?n.getAddress():void 0},getBalance:d(y).getBalance,getNetworkParams:Dy(y),isApproved:Ku({chain:y,provider:u}),sendTransaction:Oy({chain:y,estimateGasPrices:b,isEIP1559Compatible:t,provider:u,signer:n}),signAuthorization:Fu({signer:n}),signMessage:n?(W)=>n.signMessage(W):void 0,signTypedData:n?({domain:W,types:Q,value:U})=>n.signTypedData(W,Q,U):void 0,transfer:fu({chain:y,estimateAdditionalFee:M,estimateGasPrices:b,isEIP1559Compatible:t,provider:u,signer:n}),validateAddress:Gu}}function Gu(y){try{return i(y),!0}catch{return!1}}function e(y){return y instanceof zu}function Qy(y,u,n){return new _y(y,Vy.from(u),n)}function Nu({provider:y}){return function(n,t){return new _y(n,Vy.from(t),y)}}var _u=["payable","nonpayable"];function Vu({abi:y,funcName:u}){let n=y.find((t)=>t.name===u);if(!n)throw new Z("toolbox_evm_no_abi_fragment",{funcName:u});return n.stateMutability&&_u.includes(n.stateMutability)}function G5(y){return i(y)}function r(y,u=!1){return function({value:t,...T}){if(!e(y))throw new Z("toolbox_evm_provider_not_eip1193_compatible");let M={...T,gasPrice:"gasPrice"in T?T.gasPrice:void 0,maxFeePerGas:"maxFeePerGas"in T?T.maxFeePerGas:void 0,maxPriorityFeePerGas:"maxPriorityFeePerGas"in T?T.maxPriorityFeePerGas:void 0},{gasLimit:b,gasPrice:q,maxFeePerGas:W,maxPriorityFeePerGas:Q,...U}=M,k={...U,...u&&b!==void 0&&{gas:_(BigInt(b))},...u&&q!==void 0&&{gasPrice:_(BigInt(q))},...u&&W!==void 0&&{maxFeePerGas:_(BigInt(W))},...u&&Q!==void 0&&{maxPriorityFeePerGas:_(BigInt(Q))},value:_(BigInt(t||0))};return y.send("eth_sendTransaction",[k])}}function N5(y,u){let n=Xy(y,u);if(n)return i(n.toLowerCase());throw new Z("toolbox_evm_invalid_gas_asset_address")}var wu=Du.reduce((y,u)=>{return y[u]="0x0000000000000000000000000000000000000000",y},{}),lu={...wu,[l.Optimism]:"0x4200000000000000000000000000000000000042",[l.Polygon]:"0x0000000000000000000000000000000000001010"},Su=[l.Arbitrum,l.Aurora,l.Base,l.Optimism,l.Robinhood];function Xy({chain:y,symbol:u,ticker:n},t){try{let T=y===l.BinanceSmartChain&&u==="BNB"&&n==="BNB",M=y===l.Hyperevm&&u==="HYPE"&&n==="HYPE",b=y===t&&u===t&&n===t,q=Su.includes(y)&&u==="ETH"&&n==="ETH";if(b||T||M||q)return lu[t];return i(u.slice(n.length+1).replace(/^0X/,""))}catch{return null}}function h({provider:y}){return async({contractAddress:u,abi:n,funcName:t,funcParams:T=[],txOverrides:M})=>{let b=await Qy(u,n,y).getFunction(t).populateTransaction(...T.concat(M).filter((q)=>typeof q<"u"));return{...b,value:_(BigInt(b.value||0))}}}function m({chain:y,provider:u,isEIP1559Compatible:n=!0}){return wy(y).with(l.Gnosis,()=>{return async function(){try{let{gasPrice:T,maxPriorityFeePerGas:M}=await u.getFeeData();if(!T||M===null)throw new Z("toolbox_evm_no_fee_data");return{[Y.Average]:{maxFeePerGas:N(T,Y.Average),maxPriorityFeePerGas:N(M,Y.Average)},[Y.Fast]:{maxFeePerGas:N(T,Y.Fast),maxPriorityFeePerGas:N(M,Y.Fast)},[Y.Fastest]:{maxFeePerGas:N(T,Y.Fastest),maxPriorityFeePerGas:N(M,Y.Fastest)}}}catch(T){throw new Z("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).with(l.Arbitrum,()=>{return async function(){try{let{gasPrice:T}=await u.getFeeData();if(!T)throw new Z("toolbox_evm_no_fee_data");let M=T*12n/10n;return{[Y.Average]:{gasPrice:M},[Y.Fast]:{gasPrice:N(M,Y.Fast)},[Y.Fastest]:{gasPrice:N(M,Y.Fastest)}}}catch(T){throw new Z("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}}).otherwise(()=>{return async function(){try{let{maxFeePerGas:T,maxPriorityFeePerGas:M,gasPrice:b}=await u.getFeeData();if(n){if(T===null||M===null)throw new Z("toolbox_evm_no_fee_data");return{[Y.Average]:{maxFeePerGas:T,maxPriorityFeePerGas:M},[Y.Fast]:{maxFeePerGas:N(T,Y.Fast),maxPriorityFeePerGas:N(M,Y.Fast)},[Y.Fastest]:{maxFeePerGas:N(T,Y.Fastest),maxPriorityFeePerGas:N(M,Y.Fastest)}}}if(!b)throw new Z("toolbox_evm_no_gas_price");return{[Y.Average]:{gasPrice:b},[Y.Fast]:{gasPrice:N(b,Y.Fast)},[Y.Fastest]:{gasPrice:N(b,Y.Fastest)}}}catch(T){throw new Z("toolbox_evm_gas_estimation_error",{error:T.msg??T.toString()})}}})}function yy({provider:y,isEIP1559Compatible:u,signer:n,chain:t}){return async function({callProvider:M,contractAddress:b,abi:q,funcName:W,funcParams:Q=[],txOverrides:U={},feeOption:k=Y.Fast}){let X=M||y;if(!b)throw new Z("toolbox_evm_invalid_params",{error:"contractAddress must be provided"});let B=Vu({abi:q,funcName:W});if(B&&e(X)&&n){let z=h({chain:t,provider:X}),V=U?.from||await n?.getAddress(),j=await z({abi:q,contractAddress:b,funcName:W,funcParams:Q,txOverrides:{...U,from:V}});return r(X)(j)}let J=Qy(b,q,X);if(B){if(!n)throw new Z("toolbox_evm_no_signer");let z=U?.from||await n.getAddress();if(!z)throw new Z("toolbox_evm_no_signer_address");let V=J.connect(n),j=m({chain:t,isEIP1559Compatible:u,provider:y}),{maxFeePerGas:K,maxPriorityFeePerGas:x,gasPrice:I}=(await j())[k],w=await J.getFunction(W).estimateGas(...Q,U),S=await V[W](...Q,{...U,gasLimit:w,gasPrice:I,maxFeePerGas:K,maxPriorityFeePerGas:x,nonce:U?.nonce||await X.getTransactionCount(z)});return typeof S?.hash==="string"?S?.hash:S}let D=await J[W]?.(...Q);return typeof D?.hash==="string"?D?.hash:D}}function ly({provider:y,chain:u}){return function({assetAddress:t,spenderAddress:T,from:M}){return yy({chain:u,isEIP1559Compatible:!0,provider:y})({abi:A,contractAddress:t,funcName:"allowance",funcParams:[M,T]})}}function Ku({provider:y,chain:u}){return async function({assetAddress:t,spenderAddress:T,from:M,amount:b=Wy}){let q=await ly({chain:u,provider:y})({assetAddress:t,from:M,spenderAddress:T});return s.fromBigInt(q).gte(s.fromBigInt(BigInt(b)))}}function Ou({signer:y,isEIP1559Compatible:u=!0,provider:n,chain:t}){return async function({assetAddress:M,spenderAddress:b,feeOptionKey:q=Y.Fast,amount:W,gasLimitFallback:Q,from:U,nonce:k}){let X=[b,BigInt(W||Wy)],B=await y?.getAddress()||U,J={abi:A,contractAddress:M,funcName:"approve",funcParams:X,signer:y,txOverrides:{from:B}};if(e(n)){let z=h({chain:t,provider:n}),V=r(n),j=await z(J);return V(j)}return yy({chain:t,isEIP1559Compatible:u,provider:n,signer:y})({...J,feeOption:q,funcParams:X,txOverrides:{from:B,gasLimit:Q?BigInt(Q.toString()):void 0,nonce:k}})}}function fu({chain:y,estimateGasPrices:u,estimateAdditionalFee:n,signer:t,isEIP1559Compatible:T=!0,provider:M}){return async function({assetValue:q,memo:W,recipient:Q,feeOptionKey:U=Y.Fast,sender:k,sweep:X,...B}){let J=k||await t?.getAddress(),D=Oy({chain:y,estimateGasPrices:u,isEIP1559Compatible:T,provider:M,signer:t});if(!J)throw new Z("toolbox_evm_no_from_address");let z=await fy({chain:y,estimateAdditionalFee:n,estimateGasPrices:u,isEIP1559Compatible:T,provider:M,signer:t})({assetValue:q,feeOptionKey:U,memo:W,recipient:Q,sender:J,sweep:X,...B});return D({...z,feeOptionKey:U,sweep:X})}}function Sy({provider:y,signer:u}){return function({contractAddress:t,abi:T,funcName:M,funcParams:b=[],txOverrides:q}){if(!t)throw new Z("toolbox_evm_no_contract_address");let W=Qy(t,T,y);return u?W.connect(u).getFunction(M).estimateGas(...b,q):W.getFunction(M).estimateGas(...b,q)}}function xu({provider:y,signer:u}){return async function({assetValue:t,recipient:T,memo:M,data:b,sender:q,funcName:W,funcParams:Q,txOverrides:U}){let k=t.bigIntValue,X=t.isGasAsset?null:Xy(t,t.chain);if(X&&W)return Sy({provider:y,signer:u})({abi:A,contractAddress:X,funcName:W,funcParams:Q,txOverrides:U});let{hexlify:B,toUtf8Bytes:J}=await import("ethers");return y.estimateGas({data:b?b:M?B(J(M)):void 0,from:q,to:T,value:k})}}function Fu({signer:y}){if(!y)return;return(u)=>zy(y,u)}var Ky=(y)=>y.type===4||(y.authorizations?.length??0)>0,Iu=(y)=>!Ky(y)&&(y.type===2||!!y.maxFeePerGas||!!y.maxPriorityFeePerGas),Eu=(y,u=!0)=>{if(Ky(y))return"eip7702";if(Iu(y)||u)return"eip1559";return"legacy"};function Au(y,u){if(y==="legacy"){if(u.gasPrice===void 0)throw new Z("toolbox_evm_no_fee_data");return{gasPrice:_(u.gasPrice)}}if(u.maxFeePerGas===void 0||u.maxPriorityFeePerGas===void 0)throw new Z("toolbox_evm_no_fee_data");return{maxFeePerGas:_(u.maxFeePerGas),maxPriorityFeePerGas:_(u.maxPriorityFeePerGas)}}function Oy({chain:y,estimateGasPrices:u,provider:n,signer:t,isEIP1559Compatible:T=!0}){return async function({feeOptionKey:b=Y.Fast,sweep:q,...W}){let{from:Q,to:U,data:k,value:X,...B}=W;if(!t)throw new Z("toolbox_evm_no_signer");if(!U)throw new Z("toolbox_evm_no_to_address");let J={...B,data:k||"0x",from:Q,to:U,value:BigInt(X||0)};if(e(n))return r(n,q)(J);let D=Q||await t.getAddress(),z=W.nonce??await n.getTransactionCount(D),V=(await n.getNetwork()).chainId,j=Eu(J,T);if(j==="eip7702")jy(J.authorizations||[],V);let K=wy(j).with("eip7702",()=>4).with("eip1559",()=>2).otherwise(()=>0),x={...J,chainId:V,nonce:z,type:K,...j==="eip7702"&&{authorizationList:J.authorizations}},I=u??m({chain:y,isEIP1559Compatible:T,provider:n}),S=(j==="legacy"?J.gasPrice!==void 0:J.maxFeePerGas!==void 0&&J.maxPriorityFeePerGas!==void 0)?{}:Au(j,(await I())[b]),O;try{O=_(J.gasLimit?BigInt(J.gasLimit):await n.estimateGas(x)*11n/10n)}catch(G){throw new Z("toolbox_evm_error_estimating_gas_limit",{error:G})}try{let G={...x,gasLimit:O,...S};try{return(await t.sendTransaction(G)).hash}catch{let F=await t.signTransaction({...G,from:D});return(await n.broadcastTransaction(F)).hash}}catch(G){throw new Z("toolbox_evm_error_sending_transaction",{error:G})}}}function E(y,u){throw new Z({errorKey:"toolbox_sweep_amount_too_low",info:{balance:y.toString(),fee:u.toString()}})}function Pu(y,u){if(u){if(y.maxFeePerGas===void 0||y.maxPriorityFeePerGas===void 0)throw new Z("toolbox_evm_no_fee_data");return{feeFields:{maxFeePerGas:y.maxFeePerGas,maxPriorityFeePerGas:y.maxPriorityFeePerGas},feePerGas:y.maxFeePerGas}}if(y.gasPrice===void 0)throw new Z("toolbox_evm_no_fee_data");return{feeFields:{gasPrice:y.gasPrice},feePerGas:y.gasPrice}}function Cu(y,u){if(y>u)return y;return u}function ou(y){return ju(y).reduce((u,n)=>u+(n===0?4n:16n),21000n)}function qy(y){let n=(y instanceof Error?y.message:String(y)).toLowerCase();return n.includes("insufficient funds")||n.includes("insufficient balance")||n.includes("gas required exceeds allowance")}async function gu({balance:y,estimateAdditionalFee:u,feeOptionKey:n,l2Reserve:t,sweepTx:T,valueBeforeL1Fee:M}){if(!u)return 0n;let b=await u({...T,value:M})??0n,q=N(b,n),W=M-q;if(W<=0n)E(y,t+q);let Q=await u({...T,value:W})??b;return N(Cu(b,Q),n)}async function vu({chain:y,data:u,estimateGasPrices:n,estimateAdditionalFee:t,feeOptionKey:T,from:M,isEIP1559Compatible:b,provider:q,recipient:W,transaction:Q}){let U=await q.getBalance(M),k=n??m({chain:y,isEIP1559Compatible:b,provider:q}),{feeFields:X,feePerGas:B}=Pu((await k())[T],b),D={...t&&Q.nonce===void 0?{...Q,nonce:await q.getTransactionCount(M)}:Q,...X,data:u,from:M,to:W},z=ou(u)*B;if(U-z<=0n)E(U,z);let V=(U-z)/2n,j;try{j=await q.estimateGas({...D,value:V})}catch(v){if(!qy(v))throw v;try{j=await q.estimateGas({...D,value:0n})}catch(By){if(qy(By))E(U,z);throw By}}let K=j*B;if(U-K<=0n)E(U,K);let w=j*11n/10n*B,S=U>w?U-w:0n,O;try{O=await q.estimateGas({...D,value:S})}catch(v){if(!qy(v))throw v;E(U,w)}let G=O*B,F=U-G;if(F<=0n)E(U,G);let o=await gu({balance:U,estimateAdditionalFee:t,feeOptionKey:T,l2Reserve:G,sweepTx:{...D,gasLimit:O},valueBeforeL1Fee:F}),g=F-o;if(g<=0n)E(U,G+o);return{...D,gasLimit:O,value:_(g)}}async function cu({chain:y,contractAddress:u,from:n,provider:t}){let T=await yy({chain:y,provider:t})({abi:A,contractAddress:u,funcName:"balanceOf",funcParams:[n]});if(typeof T!=="bigint")throw new Z({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid ERC20 balance"}});return T}function fy({chain:y,estimateAdditionalFee:u,estimateGasPrices:n,isEIP1559Compatible:t=!0,provider:T,signer:M}){return async function({assetValue:q,authorizations:W,memo:Q,recipient:U,data:k,feeOptionKey:X=Y.Fast,gasLimit:B,sender:J,sweep:D,type:z,maxFeePerGas:V,maxPriorityFeePerGas:j,gasPrice:K,...x}){let I=q.getBaseValue("bigint"),w=J||await M?.getAddress();if(!w)throw new Z("toolbox_evm_no_from_address");if(D&&(z===4||(W?.length??0)>0))throw new Z({errorKey:"toolbox_not_supported",info:{chain:y,reason:"EIP-7702 sweep transactions are not supported"}});if(Lu(q)){let{hexlify:F,toUtf8Bytes:o}=await import("ethers"),g=k||F(o(Q||""));if(!D)return{...x,...W!==void 0&&{authorizations:W},data:g,from:w,...B!==void 0&&{gasLimit:B},to:U,...z!==void 0&&{type:z},value:_(I)};return vu({chain:y,data:g,estimateAdditionalFee:u,estimateGasPrices:n,feeOptionKey:X,from:w,isEIP1559Compatible:t,provider:T,recipient:U,transaction:{nonce:x.nonce,type:z}})}let S=Xy(q,y);if(!S)throw new Z("toolbox_evm_no_contract_address");let O=h({chain:y,provider:T}),G=D?await cu({chain:y,contractAddress:S,from:w,provider:T}):I;if(D&&G<=0n)throw new Z({errorKey:"toolbox_sweep_amount_too_low",info:{asset:q.toString(),balance:G.toString()}});return O({abi:A,contractAddress:S,funcName:"transfer",funcParams:[U,G],txOverrides:{from:w,gasLimit:B,gasPrice:K,maxFeePerGas:V,maxPriorityFeePerGas:j}})}}function hu({provider:y,signer:u,chain:n}){return async function({assetAddress:T,spenderAddress:M,amount:b,from:q}){let W=await u?.getAddress()||q,Q=h({chain:n,provider:y}),U=["bigint","number"].includes(typeof b)?b:b||Wy;return await Q({abi:A,contractAddress:T,funcName:"approve",funcParams:[M,BigInt(U)],txOverrides:{from:W}})}}function mu({provider:y,isEIP1559Compatible:u=!0,chain:n}){return async function({feeOption:T=Y.Fast,...M}){let q=await m({chain:n,isEIP1559Compatible:u,provider:y})(),W=await y.estimateGas(M),Q=ku.from({chain:n}),{gasPrice:U,maxFeePerGas:k,maxPriorityFeePerGas:X}=q[T];if(!u&&U)return Q.set(s.fromBigInt(U*W,Q.decimal));if(k&&X){let B=(k+X)*W;return Q.set(s.fromBigInt(B,Q.decimal))}throw new Z("toolbox_evm_no_gas_price")}}import{applyFeeMultiplierToBigInt as P,Chain as Iy,FeeOption as f,getChainConfig as pu,SwapKitError as C}from"@swapkit/helpers";import{Contract as du,HDNodeWallet as su}from"ethers";import{match as iu,P as Fy}from"ts-pattern";var xy=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_gasUsed",type:"uint256"}],name:"getOperatorFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];var au="0x420000000000000000000000000000000000000f";function uy(y){return new du(au,xy,y)}function Ey(y){return async function(){let n=uy(y);if(n&&"l1BaseFee"in n)return await n?.l1BaseFee();return}}function Ay(y){return async function({from:n,to:t,nonce:T,...M}){let{Transaction:b}=await import("ethers");if(!t)throw new C("toolbox_evm_invalid_transaction",{error:"Missing to address"});return b.from({...M,authorizationList:M.authorizationList,nonce:T??(n?await y.getTransactionCount(n):0),to:t}).unsignedSerialized}}function Yy(y,u){return async function(t){let T=uy(y),M=t.chainId??u??(await y.getNetwork()).chainId,b=await Ay(y)({...t,chainId:M});if(T&&"getL1Fee"in T){let q=await T.getL1Fee(b);if(typeof q!=="bigint")throw new C({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid OP-stack L1 fee"}});return q}return}}function Zy(y){return async function(n){let t=uy(y);if(t&&"getOperatorFee"in t){let T=await t.getOperatorFee(n);if(typeof T!=="bigint")throw new C({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Invalid OP-stack operator fee"}});return T}return 0n}}function eu(y,u){let n=Yy(y,u),t=Zy(y);return async function(M){if(M.gasLimit===void 0||M.gasLimit===null)throw new C({errorKey:"toolbox_evm_invalid_transaction",info:{error:"Missing gas limit for OP-stack fee estimation"}});let[b,q]=await Promise.all([n(M),t(BigInt(M.gasLimit.toString()))]);return(b??0n)+q}}function Py(y){return async function(n){let T=(await y.getFeeData()).gasPrice??0n,M=await y.estimateGas(n);return T*M}}function ru(y){return async function(n){let t=await Yy(y)(n)??0n,T=await Py(y)(n),M=n.gasLimit??await y.estimateGas(n),b=await Zy(y)(BigInt(M.toString()));return t+T+b}}function y5(y){return async function(n){let t=uy(y),T=await Ay(y)(n);if(t&&"getL1GasUsed"in t)return t.getL1GasUsed(T)}}function u5(y){return async function(){try{let{maxFeePerGas:n,maxPriorityFeePerGas:t,gasPrice:T}=await y.getFeeData(),M=await Ey(y)(),b=T;if(!(n&&t))throw new C("toolbox_evm_no_fee_data");return{[f.Average]:{gasPrice:b,l1GasPrice:M,maxFeePerGas:n,maxPriorityFeePerGas:t},[f.Fast]:{gasPrice:P(b,f.Fast),l1GasPrice:P(M||0n,f.Fast),maxFeePerGas:n,maxPriorityFeePerGas:P(t,f.Fast)},[f.Fastest]:{gasPrice:P(b,f.Fastest),l1GasPrice:P(M||0n,f.Fastest),maxFeePerGas:n,maxPriorityFeePerGas:P(t,f.Fastest)}}}catch(n){throw new C("toolbox_evm_gas_estimation_error",{error:n.msg??n.toString()})}}}function ny(y){return function({provider:n,...t}){let T=iu(t).with({phrase:Fy.string},({phrase:X})=>su.fromPhrase(X).connect(n)).with({signer:Fy.any},({signer:X})=>X).otherwise(()=>{return}),M=Ey(n),b=BigInt(pu(y).chainId),q=Yy(n,b),W=eu(n,b),Q=Zy(n),U=y===Iy.Optimism?u5(n):void 0;return{...a({chain:y,estimateAdditionalFee:W,estimateGasPrices:U,provider:n,signer:T}),estimateL1Gas:y5(n),estimateL1GasCost:q,estimateL2GasCost:Py(n),estimateOperatorFee:Q,estimateTotalGasCost:ru(n),getBalance:d(y).getBalance,getL1GasPrice:M}}}var Cy=ny(Iy.Optimism);function gy(y){let u=L(R.Ethereum)(y);async function n(t,T="0x5ba1e12693dc8f9c48aad8770482f4739beed696",M="aggregate",b=n5.Fast){let q=await u.createContractTxObject({abi:Gy,contractAddress:T,funcName:M,funcParams:[t]});return u.sendTransaction({...q,feeOptionKey:b})}return{...u,multicall:n}}var vy=L(R.Adi),cy=L(R.Arbitrum),hy=L(R.Aurora),my=L(R.Avalanche),py=ny(R.Base),dy=L(R.Berachain),sy=L(R.BinanceSmartChain),g5=L(R.Botanix),iy=L(R.Core),ay=L(R.Corn),ey=L(R.Cronos),ry=L(R.Gnosis),yu=L(R.Robinhood),uu=L(R.Hyperevm),nu=L(R.Linea),tu=L(R.Polygon),Tu=L(R.MegaETH),Mu=L(R.Monad),bu=L(R.Plasma),$y=L(R.Sonic),qu=ny(R.Unichain),Uu=L(R.XLayer);function L(y){return function({provider:n,...t}){let T=Ly(y),M=T5(t).with({phrase:oy.string},({phrase:q})=>t5.fromPhrase(q).connect(n)).with({signer:oy.any},({signer:q})=>q).otherwise(()=>{return});return a({chain:y,isEIP1559Compatible:T,provider:n,signer:M})}}function q5(y,u){return b5(y).with(H.Adi,()=>vy(u)).with(H.Arbitrum,()=>cy(u)).with(H.Aurora,()=>hy(u)).with(H.Avalanche,()=>my(u)).with(H.Base,()=>py(u)).with(H.Berachain,()=>dy(u)).with(H.BinanceSmartChain,()=>sy(u)).with(H.Botanix,()=>$y(u)).with(H.Core,()=>iy(u)).with(H.Corn,()=>ay(u)).with(H.Cronos,()=>ey(u)).with(H.Ethereum,()=>gy(u)).with(H.Gnosis,()=>ry(u)).with(H.Hyperevm,()=>uu(u)).with(H.Linea,()=>nu(u)).with(H.MegaETH,()=>Tu(u)).with(H.Monad,()=>Mu(u)).with(H.Optimism,()=>Cy(u)).with(H.Plasma,()=>bu(u)).with(H.Polygon,()=>tu(u)).with(H.Robinhood,()=>yu(u)).with(H.Sonic,()=>$y(u)).with(H.Unichain,()=>qu(u)).with(H.XLayer,()=>Uu(u)).exhaustive()}async function p5(y,u){let n={...u,provider:u?.provider||ky(y)};return q5(y,n)}
2
+ export{d as b,J5 as c,$u as d,X5 as e,ky as f,_ as g,Dy as h,Ly as i,zy as j,Hu as k,Ru as l,Y5 as m,jy as n,Wy as o,a as p,Gu as q,e as r,Qy as s,Nu as t,Vu as u,G5 as v,r as w,N5 as x,lu as y,Xy as z,h as A,m as B,Ky as C,Iu as D,Eu as E,ny as F,Cy as G,gy as H,vy as I,cy as J,hy as K,my as L,py as M,dy as N,sy as O,g5 as P,iy as Q,ay as R,ey as S,ry as T,yu as U,uu as V,nu as W,tu as X,Tu as Y,Mu as Z,bu as _,$y as $,qu as aa,Uu as ba,q5 as ca,p5 as da};
@@ -0,0 +1 @@
1
+ var uJ=Object.create;var{getPrototypeOf:pJ,defineProperty:h,getOwnPropertyNames:bJ,getOwnPropertyDescriptor:lJ}=Object,KJ=Object.prototype.hasOwnProperty;function fJ(J){return this[J]}var cJ,dJ,jQ=(J,Q,Z)=>{var $=J!=null&&typeof J==="object";if($){var Y=Q?cJ??=new WeakMap:dJ??=new WeakMap,j=Y.get(J);if(j)return j}Z=J!=null?uJ(pJ(J)):{};let W=Q||!J||!J.__esModule?h(Z,"default",{value:J,enumerable:!0}):Z;for(let z of bJ(J))if(!KJ.call(W,z))h(W,z,{get:fJ.bind(J,z),enumerable:!0});if($)Y.set(J,W);return W},iJ=(J)=>{var Q=(VJ??=new WeakMap).get(J),Z;if(Q)return Q;if(Q=h({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function"){for(var $ of bJ(J))if(!KJ.call(Q,$))h(Q,$,{get:fJ.bind(J,$),enumerable:!(Z=lJ(J,$))||Z.enumerable})}return VJ.set(J,Q),Q},VJ;var nJ=(J)=>J;function sJ(J,Q){this[J]=nJ.bind(null,Q)}var oJ=(J,Q)=>{for(var Z in Q)h(J,Z,{get:Q[Z],enumerable:!0,configurable:!0,set:sJ.bind(Q,Z)})};var S=(J,Q)=>()=>(J&&(Q=J(J=0)),Q);function q(J){return(J%K+K)%K}function y(J,Q){let Z=1n,$=q(J),Y=Q;while(Y>0n){if(Y&1n)Z=Z*$%K;$=$*$%K,Y>>=1n}return Z}function eJ(J){let Q=q(J);if(Q===0n)return 0n;if(y(Q,(K-1n)/2n)!==1n)return null;let Z=K-1n,$=0n;while((Z&1n)===0n)Z>>=1n,$++;let Y=2n;while(y(Y,(K-1n)/2n)!==K-1n)Y++;let j=$,W=y(Y,Z),z=y(Q,Z),b=y(Q,(Z+1n)/2n);while(z!==1n){let P=0n,O=z;while(O!==1n)O=O*O%K,P++;let D=y(W,1n<<j-P-1n);j=P,W=D*D%K,z=z*W%K,b=b*D%K}return b}function rJ([J,Q,Z,$],[Y,j,W,z]){let b=q((Q-J)*(j-Y)),P=q((Q+J)*(j+Y)),O=q(2n*PJ*$*z),D=q(2n*Z*W),E=q(P-b),w=q(D-O),m=q(D+O),u=q(P+b);return[q(E*w),q(m*u),q(w*m),q(E*u)]}function JQ([J,Q,Z]){let $=q(J*J),Y=q(Q*Q),j=q(2n*Z*Z),W=q(-$),z=q((J+Q)*(J+Q)-$-Y),b=q(W+Y),P=q(b-j),O=q(W-Y);return[q(z*P),q(b*O),q(P*b),q(z*O)]}function QQ(J,Q){let Z=aJ,$=Q,Y=J;while(Y>0n){if(Y&1n)Z=rJ(Z,$);$=JQ($),Y>>=1n}return Z}function ZQ([J,Q,Z]){return J===0n&&q(Q-Z)===0n}function MJ(J){let Q=0n;for(let j=J.length-1;j>=0;j--){let W=J[j];if(W===void 0)return!1;Q=Q<<8n|BigInt(W)}if(Q>=K)return!1;let Z=Q*Q%K,$=q(1n-PJ*Z%K);if($===0n)return!1;let Y=eJ((1n+Z)%K*y($,K-2n)%K);if(Y===null)return!1;return ZQ(QQ(2n*tJ,[Q,Y,1n,q(Q*Y)]))}var K=0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001n,PJ=3021n,tJ=2111115437357092606062206234695386632838870926408408195193685246394721360383n,aJ;var LJ=S(()=>{aJ=[0n,1n,1n,0n]});function A(J){let Q=`${J}/mainnet`;async function Z($,Y){let{timeoutMs:j}=OJ.SKConfig.get("requestOptions"),W=await fetch(`${Q}${$}`,{signal:AbortSignal.timeout(j),...Y});if(!W.ok)throw new l(W.status,$);let z=await W.text();try{return{status:W.status,value:JSON.parse(z)}}catch{throw new l(W.status,$,"response was not valid JSON")}}return{async getConfirmedTransaction($){return(await Z(`/transaction/confirmed/${encodeURIComponent($)}`)).value},async getProgramMappingValue($,Y,j){return(await Z(`/program/${encodeURIComponent($)}/mapping/${encodeURIComponent(Y)}/${encodeURIComponent(j)}`)).value},async getTransaction($){return(await Z(`/transaction/${encodeURIComponent($)}`)).value},async getTransitionId($){return(await Z(`/find/transitionID/${encodeURIComponent($)}`)).value},async submitTransaction($){let{status:j,value:W}=await Z("/transaction/broadcast",{body:$,headers:{"Content-Type":"application/json"},method:"POST"});if(typeof W!=="string")throw new l(j,"/transaction/broadcast","response JSON was not a transaction id string");return W}}}var OJ,l;var t=S(()=>{OJ=require("@swapkit/helpers");l=class l extends Error{status;constructor(J,Q,Z){super(`Aleo network request failed with HTTP ${J} for ${Q}${Z?`: ${Z}`:""}`);this.name="AleoNetworkError",this.status=J}}});function $J(J,Q){if(!C(J))return[];let Z=C(J.transaction)?J.transaction:J,$=Z.execution,Y=C(Z.fee)?Z.fee.transition:void 0;return[...C($)&&Array.isArray($.transitions)?$.transitions:[],...C(Y)?[Y]:[]].flatMap((W)=>{if(!C(W)||!Array.isArray(W.outputs))return[];if(Q&&W.program!==Q)return[];return W.outputs.flatMap((z)=>C(z)&&z.type==="record"&&typeof z.value==="string"?[z.value]:[])})}function YJ(J){return J.reduce((Q,Z)=>Z.spent?Q:Q+Z.microcredits,0n)}function U(J,Q){return Q instanceof V.SwapKitError&&Q.errorKey.startsWith("toolbox_aleo_")?Q:new V.SwapKitError(J,Q)}function $Q(...J){let Q=J.reduce((Y,j)=>Y+j.length,0),Z=new Uint8Array(Q),$=0;for(let Y of J)Z.set(Y,$),$+=Y.length;return Z}function YQ(J){let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!1),Q}function UJ(J){let Q=r.hmac(JJ.sha512,CJ,J);return{chainCode:Q.slice(32),key:Q.slice(0,32)}}function vJ(J,Q){if(!Number.isSafeInteger(Q)||Q<0||Q>=e)throw new V.SwapKitError("toolbox_aleo_wasm_init_failed",{index:Q});let Z=Q+e,$=$Q(Uint8Array.of(0),J.key,YQ(Z)),Y=r.hmac(JJ.sha512,J.chainCode,$);return{chainCode:Y.slice(32),key:Y.slice(0,32)}}function HJ(J,Q){let Z=J.split("/");if(Z.shift()!=="m"||Z.length===0)throw new V.SwapKitError("toolbox_aleo_wasm_init_failed",{path:J});return Z.reduce(($,Y)=>{if(!/^\d+'$/.test(Y))throw new V.SwapKitError("toolbox_aleo_wasm_init_failed",{path:J,segment:Y});return vJ($,Number.parseInt(Y.slice(0,-1),10))},UJ(Q))}function R(J){if(typeof J!=="string"||J!==J.toLowerCase())return!1;try{let{prefix:Q,words:Z}=a.bech32m.decode(J),$=a.bech32m.fromWords(Z);return Q==="aleo"&&$.length===32&&MJ($)}catch{return!1}}function DJ(J){return NJ.test(J)}function XJ(J,Q){if(J===null)return 0n;if(typeof J!=="string")throw new V.SwapKitError("toolbox_aleo_balance_error",{integerType:Q,value:J});let Z=J.match(new RegExp(`^(\\d+)${Q}$`));if(!Z?.[1])throw new V.SwapKitError("toolbox_aleo_balance_error",{integerType:Q,value:J});return BigInt(Z[1])}function i(J){if(J.chain!==V.Chain.Aleo)throw new V.SwapKitError("toolbox_aleo_unsupported_token",{asset:J.toString()});let Q=J.getBaseValue("bigint");if(J.isGasAsset)return{amount:`${Q}u64`,functionName:c,isTokenTransfer:!1,programName:T};if(!J.address||!DJ(J.address))throw new V.SwapKitError("toolbox_aleo_unsupported_token",{asset:J.toString()});return{amount:`${Q}u128`,functionName:c,isTokenTransfer:!0,programName:J.address}}function x(){let J=[...new Set([...V.SKConfig.get("rpcUrls")[V.Chain.Aleo],...V.getChainConfig(V.Chain.Aleo).rpcUrls])].filter(Boolean);if(J.length===0)throw new V.SwapKitError("toolbox_aleo_no_rpc_urls");return J}function n(J){if(typeof J==="object"&&J!==null&&"status"in J&&J.status===404)return!0;return J instanceof Error&&J.message.includes("404")}function C(J){return typeof J==="object"&&J!==null}function TJ(J){if(!C(J))return!1;return[J.transaction,J.rejected].some((Q)=>{if(!C(Q)||!C(Q.execution))return!1;let{transitions:Z}=Q.execution;return Array.isArray(Z)&&Z.some(($)=>C($)&&$.function===c&&typeof $.program==="string"&&$.program!==T)})}function xJ(J,Q){if(!C(J)||typeof J.status!=="string")throw new V.SwapKitError("toolbox_aleo_transaction_failed",{response:J,transactionId:Q});let Z=J.status.toLowerCase();if(Z==="rejected"){let $=TJ(J)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new V.SwapKitError($,{transactionId:Q})}return Z==="accepted"?"accepted":"pending"}async function wJ(J){if(!I.test(J))throw new V.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:J});let Q,Z=!0;for(let $ of x())try{let Y=await A($).getConfirmedTransaction(J);return xJ(Y,J)}catch(Y){if(Y instanceof V.SwapKitError)throw Y;Q=Y,Z=Z&&n(Y)}if(Z)return"pending";throw U("toolbox_aleo_transaction_failed",Q)}async function s(J,{intervalMs:Q=5000,timeoutMs:Z=60000}={}){let $=Date.now();while(Date.now()-$<Z){let Y=await wJ(J);if(Y==="accepted")return Y;await new Promise((j)=>setTimeout(j,Q))}throw new V.SwapKitError("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:J})}var r,JJ,a,V,NJ,I,CJ,e=2147483648,d=1e6,T="credits.aleo",c="transfer_public",QJ=1e6,ZJ=2000000;var WJ=S(()=>{LJ();t();r=require("@noble/hashes/hmac.js"),JJ=require("@noble/hashes/sha2.js"),a=require("@scure/base"),V=require("@swapkit/helpers"),NJ=/^[a-z0-9_]+\.aleo$/,I=/^at1[ac-hj-np-z02-9]+$/,CJ=new TextEncoder().encode("bls12_377 seed")});function bQ(){function J(){let Q=Date.now(),Z=jJ||Q;return jJ=Z,Q>jJ?Q:Z+1}return HQ+J().toString(36)}function yJ(J){return async function(Z,$=!0){let Y=await FJ.SwapKitApi.getChainBalance({address:Z,chain:J,scamFilter:$}),{baseDecimal:j}=g.getChainConfig(J),W=Y.map(({identifier:b,value:P,decimal:O})=>{return new g.AssetValue({decimal:O||j,identifier:b,value:P})});if(!W.some((b)=>b.isGasAsset))return[g.AssetValue.from({chain:J}),...W];return W}}var g,FJ,HQ,jJ=0;var _J=S(()=>{g=require("@swapkit/helpers"),FJ=require("@swapkit/helpers/api"),HQ=typeof process<"u"&&process.pid?process.pid.toString(36):""});async function hJ(J,Q){try{let{Account:Z}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:$}=await import("@scure/bip39"),Y=G.derivationPathToString(Q||G.NetworkDerivationPath[G.Chain.Aleo],{allHardened:!0}),{key:j}=HJ(Y,$(J));return new Z({seed:j})}catch(Z){throw U("toolbox_aleo_wasm_init_failed",Z)}}function SJ(J,Q){let Z,$=()=>{return Z??=hJ(J,Q),Z};return{getAddress:async()=>(await $()).address().to_string(),signTransaction:async(Y)=>{let j=await $();if(Y.sender!==j.address().to_string())throw new G.SwapKitError("toolbox_aleo_invalid_address",{address:Y.sender});let W;for(let z of x())try{let{ProgramManager:b}=await import("@provablehq/sdk/mainnet.js"),P=new b(z);return P.setAccount(j),await P.buildExecutionTransaction({functionName:Y.functionName,inputs:Y.inputs,priorityFee:Y.priorityFee/d,privateFee:!1,programName:Y.programName})}catch(b){W=b}throw W}}}function AJ(J={}){if("phrase"in J&&J.phrase&&"signer"in J&&J.signer)throw new G.SwapKitError("toolbox_aleo_conflicting_signers");let Q;async function Z(){if(Q)return Q;let X="phrase"in J?J.phrase:void 0;if(!X)throw new G.SwapKitError("toolbox_aleo_no_signer");let H="derivationPath"in J?J.derivationPath:void 0;return Q=await hJ(X,H),Q}let $;function Y(){let X="signer"in J?J.signer:void 0;if(X)return X;let H="phrase"in J?J.phrase:void 0;if(!H)throw new G.SwapKitError("toolbox_aleo_no_signer");return $??=SJ(H,"derivationPath"in J?J.derivationPath:void 0),$}async function j(X){let H;for(let B of x())try{return await X(A(B))}catch(k){H=k}throw H}async function W(X){let H;for(let B of x())try{return await A(B).getTransitionId(X),!0}catch(k){if(n(k))return!1;H=k}throw H}async function z(){let X=Y();try{return await X.getAddress()}catch(H){throw U("toolbox_aleo_wasm_init_failed",H)}}async function b(X){let H=await j((B)=>B.getProgramMappingValue(T,"account",X));return XJ(H,"u64")}async function P(X){try{let H=await b(X);return[G.AssetValue.from({chain:G.Chain.Aleo,fromBaseDecimal:6,value:H})]}catch(H){throw U("toolbox_aleo_balance_error",H)}}let O=yJ(G.Chain.Aleo);async function D(X,H=!0){try{return await O(X,H)}catch{return P(X)}}async function E(){return D(await z())}async function w({transactionIds:X}){try{let H=await Z(),B=[];for(let k of X){if(!I.test(k))throw new G.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:k});let N=await j((M)=>M.getTransaction(k));for(let M of $J(N,T)){if(!H.ownsRecordCiphertext(M))continue;let{RecordPlaintext:L}=await import("@provablehq/sdk/mainnet.js"),f=H.decryptRecord(M).toString(),v=L.fromString(f),_=v.microcredits();if(_===0n)continue;let p=H.generateRecordViewKey(M).toString(),F=v.serialNumberString(H.privateKey(),T,"credits",p);B.push({microcredits:_,plaintext:f,spent:await W(F),transactionId:k})}}return B}catch(H){throw U("toolbox_aleo_balance_error",H)}}async function m({transactionIds:X}){let H=await w({transactionIds:X});return G.AssetValue.from({chain:G.Chain.Aleo,fromBaseDecimal:6,value:YJ(H)})}async function u(X,H){if(!Number.isSafeInteger(H)||H<=0)throw new G.SwapKitError("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:H});let B=await Z();if(!X||X.microcredits<=BigInt(H)*BigInt(d))throw new G.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:X?.microcredits.toString(),required:`${H} credits fee record`});let{ProgramManager:k,RecordPlaintext:N}=await import("@provablehq/sdk/mainnet.js"),M;for(let L of x())try{let f=new k(L);return f.setAccount(B),await f.split(H,N.fromString(X.plaintext))}catch(f){M=f}throw M}async function RJ(X,H,B){let k=await Z(),{ProgramManager:N,RecordPlaintext:M}=await import("@provablehq/sdk/mainnet.js"),L;for(let f of x())try{let v=new N(f);return v.setAccount(k),await v.buildExecutionTransaction({feeRecord:M.fromString(H.plaintext),functionName:"transfer_private_to_public",inputs:[X.plaintext,B,`${X.microcredits}u64`],priorityFee:0,privateFee:!0,programName:T})}catch(v){L=v}throw L}async function GJ(X,H,B){let k;try{let M=(await Z()).address().to_string(),L=X.filter((F)=>!F.spent);if(L.length===0)throw new G.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:B});if(L.length===1){if(k=await u(L[0],H),await s(k),L=(await w({transactionIds:[k]})).filter((F)=>!F.spent),L.length<2)throw new G.SwapKitError("toolbox_aleo_transaction_failed",{transactionId:k})}let f=[...L].sort((F,mJ)=>F.microcredits<mJ.microcredits?-1:1),v=f[0],_=f[f.length-1];if(!v||!_||v===_)throw new G.SwapKitError("toolbox_aleo_no_unspent_records",{transactionId:B});let p=await o(await RJ(_,v,M));return await s(p),{publicBalance:G.AssetValue.from({chain:G.Chain.Aleo,fromBaseDecimal:6,value:await b(M)}),splitTransactionId:k,unshieldTransactionId:p}}catch(N){if(k)throw new G.SwapKitError("toolbox_aleo_transaction_failed",{error:N,splitTransactionId:k});throw U("toolbox_aleo_transaction_failed",N)}}async function gJ(X){try{if("records"in X&&X.records)return await GJ(X.records,X.feeRecordCredits??4);let H=await w({transactionIds:[X.transactionId]});return await GJ(H,X.feeRecordCredits??4,X.transactionId)}catch(H){throw U("toolbox_aleo_transaction_failed",H)}}function qJ({assetValue:X,priorityFee:H=0}){try{if(!Number.isSafeInteger(H)||H<0)throw new G.SwapKitError("toolbox_aleo_fee_estimation_failed",{priorityFee:H});let k=i(X).isTokenTransfer?ZJ:QJ;return G.AssetValue.from({chain:G.Chain.Aleo,fromBaseDecimal:6,value:BigInt(k)+BigInt(H)})}catch(B){throw U("toolbox_aleo_fee_estimation_failed",B)}}async function zJ({assetValue:X,priorityFee:H=0,recipient:B,sender:k}){if(!R(B))throw new G.SwapKitError("toolbox_aleo_invalid_address",{address:B});let N=k||await z();if(!R(N))throw new G.SwapKitError("toolbox_aleo_invalid_address",{address:N});let M=i(X),L=await qJ({assetValue:X,priorityFee:H,recipient:B});try{let f=await b(N);if(G.AssetValue.from({chain:G.Chain.Aleo,fromBaseDecimal:6,value:f}).lt(L))throw new G.SwapKitError("toolbox_aleo_insufficient_fee_balance",{available:f.toString(),required:L.getBaseValue("string")});return{functionName:M.functionName,inputs:[B,M.amount],priorityFee:H,programName:M.programName,sender:N}}catch(f){throw U("toolbox_aleo_transaction_failed",f)}}async function BJ(X){try{return await Y().signTransaction(X)}catch(H){throw U("toolbox_aleo_transaction_failed",H)}}async function kJ(X){return o(await BJ(X))}async function o(X){try{let H=typeof X==="string"?X:X.toString(),B=await j((k)=>k.submitTransaction(H));if(!I.test(B))throw new G.SwapKitError("toolbox_aleo_broadcast_error",{transactionId:B});return B}catch(H){throw U("toolbox_aleo_broadcast_error",H)}}async function EJ(X){let H=await zJ({...X,sender:await z()});return kJ(H)}return{broadcastTransaction:o,createSigner:SJ,createTransaction:zJ,estimateTransactionFee:qJ,getAddress:z,getBalance:O,getBalanceFromRpc:P,getBalances:E,getBalanceWithFallback:D,getRecords:w,getShieldedBalance:m,signAndBroadcastTransaction:kJ,signTransaction:BJ,transfer:EJ,unshield:gJ,validateAddress:R}}var G;var IJ=S(()=>{_J();WJ();t();G=require("@swapkit/helpers")});var XQ={};oJ(XQ,{waitForAleoTransaction:()=>s,validateAleoProgramId:()=>DJ,validateAleoAddress:()=>R,sumUnspentRecords:()=>YJ,parseAleoTransactionStatus:()=>xJ,parseAleoMappingValue:()=>XJ,isRecord:()=>C,isNotFoundError:()=>n,isAleoTokenTransferResponse:()=>TJ,getConfiguredAleoUrls:()=>x,getAleoTransferRoute:()=>i,getAleoTransactionStatus:()=>wJ,getAleoToolbox:()=>AJ,getAleoMasterSeed:()=>UJ,getAleoError:()=>U,extractAleoRecordCiphertexts:()=>$J,deriveAleoPath:()=>HJ,deriveAleoChildKey:()=>vJ,TRANSFER_PUBLIC_FUNCTION:()=>c,NATIVE_PROGRAM_ID:()=>T,MICRO_CREDITS_PER_CREDIT:()=>d,HARDENED_OFFSET:()=>e,ALEO_TRANSFER_PUBLIC_FEE:()=>QJ,ALEO_TRANSACTION_ID_REGEX:()=>I,ALEO_TOKEN_TRANSFER_PUBLIC_FEE:()=>ZJ,ALEO_PROGRAM_ID_REGEX:()=>NJ,ALEO_HD_KEY:()=>CJ});module.exports=iJ(XQ);var WQ=S(()=>{IJ();WJ()});WQ();
@@ -1 +1 @@
1
- import{fa as zJ}from"../../chunk-nvfkjbyq.js";import{ga as b}from"../../chunk-xbdjxeqd.js";import{hmac as s}from"@noble/hashes/hmac.js";import{sha512 as t}from"@noble/hashes/sha2.js";import{Chain as h,getChainConfig as BJ,SKConfig as DJ,SwapKitError as B}from"@swapkit/helpers";var kJ=/^aleo1[ac-hj-np-z02-9]{58}$/,MJ=/^[a-z0-9_]+\.aleo$/,T=/^at1[ac-hj-np-z02-9]+$/,xJ=new TextEncoder().encode("bls12_377 seed"),o=2147483648,A=1e6,f="credits.aleo",R="transfer_public",a=1e6,e=2000000;function r(J,Z){if(!M(J))return[];let Y=M(J.transaction)?J.transaction:J,W=Y.execution,z=M(Y.fee)?Y.fee.transition:void 0;return[...M(W)&&Array.isArray(W.transitions)?W.transitions:[],...M(z)?[z]:[]].flatMap((P)=>{if(!M(P)||!Array.isArray(P.outputs))return[];if(Z&&P.program!==Z)return[];return P.outputs.flatMap((O)=>M(O)&&O.type==="record"&&typeof O.value==="string"?[O.value]:[])})}function JJ(J){return J.reduce((Z,Y)=>Y.spent?Z:Z+Y.microcredits,0n)}function x(J,Z){return Z instanceof B&&Z.errorKey.startsWith("toolbox_aleo_")?Z:new B(J,Z)}function OJ(...J){let Z=J.reduce((z,U)=>z+U.length,0),Y=new Uint8Array(Z),W=0;for(let z of J)Y.set(z,W),W+=z.length;return Y}function bJ(J){let Z=new Uint8Array(4);return new DataView(Z.buffer).setUint32(0,J,!1),Z}function PJ(J){let Z=s(t,xJ,J);return{chainCode:Z.slice(32),key:Z.slice(0,32)}}function yJ(J,Z){if(!Number.isSafeInteger(Z)||Z<0||Z>=o)throw new B("toolbox_aleo_wasm_init_failed",{index:Z});let Y=Z+o,W=OJ(Uint8Array.of(0),J.key,bJ(Y)),z=s(t,J.chainCode,W);return{chainCode:z.slice(32),key:z.slice(0,32)}}function QJ(J,Z){let Y=J.split("/");if(Y.shift()!=="m"||Y.length===0)throw new B("toolbox_aleo_wasm_init_failed",{path:J});return Y.reduce((W,z)=>{if(!/^\d+'$/.test(z))throw new B("toolbox_aleo_wasm_init_failed",{path:J,segment:z});return yJ(W,Number.parseInt(z.slice(0,-1),10))},PJ(Z))}function S(J){return typeof J==="string"&&kJ.test(J)}async function ZJ(J){if(!S(J))return!1;try{let{Account:Z}=await import("@provablehq/sdk/mainnet.js");return Z.isValidAddress(J)}catch{return!1}}function VJ(J){return MJ.test(J)}function $J(J,Z){if(J===null)return 0n;if(typeof J!=="string")throw new B("toolbox_aleo_balance_error",{integerType:Z,value:J});let Y=J.match(new RegExp(`^(\\d+)${Z}$`));if(!Y?.[1])throw new B("toolbox_aleo_balance_error",{integerType:Z,value:J});return BigInt(Y[1])}function E(J){if(J.chain!==h.Aleo)throw new B("toolbox_aleo_unsupported_token",{asset:J.toString()});let Z=J.getBaseValue("bigint");if(J.isGasAsset)return{amount:`${Z}u64`,functionName:R,isTokenTransfer:!1,programName:f};if(!J.address||!VJ(J.address))throw new B("toolbox_aleo_unsupported_token",{asset:J.toString()});return{amount:`${Z}u128`,functionName:R,isTokenTransfer:!0,programName:J.address}}function K(){let J=[...new Set([...DJ.get("rpcUrls")[h.Aleo],...BJ(h.Aleo).rpcUrls])].filter(Boolean);if(J.length===0)throw new B("toolbox_aleo_no_rpc_urls");return J}function m(J){if(typeof J==="object"&&J!==null&&"status"in J&&J.status===404)return!0;return J instanceof Error&&J.message.includes("404")}function M(J){return typeof J==="object"&&J!==null}function fJ(J){if(!M(J))return!1;return[J.transaction,J.rejected].some((Z)=>{if(!M(Z)||!M(Z.execution))return!1;let{transitions:Y}=Z.execution;return Array.isArray(Y)&&Y.some((W)=>M(W)&&W.function===R&&typeof W.program==="string"&&W.program!==f)})}function KJ(J,Z){if(!M(J)||typeof J.status!=="string")throw new B("toolbox_aleo_transaction_failed",{response:J,transactionId:Z});let Y=J.status.toLowerCase();if(Y==="rejected"){let W=fJ(J)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new B(W,{transactionId:Z})}return Y==="accepted"?"accepted":"pending"}async function FJ(J){if(!T.test(J))throw new B("toolbox_aleo_transaction_failed",{transactionId:J});let Z,Y=!0;for(let W of K())try{let{AleoNetworkClient:z}=await import("@provablehq/sdk/mainnet.js"),U=await new z(W).getConfirmedTransaction(J);return KJ(U,J)}catch(z){if(z instanceof B)throw z;Z=z,Y=Y&&m(z)}if(Y)return"pending";throw x("toolbox_aleo_transaction_failed",Z)}async function g(J,{intervalMs:Z=5000,timeoutMs:Y=60000}={}){let W=Date.now();while(Date.now()-W<Y){let z=await FJ(J);if(z==="accepted")return z;await new Promise((U)=>setTimeout(U,Z))}throw new B("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:J})}import{AssetValue as _,Chain as F,derivationPathToString as wJ,NetworkDerivationPath as NJ,SwapKitError as L}from"@swapkit/helpers";async function HJ(J,Z){try{let{Account:Y}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:W}=await import("@scure/bip39"),z=wJ(Z||NJ[F.Aleo],{allHardened:!0}),{key:U}=QJ(z,W(J));return new Y({seed:U})}catch(Y){throw x("toolbox_aleo_wasm_init_failed",Y)}}function YJ(J,Z){let Y,W=()=>{return Y??=HJ(J,Z),Y};return{getAddress:async()=>(await W()).address().to_string(),signTransaction:async(z)=>{let U=await W();if(z.sender!==U.address().to_string())throw new L("toolbox_aleo_invalid_address",{address:z.sender});let P;for(let O of K())try{let{ProgramManager:y}=await import("@provablehq/sdk/mainnet.js"),N=new y(O);return N.setAccount(U),await N.buildExecutionTransaction({functionName:z.functionName,inputs:z.inputs,priorityFee:z.priorityFee/A,privateFee:!1,programName:z.programName})}catch(y){P=y}throw P}}}function _J(J={}){if("phrase"in J&&J.phrase&&"signer"in J&&J.signer)throw new L("toolbox_aleo_conflicting_signers");let Z;async function Y(){if(Z)return Z;let $="phrase"in J?J.phrase:void 0;if(!$)throw new L("toolbox_aleo_no_signer");let Q="derivationPath"in J?J.derivationPath:void 0;return Z=await HJ($,Q),Z}let W;function z(){let $="signer"in J?J.signer:void 0;if($)return $;let Q="phrase"in J?J.phrase:void 0;if(!Q)throw new L("toolbox_aleo_no_signer");return W??=YJ(Q,"derivationPath"in J?J.derivationPath:void 0),W}async function U($){let Q;for(let X of K())try{let{AleoNetworkClient:H}=await import("@provablehq/sdk/mainnet.js");return await $(new H(X))}catch(H){Q=H}throw Q}async function P($){let Q;for(let X of K())try{let{AleoNetworkClient:H}=await import("@provablehq/sdk/mainnet.js");return await new H(X).getTransitionId($),!0}catch(H){if(m(H))return!1;Q=H}throw Q}async function O(){let $=z();try{return await $.getAddress()}catch(Q){throw x("toolbox_aleo_wasm_init_failed",Q)}}async function y($){let Q=await U((X)=>X.getProgramMappingValue(f,"account",$));return $J(Q,"u64")}async function N($){try{let Q=await y($);return[_.from({chain:F.Aleo,fromBaseDecimal:6,value:Q})]}catch(Q){throw x("toolbox_aleo_balance_error",Q)}}let u=zJ(F.Aleo);async function p($,Q=!0){try{return await u($,Q)}catch{return N($)}}async function WJ(){return p(await O())}async function v({transactionIds:$}){try{let Q=await Y(),X=[];for(let H of $){if(!T.test(H))throw new L("toolbox_aleo_transaction_failed",{transactionId:H});let D=await U((j)=>j.getTransaction(H));for(let j of r(D,f)){if(!Q.ownsRecordCiphertext(j))continue;let{RecordPlaintext:G}=await import("@provablehq/sdk/mainnet.js"),q=Q.decryptRecord(j).toString(),k=G.fromString(q),w=k.microcredits();if(w===0n)continue;let C=Q.generateRecordViewKey(j).toString(),V=k.serialNumberString(Q.privateKey(),f,"credits",C);X.push({microcredits:w,plaintext:q,spent:await P(V),transactionId:H})}}return X}catch(Q){throw x("toolbox_aleo_balance_error",Q)}}async function XJ({transactionIds:$}){let Q=await v({transactionIds:$});return _.from({chain:F.Aleo,fromBaseDecimal:6,value:JJ(Q)})}async function qJ($,Q){if(!Number.isSafeInteger(Q)||Q<=0)throw new L("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:Q});let X=await Y();if(!$||$.microcredits<=BigInt(Q)*BigInt(A))throw new L("toolbox_aleo_insufficient_fee_balance",{available:$?.microcredits.toString(),required:`${Q} credits fee record`});let{ProgramManager:H,RecordPlaintext:D}=await import("@provablehq/sdk/mainnet.js"),j;for(let G of K())try{let q=new H(G);return q.setAccount(X),await q.split(Q,D.fromString($.plaintext))}catch(q){j=q}throw j}async function jJ($,Q,X){let H=await Y(),{ProgramManager:D,RecordPlaintext:j}=await import("@provablehq/sdk/mainnet.js"),G;for(let q of K())try{let k=new D(q);return k.setAccount(H),await k.buildExecutionTransaction({feeRecord:j.fromString(Q.plaintext),functionName:"transfer_private_to_public",inputs:[$.plaintext,X,`${$.microcredits}u64`],priorityFee:0,privateFee:!0,programName:f})}catch(k){G=k}throw G}async function l($,Q,X){let H;try{let j=(await Y()).address().to_string(),G=$.filter((V)=>!V.spent);if(G.length===0)throw new L("toolbox_aleo_no_unspent_records",{transactionId:X});if(G.length===1){if(H=await qJ(G[0],Q),await g(H),G=(await v({transactionIds:[H]})).filter((V)=>!V.spent),G.length<2)throw new L("toolbox_aleo_transaction_failed",{transactionId:H})}let q=[...G].sort((V,UJ)=>V.microcredits<UJ.microcredits?-1:1),k=q[0],w=q[q.length-1];if(!k||!w||k===w)throw new L("toolbox_aleo_no_unspent_records",{transactionId:X});let C=await I(await jJ(w,k,j));return await g(C),{publicBalance:_.from({chain:F.Aleo,fromBaseDecimal:6,value:await y(j)}),splitTransactionId:H,unshieldTransactionId:C}}catch(D){if(H)throw new L("toolbox_aleo_transaction_failed",{error:D,splitTransactionId:H});throw x("toolbox_aleo_transaction_failed",D)}}async function GJ($){try{if("records"in $&&$.records)return await l($.records,$.feeRecordCredits??4);let Q=await v({transactionIds:[$.transactionId]});return await l(Q,$.feeRecordCredits??4,$.transactionId)}catch(Q){throw x("toolbox_aleo_transaction_failed",Q)}}function c({assetValue:$,priorityFee:Q=0}){try{if(!Number.isSafeInteger(Q)||Q<0)throw new L("toolbox_aleo_fee_estimation_failed",{priorityFee:Q});let H=E($).isTokenTransfer?e:a;return _.from({chain:F.Aleo,fromBaseDecimal:6,value:BigInt(H)+BigInt(Q)})}catch(X){throw x("toolbox_aleo_fee_estimation_failed",X)}}async function d({assetValue:$,priorityFee:Q=0,recipient:X,sender:H}){if(!await ZJ(X))throw new L("toolbox_aleo_invalid_address",{address:X});let D=H||await O();if(!S(D))throw new L("toolbox_aleo_invalid_address",{address:D});let j=E($),G=await c({assetValue:$,priorityFee:Q,recipient:X});try{let q=await y(D);if(_.from({chain:F.Aleo,fromBaseDecimal:6,value:q}).lt(G))throw new L("toolbox_aleo_insufficient_fee_balance",{available:q.toString(),required:G.getBaseValue("string")});return{functionName:j.functionName,inputs:[X,j.amount],priorityFee:Q,programName:j.programName,sender:D}}catch(q){throw x("toolbox_aleo_transaction_failed",q)}}async function i($){try{return await z().signTransaction($)}catch(Q){throw x("toolbox_aleo_transaction_failed",Q)}}async function n($){return I(await i($))}async function I($){try{let Q=typeof $==="string"?$:$.toString(),X=await U((H)=>H.submitTransaction(Q));if(!T.test(X))throw new L("toolbox_aleo_broadcast_error",{transactionId:X});return X}catch(Q){throw x("toolbox_aleo_broadcast_error",Q)}}async function LJ($){let Q=await d({...$,sender:await O()});return n(Q)}return{broadcastTransaction:I,createSigner:YJ,createTransaction:d,estimateTransactionFee:c,getAddress:O,getBalance:u,getBalanceFromRpc:N,getBalances:WJ,getBalanceWithFallback:p,getRecords:v,getShieldedBalance:XJ,signAndBroadcastTransaction:n,signTransaction:i,transfer:LJ,unshield:GJ,validateAddress:S}}export{g as waitForAleoTransaction,VJ as validateAleoProgramId,ZJ as validateAleoAddressWithChecksum,S as validateAleoAddress,JJ as sumUnspentRecords,KJ as parseAleoTransactionStatus,$J as parseAleoMappingValue,M as isRecord,m as isNotFoundError,fJ as isAleoTokenTransferResponse,K as getConfiguredAleoUrls,E as getAleoTransferRoute,FJ as getAleoTransactionStatus,_J as getAleoToolbox,PJ as getAleoMasterSeed,x as getAleoError,r as extractAleoRecordCiphertexts,QJ as deriveAleoPath,yJ as deriveAleoChildKey,R as TRANSFER_PUBLIC_FUNCTION,f as NATIVE_PROGRAM_ID,A as MICRO_CREDITS_PER_CREDIT,o as HARDENED_OFFSET,a as ALEO_TRANSFER_PUBLIC_FEE,T as ALEO_TRANSACTION_ID_REGEX,e as ALEO_TOKEN_TRANSFER_PUBLIC_FEE,MJ as ALEO_PROGRAM_ID_REGEX,xJ as ALEO_HD_KEY,kJ as ALEO_ADDRESS_REGEX};
1
+ import{fa as KJ}from"../../chunk-nvfkjbyq.js";import{ga as h}from"../../chunk-xbdjxeqd.js";import{hmac as XJ}from"@noble/hashes/hmac.js";import{sha512 as WJ}from"@noble/hashes/sha2.js";import{bech32m as YJ}from"@scure/base";import{Chain as d,getChainConfig as FJ,SKConfig as wJ,SwapKitError as O}from"@swapkit/helpers";var k=0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001n,ZJ=3021n,fJ=2111115437357092606062206234695386632838870926408408195193685246394721360383n,NJ=[0n,1n,1n,0n];function G(J){return(J%k+k)%k}function F(J,Q){let Z=1n,$=G(J),Y=Q;while(Y>0n){if(Y&1n)Z=Z*$%k;$=$*$%k,Y>>=1n}return Z}function UJ(J){let Q=G(J);if(Q===0n)return 0n;if(F(Q,(k-1n)/2n)!==1n)return null;let Z=k-1n,$=0n;while((Z&1n)===0n)Z>>=1n,$++;let Y=2n;while(F(Y,(k-1n)/2n)!==k-1n)Y++;let W=$,j=F(Y,Z),B=F(Q,Z),V=F(Q,(Z+1n)/2n);while(B!==1n){let L=0n,N=B;while(N!==1n)N=N*N%k,L++;let C=F(j,1n<<W-L-1n);W=L,j=C*C%k,B=B*j%k,V=V*C%k}return V}function vJ([J,Q,Z,$],[Y,W,j,B]){let V=G((Q-J)*(W-Y)),L=G((Q+J)*(W+Y)),N=G(2n*ZJ*$*B),C=G(2n*Z*j),R=G(L-V),T=G(C-N),E=G(C+N),g=G(L+V);return[G(R*T),G(E*g),G(T*E),G(R*g)]}function DJ([J,Q,Z]){let $=G(J*J),Y=G(Q*Q),W=G(2n*Z*Z),j=G(-$),B=G((J+Q)*(J+Q)-$-Y),V=G(j+Y),L=G(V-W),N=G(j-Y);return[G(B*L),G(V*N),G(L*V),G(B*N)]}function CJ(J,Q){let Z=NJ,$=Q,Y=J;while(Y>0n){if(Y&1n)Z=vJ(Z,$);$=DJ($),Y>>=1n}return Z}function TJ([J,Q,Z]){return J===0n&&G(Q-Z)===0n}function $J(J){let Q=0n;for(let W=J.length-1;W>=0;W--){let j=J[W];if(j===void 0)return!1;Q=Q<<8n|BigInt(j)}if(Q>=k)return!1;let Z=Q*Q%k,$=G(1n-ZJ*Z%k);if($===0n)return!1;let Y=UJ((1n+Z)%k*F($,k-2n)%k);if(Y===null)return!1;return TJ(CJ(2n*fJ,[Q,Y,1n,G(Q*Y)]))}import{SKConfig as xJ}from"@swapkit/helpers";class u extends Error{status;constructor(J,Q,Z){super(`Aleo network request failed with HTTP ${J} for ${Q}${Z?`: ${Z}`:""}`);this.name="AleoNetworkError",this.status=J}}function A(J){let Q=`${J}/mainnet`;async function Z($,Y){let{timeoutMs:W}=xJ.get("requestOptions"),j=await fetch(`${Q}${$}`,{signal:AbortSignal.timeout(W),...Y});if(!j.ok)throw new u(j.status,$);let B=await j.text();try{return{status:j.status,value:JSON.parse(B)}}catch{throw new u(j.status,$,"response was not valid JSON")}}return{async getConfirmedTransaction($){return(await Z(`/transaction/confirmed/${encodeURIComponent($)}`)).value},async getProgramMappingValue($,Y,W){return(await Z(`/program/${encodeURIComponent($)}/mapping/${encodeURIComponent(Y)}/${encodeURIComponent(W)}`)).value},async getTransaction($){return(await Z(`/transaction/${encodeURIComponent($)}`)).value},async getTransitionId($){return(await Z(`/find/transitionID/${encodeURIComponent($)}`)).value},async submitTransaction($){let{status:W,value:j}=await Z("/transaction/broadcast",{body:$,headers:{"Content-Type":"application/json"},method:"POST"});if(typeof j!=="string")throw new u(W,"/transaction/broadcast","response JSON was not a transaction id string");return j}}}var _J=/^[a-z0-9_]+\.aleo$/,p=/^at1[ac-hj-np-z02-9]+$/,yJ=new TextEncoder().encode("bls12_377 seed"),HJ=2147483648,n=1e6,w="credits.aleo",i="transfer_public",jJ=1e6,GJ=2000000;function zJ(J,Q){if(!v(J))return[];let Z=v(J.transaction)?J.transaction:J,$=Z.execution,Y=v(Z.fee)?Z.fee.transition:void 0;return[...v($)&&Array.isArray($.transitions)?$.transitions:[],...v(Y)?[Y]:[]].flatMap((j)=>{if(!v(j)||!Array.isArray(j.outputs))return[];if(Q&&j.program!==Q)return[];return j.outputs.flatMap((B)=>v(B)&&B.type==="record"&&typeof B.value==="string"?[B.value]:[])})}function qJ(J){return J.reduce((Q,Z)=>Z.spent?Q:Q+Z.microcredits,0n)}function D(J,Q){return Q instanceof O&&Q.errorKey.startsWith("toolbox_aleo_")?Q:new O(J,Q)}function SJ(...J){let Q=J.reduce((Y,W)=>Y+W.length,0),Z=new Uint8Array(Q),$=0;for(let Y of J)Z.set(Y,$),$+=Y.length;return Z}function hJ(J){let Q=new Uint8Array(4);return new DataView(Q.buffer).setUint32(0,J,!1),Q}function AJ(J){let Q=XJ(WJ,yJ,J);return{chainCode:Q.slice(32),key:Q.slice(0,32)}}function IJ(J,Q){if(!Number.isSafeInteger(Q)||Q<0||Q>=HJ)throw new O("toolbox_aleo_wasm_init_failed",{index:Q});let Z=Q+HJ,$=SJ(Uint8Array.of(0),J.key,hJ(Z)),Y=XJ(WJ,J.chainCode,$);return{chainCode:Y.slice(32),key:Y.slice(0,32)}}function BJ(J,Q){let Z=J.split("/");if(Z.shift()!=="m"||Z.length===0)throw new O("toolbox_aleo_wasm_init_failed",{path:J});return Z.reduce(($,Y)=>{if(!/^\d+'$/.test(Y))throw new O("toolbox_aleo_wasm_init_failed",{path:J,segment:Y});return IJ($,Number.parseInt(Y.slice(0,-1),10))},AJ(Q))}function l(J){if(typeof J!=="string"||J!==J.toLowerCase())return!1;try{let{prefix:Q,words:Z}=YJ.decode(J),$=YJ.fromWords(Z);return Q==="aleo"&&$.length===32&&$J($)}catch{return!1}}function RJ(J){return _J.test(J)}function kJ(J,Q){if(J===null)return 0n;if(typeof J!=="string")throw new O("toolbox_aleo_balance_error",{integerType:Q,value:J});let Z=J.match(new RegExp(`^(\\d+)${Q}$`));if(!Z?.[1])throw new O("toolbox_aleo_balance_error",{integerType:Q,value:J});return BigInt(Z[1])}function s(J){if(J.chain!==d.Aleo)throw new O("toolbox_aleo_unsupported_token",{asset:J.toString()});let Q=J.getBaseValue("bigint");if(J.isGasAsset)return{amount:`${Q}u64`,functionName:i,isTokenTransfer:!1,programName:w};if(!J.address||!RJ(J.address))throw new O("toolbox_aleo_unsupported_token",{asset:J.toString()});return{amount:`${Q}u128`,functionName:i,isTokenTransfer:!0,programName:J.address}}function _(){let J=[...new Set([...wJ.get("rpcUrls")[d.Aleo],...FJ(d.Aleo).rpcUrls])].filter(Boolean);if(J.length===0)throw new O("toolbox_aleo_no_rpc_urls");return J}function o(J){if(typeof J==="object"&&J!==null&&"status"in J&&J.status===404)return!0;return J instanceof Error&&J.message.includes("404")}function v(J){return typeof J==="object"&&J!==null}function EJ(J){if(!v(J))return!1;return[J.transaction,J.rejected].some((Q)=>{if(!v(Q)||!v(Q.execution))return!1;let{transitions:Z}=Q.execution;return Array.isArray(Z)&&Z.some(($)=>v($)&&$.function===i&&typeof $.program==="string"&&$.program!==w)})}function gJ(J,Q){if(!v(J)||typeof J.status!=="string")throw new O("toolbox_aleo_transaction_failed",{response:J,transactionId:Q});let Z=J.status.toLowerCase();if(Z==="rejected"){let $=EJ(J)?"toolbox_aleo_token_transfer_rejected":"toolbox_aleo_transaction_failed";throw new O($,{transactionId:Q})}return Z==="accepted"?"accepted":"pending"}async function mJ(J){if(!p.test(J))throw new O("toolbox_aleo_transaction_failed",{transactionId:J});let Q,Z=!0;for(let $ of _())try{let Y=await A($).getConfirmedTransaction(J);return gJ(Y,J)}catch(Y){if(Y instanceof O)throw Y;Q=Y,Z=Z&&o(Y)}if(Z)return"pending";throw D("toolbox_aleo_transaction_failed",Q)}async function t(J,{intervalMs:Q=5000,timeoutMs:Z=60000}={}){let $=Date.now();while(Date.now()-$<Z){let Y=await mJ(J);if(Y==="accepted")return Y;await new Promise((W)=>setTimeout(W,Q))}throw new O("toolbox_aleo_transaction_failed",{reason:"confirmation_timeout",transactionId:J})}import{AssetValue as I,Chain as y,derivationPathToString as uJ,NetworkDerivationPath as pJ,SwapKitError as M}from"@swapkit/helpers";async function bJ(J,Q){try{let{Account:Z}=await import("@provablehq/sdk/mainnet.js"),{mnemonicToSeedSync:$}=await import("@scure/bip39"),Y=uJ(Q||pJ[y.Aleo],{allHardened:!0}),{key:W}=BJ(Y,$(J));return new Z({seed:W})}catch(Z){throw D("toolbox_aleo_wasm_init_failed",Z)}}function VJ(J,Q){let Z,$=()=>{return Z??=bJ(J,Q),Z};return{getAddress:async()=>(await $()).address().to_string(),signTransaction:async(Y)=>{let W=await $();if(Y.sender!==W.address().to_string())throw new M("toolbox_aleo_invalid_address",{address:Y.sender});let j;for(let B of _())try{let{ProgramManager:V}=await import("@provablehq/sdk/mainnet.js"),L=new V(B);return L.setAccount(W),await L.buildExecutionTransaction({functionName:Y.functionName,inputs:Y.inputs,priorityFee:Y.priorityFee/n,privateFee:!1,programName:Y.programName})}catch(V){j=V}throw j}}}function lJ(J={}){if("phrase"in J&&J.phrase&&"signer"in J&&J.signer)throw new M("toolbox_aleo_conflicting_signers");let Q;async function Z(){if(Q)return Q;let X="phrase"in J?J.phrase:void 0;if(!X)throw new M("toolbox_aleo_no_signer");let H="derivationPath"in J?J.derivationPath:void 0;return Q=await bJ(X,H),Q}let $;function Y(){let X="signer"in J?J.signer:void 0;if(X)return X;let H="phrase"in J?J.phrase:void 0;if(!H)throw new M("toolbox_aleo_no_signer");return $??=VJ(H,"derivationPath"in J?J.derivationPath:void 0),$}async function W(X){let H;for(let z of _())try{return await X(A(z))}catch(q){H=q}throw H}async function j(X){let H;for(let z of _())try{return await A(z).getTransitionId(X),!0}catch(q){if(o(q))return!1;H=q}throw H}async function B(){let X=Y();try{return await X.getAddress()}catch(H){throw D("toolbox_aleo_wasm_init_failed",H)}}async function V(X){let H=await W((z)=>z.getProgramMappingValue(w,"account",X));return kJ(H,"u64")}async function L(X){try{let H=await V(X);return[I.from({chain:y.Aleo,fromBaseDecimal:6,value:H})]}catch(H){throw D("toolbox_aleo_balance_error",H)}}let N=KJ(y.Aleo);async function C(X,H=!0){try{return await N(X,H)}catch{return L(X)}}async function R(){return C(await B())}async function T({transactionIds:X}){try{let H=await Z(),z=[];for(let q of X){if(!p.test(q))throw new M("toolbox_aleo_transaction_failed",{transactionId:q});let f=await W((b)=>b.getTransaction(q));for(let b of zJ(f,w)){if(!H.ownsRecordCiphertext(b))continue;let{RecordPlaintext:P}=await import("@provablehq/sdk/mainnet.js"),K=H.decryptRecord(b).toString(),U=P.fromString(K),S=U.microcredits();if(S===0n)continue;let m=H.generateRecordViewKey(b).toString(),x=U.serialNumberString(H.privateKey(),w,"credits",m);z.push({microcredits:S,plaintext:K,spent:await j(x),transactionId:q})}}return z}catch(H){throw D("toolbox_aleo_balance_error",H)}}async function E({transactionIds:X}){let H=await T({transactionIds:X});return I.from({chain:y.Aleo,fromBaseDecimal:6,value:qJ(H)})}async function g(X,H){if(!Number.isSafeInteger(H)||H<=0)throw new M("toolbox_aleo_insufficient_fee_balance",{feeRecordCredits:H});let z=await Z();if(!X||X.microcredits<=BigInt(H)*BigInt(n))throw new M("toolbox_aleo_insufficient_fee_balance",{available:X?.microcredits.toString(),required:`${H} credits fee record`});let{ProgramManager:q,RecordPlaintext:f}=await import("@provablehq/sdk/mainnet.js"),b;for(let P of _())try{let K=new q(P);return K.setAccount(z),await K.split(H,f.fromString(X.plaintext))}catch(K){b=K}throw b}async function PJ(X,H,z){let q=await Z(),{ProgramManager:f,RecordPlaintext:b}=await import("@provablehq/sdk/mainnet.js"),P;for(let K of _())try{let U=new f(K);return U.setAccount(q),await U.buildExecutionTransaction({feeRecord:b.fromString(H.plaintext),functionName:"transfer_private_to_public",inputs:[X.plaintext,z,`${X.microcredits}u64`],priorityFee:0,privateFee:!0,programName:w})}catch(U){P=U}throw P}async function a(X,H,z){let q;try{let b=(await Z()).address().to_string(),P=X.filter((x)=>!x.spent);if(P.length===0)throw new M("toolbox_aleo_no_unspent_records",{transactionId:z});if(P.length===1){if(q=await g(P[0],H),await t(q),P=(await T({transactionIds:[q]})).filter((x)=>!x.spent),P.length<2)throw new M("toolbox_aleo_transaction_failed",{transactionId:q})}let K=[...P].sort((x,OJ)=>x.microcredits<OJ.microcredits?-1:1),U=K[0],S=K[K.length-1];if(!U||!S||U===S)throw new M("toolbox_aleo_no_unspent_records",{transactionId:z});let m=await c(await PJ(S,U,b));return await t(m),{publicBalance:I.from({chain:y.Aleo,fromBaseDecimal:6,value:await V(b)}),splitTransactionId:q,unshieldTransactionId:m}}catch(f){if(q)throw new M("toolbox_aleo_transaction_failed",{error:f,splitTransactionId:q});throw D("toolbox_aleo_transaction_failed",f)}}async function MJ(X){try{if("records"in X&&X.records)return await a(X.records,X.feeRecordCredits??4);let H=await T({transactionIds:[X.transactionId]});return await a(H,X.feeRecordCredits??4,X.transactionId)}catch(H){throw D("toolbox_aleo_transaction_failed",H)}}function e({assetValue:X,priorityFee:H=0}){try{if(!Number.isSafeInteger(H)||H<0)throw new M("toolbox_aleo_fee_estimation_failed",{priorityFee:H});let q=s(X).isTokenTransfer?GJ:jJ;return I.from({chain:y.Aleo,fromBaseDecimal:6,value:BigInt(q)+BigInt(H)})}catch(z){throw D("toolbox_aleo_fee_estimation_failed",z)}}async function r({assetValue:X,priorityFee:H=0,recipient:z,sender:q}){if(!l(z))throw new M("toolbox_aleo_invalid_address",{address:z});let f=q||await B();if(!l(f))throw new M("toolbox_aleo_invalid_address",{address:f});let b=s(X),P=await e({assetValue:X,priorityFee:H,recipient:z});try{let K=await V(f);if(I.from({chain:y.Aleo,fromBaseDecimal:6,value:K}).lt(P))throw new M("toolbox_aleo_insufficient_fee_balance",{available:K.toString(),required:P.getBaseValue("string")});return{functionName:b.functionName,inputs:[z,b.amount],priorityFee:H,programName:b.programName,sender:f}}catch(K){throw D("toolbox_aleo_transaction_failed",K)}}async function JJ(X){try{return await Y().signTransaction(X)}catch(H){throw D("toolbox_aleo_transaction_failed",H)}}async function QJ(X){return c(await JJ(X))}async function c(X){try{let H=typeof X==="string"?X:X.toString(),z=await W((q)=>q.submitTransaction(H));if(!p.test(z))throw new M("toolbox_aleo_broadcast_error",{transactionId:z});return z}catch(H){throw D("toolbox_aleo_broadcast_error",H)}}async function LJ(X){let H=await r({...X,sender:await B()});return QJ(H)}return{broadcastTransaction:c,createSigner:VJ,createTransaction:r,estimateTransactionFee:e,getAddress:B,getBalance:N,getBalanceFromRpc:L,getBalances:R,getBalanceWithFallback:C,getRecords:T,getShieldedBalance:E,signAndBroadcastTransaction:QJ,signTransaction:JJ,transfer:LJ,unshield:MJ,validateAddress:l}}export{t as waitForAleoTransaction,RJ as validateAleoProgramId,l as validateAleoAddress,qJ as sumUnspentRecords,gJ as parseAleoTransactionStatus,kJ as parseAleoMappingValue,v as isRecord,o as isNotFoundError,EJ as isAleoTokenTransferResponse,_ as getConfiguredAleoUrls,s as getAleoTransferRoute,mJ as getAleoTransactionStatus,lJ as getAleoToolbox,AJ as getAleoMasterSeed,D as getAleoError,zJ as extractAleoRecordCiphertexts,BJ as deriveAleoPath,IJ as deriveAleoChildKey,i as TRANSFER_PUBLIC_FUNCTION,w as NATIVE_PROGRAM_ID,n as MICRO_CREDITS_PER_CREDIT,HJ as HARDENED_OFFSET,jJ as ALEO_TRANSFER_PUBLIC_FEE,p as ALEO_TRANSACTION_ID_REGEX,GJ as ALEO_TOKEN_TRANSFER_PUBLIC_FEE,_J as ALEO_PROGRAM_ID_REGEX,yJ as ALEO_HD_KEY};
@@ -0,0 +1 @@
1
+ var e=Object.create;var{getPrototypeOf:jj,defineProperty:_,getOwnPropertyNames:m,getOwnPropertyDescriptor:qj}=Object,A=Object.prototype.hasOwnProperty;function l(q){return this[q]}var zj,Hj,Ij=(q,z,R)=>{var W=q!=null&&typeof q==="object";if(W){var N=z?zj??=new WeakMap:Hj??=new WeakMap,D=N.get(q);if(D)return D}R=q!=null?e(jj(q)):{};let Z=z||!q||!q.__esModule?_(R,"default",{value:q,enumerable:!0}):R;for(let y of m(q))if(!A.call(Z,y))_(Z,y,{get:l.bind(q,y),enumerable:!0});if(W)N.set(q,Z);return Z},Jj=(q)=>{var z=(g??=new WeakMap).get(q),R;if(z)return z;if(z=_({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var W of m(q))if(!A.call(z,W))_(z,W,{get:l.bind(q,W),enumerable:!(R=qj(q,W))||R.enumerable})}return g.set(q,z),z},g;var Rj=(q)=>q;function Wj(q,z){this[q]=Rj.bind(null,z)}var Yj=(q,z)=>{for(var R in z)_(q,R,{get:z[R],enumerable:!0,configurable:!0,set:Wj.bind(z,R)})};var p=(q,z)=>()=>(q&&(z=q(q=0)),z);function B(q){if(!q||typeof q!=="string"||!q.startsWith("0x"))return!1;let z=q.slice(2);if(z.length===0||z.length>64)return!1;return $j.test(z)}function c(q,z,R){if(q<=0n)throw new j.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{amount:q.toString(),asset:z.toString(),...R}});return q}async function kj({aptos:q,assetValue:z,senderAddress:R}){let W=z.address;if(!W)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");let[N]=await q.getCurrentFungibleAssetBalances({options:{limit:1,where:{asset_type:{_eq:W},is_primary:{_eq:!0},owner_address:{_eq:R}}}});return c(BigInt(N?.amount??0),z)}function u({derivationPath:q,provider:z,...R}={}){let W,N=j.derivationPathToString(q||j.NetworkDerivationPath[j.Chain.Aptos],{allHardened:!0});async function D(){if(W)return W;return W=await C.match(R).with({phrase:C.P.string},async({phrase:J})=>{let{Ed25519Account:H}=await import("@aptos-labs/ts-sdk");return H.fromDerivationPath({mnemonic:J,path:N})}).with({signer:C.P.any},({signer:J})=>J).otherwise(()=>{return}),W}async function Z(){let{Aptos:J,AptosConfig:H,Network:Y}=await import("@aptos-labs/ts-sdk"),k=new H({clientConfig:{http2:!1},fullnode:z||j.getRPCUrlSync(j.Chain.Aptos),network:Y.MAINNET});return new J(k)}async function y(){return(await D())?.accountAddress.toString()||""}async function b(J){let H=J||await y();if(!H)throw new j.SwapKitError("toolbox_aptos_address_required");let{baseDecimal:Y,chain:k}=j.getChainConfig(j.Chain.Aptos);try{let I=await Z(),$=await I.getAccountAPTAmount({accountAddress:H}),X=[j.AssetValue.from({chain:k,fromBaseDecimal:Y,value:$.toString()})],F=await I.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:H}}}});for(let L of F){if(L.asset_type===U.COIN_TYPE||Number(L.amount)<=0)continue;let Q=L.asset_type;if(Q){let M=("metadata"in L&&typeof L.metadata==="object"&&L.metadata!==null?L.metadata:void 0)?.decimals??Y;X.push(j.AssetValue.from({asset:`${j.Chain.Aptos}.APT-${Q}`,fromBaseDecimal:M,value:String(L.amount)}))}}return X}catch{return[j.AssetValue.from({chain:k})]}}async function i(J){if(!J){let{baseDecimal:X}=j.getChainConfig(j.Chain.Aptos),F=z||j.getRPCUrlSync(j.Chain.Aptos),L=await fetch(`${F}/estimate_gas_price`),{gas_estimate:Q}=await L.json();return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:X,value:String(Q)})}let H=await x(J),Y=await Z(),[k]=await Y.transaction.simulate.simple({transaction:H});if(!k)throw new j.SwapKitError("toolbox_aptos_transaction_creation_error");let I=BigInt(k.gas_used)*BigInt(k.gas_unit_price),{baseDecimal:$}=j.getChainConfig(j.Chain.Aptos);return j.AssetValue.from({chain:j.Chain.Aptos,fromBaseDecimal:$,value:I.toString()})}async function x({recipient:J,assetValue:H,maxGasAmount:Y,sender:k,sweep:I}){if(!B(J))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let $=k||await y();if(!$)throw new j.SwapKitError("toolbox_aptos_no_sender");let{AccountAddress:X}=await import("@aptos-labs/ts-sdk"),F=await Z(),L=X.from($);try{let Q=H.isGasAsset?U.TRANSFER:U.FUNGIBLE_STORE_TRANSFER,h=H.address,M=(f,O)=>{let S=C.match({address:h,isGasAsset:H.isGasAsset}).with({isGasAsset:!0},()=>[X.from(J),f]).with({address:C.P.string},({address:s})=>[X.from(s),X.from(J),f]).otherwise(()=>null);if(!S)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");let V=O?.maxGasAmount??Y;return F.transaction.build.simple({data:{function:Q,functionArguments:S,typeArguments:H.isGasAsset?[]:[U.FUNGIBLE_ASSET_METADATA]},options:V!==void 0||O?.gasUnitPrice!==void 0?{gasUnitPrice:O?.gasUnitPrice,maxGasAmount:V}:void 0,sender:L})};if(!I)return M(H.getBaseValue("bigint"));if(!H.isGasAsset){let f=await kj({aptos:F,assetValue:H,senderAddress:$});return M(f)}let T=BigInt(await F.getAccountAPTAmount({accountAddress:$})),t=await M(1n,{maxGasAmount:Y??Zj}),[P]=await F.transaction.simulate.simple({options:{estimateMaxGasAmount:Y===void 0},transaction:t});if(!P)throw new j.SwapKitError("toolbox_aptos_transaction_creation_error");if(!P.success)throw new j.SwapKitError({errorKey:"toolbox_aptos_transaction_creation_error",info:{vmStatus:P.vm_status}});let K=BigInt(P.gas_used),E=K>0n?(K*6n+4n)/5n:1n,w=E*BigInt(P.gas_unit_price),a=c(T-w,H,{balance:T.toString(),fee:w.toString()});return M(a,{gasUnitPrice:Number(P.gas_unit_price),maxGasAmount:Number(E)})}catch(Q){if(Q instanceof j.SwapKitError)throw Q;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",Q)}}async function v(J){let H=await D();if(!H)throw new j.SwapKitError("toolbox_aptos_no_signer");return(await Z()).transaction.sign({signer:H,transaction:J})}async function n({assetValue:J,maxGasAmount:H,recipient:Y,sweep:k}){let I=await D();if(!I)throw new j.SwapKitError("toolbox_aptos_no_signer");if(!B(Y))throw new j.SwapKitError("core_transaction_invalid_recipient_address");try{let $=I.accountAddress.toString(),X=await x({assetValue:J,maxGasAmount:H,recipient:Y,sender:$,sweep:k});return(await(await Z()).signAndSubmitTransaction({signer:I,transaction:X})).hash}catch($){if($ instanceof j.SwapKitError)throw $;throw new j.SwapKitError("toolbox_aptos_transaction_creation_error",$)}}async function G({senderAuthenticator:J,transaction:H}){try{return(await(await Z()).transaction.submit.simple({senderAuthenticator:J,transaction:H})).hash}catch(Y){throw new j.SwapKitError("toolbox_aptos_broadcast_error",Y)}}async function r(J){let H=await v(J);return G({senderAuthenticator:H,transaction:J})}return{broadcastTransaction:G,createTransaction:x,estimateTransactionFee:i,getAddress:y,getBalance:b,signAndBroadcastTransaction:r,signTransaction:v,transfer:n,validateAddress:B}}function d({provider:q}){return async function({assetValue:R,recipient:W,sweep:N}){if(N)throw new j.SwapKitError({errorKey:"toolbox_not_supported",info:{chain:j.Chain.Aptos,feature:"extension_provider_sweep",reason:"Aptos extension providers cannot query balances or simulate transactions"}});if(!B(W))throw new j.SwapKitError("core_transaction_invalid_recipient_address");let{AccountAddress:D}=await import("@aptos-labs/ts-sdk");if(R.isGasAsset)return(await q.signAndSubmitTransaction({arguments:[D.from(W).toString(),R.getBaseValue("string")],function:U.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let Z=R.address;if(!Z)throw new j.SwapKitError("toolbox_aptos_missing_asset_type");return(await q.signAndSubmitTransaction({arguments:[Z,D.from(W).toString(),R.getBaseValue("string")],function:U.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[U.FUNGIBLE_ASSET_METADATA]})).hash}}var j,C,U,Zj=2000,$j;var o=p(()=>{j=require("@swapkit/helpers"),C=require("ts-pattern"),U={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},$j=/^[0-9a-fA-F]+$/});var Lj={};Yj(Lj,{validateAptosAddress:()=>B,getAptosToolbox:()=>u,createAptosExtensionTransfer:()=>d});module.exports=Jj(Lj);var Xj=p(()=>{o()});Xj();
@@ -1 +1 @@
1
- import{ga as v}from"../../chunk-xbdjxeqd.js";import{AssetValue as N,Chain as I,derivationPathToString as e,getChainConfig as b,getRPCUrlSync as c,NetworkDerivationPath as jj,SwapKitError as H}from"@swapkit/helpers";import{match as d,P as G}from"ts-pattern";var C={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},zj=2000,Hj=/^[0-9a-fA-F]+$/;function _(W){if(!W||typeof W!=="string"||!W.startsWith("0x"))return!1;let Z=W.slice(2);if(Z.length===0||Z.length>64)return!1;return Hj.test(Z)}function u(W,Z,X){if(W<=0n)throw new H({errorKey:"toolbox_sweep_amount_too_low",info:{amount:W.toString(),asset:Z.toString(),...X}});return W}async function Jj({aptos:W,assetValue:Z,senderAddress:X}){let $=Z.address;if(!$)throw new H("toolbox_aptos_missing_asset_type");let[B]=await W.getCurrentFungibleAssetBalances({options:{limit:1,where:{asset_type:{_eq:$},is_primary:{_eq:!0},owner_address:{_eq:X}}}});return u(BigInt(B?.amount??0),Z)}function Rj({derivationPath:W,provider:Z,...X}={}){let $,B=e(W||jj[I.Aptos],{allHardened:!0});async function M(){if($)return $;return $=await d(X).with({phrase:G.string},async({phrase:z})=>{let{Ed25519Account:j}=await import("@aptos-labs/ts-sdk");return j.fromDerivationPath({mnemonic:z,path:B})}).with({signer:G.any},({signer:z})=>z).otherwise(()=>{return}),$}async function Q(){let{Aptos:z,AptosConfig:j,Network:J}=await import("@aptos-labs/ts-sdk"),Y=new j({clientConfig:{http2:!1},fullnode:Z||c(I.Aptos),network:J.MAINNET});return new z(Y)}async function f(){return(await M())?.accountAddress.toString()||""}async function h(z){let j=z||await f();if(!j)throw new H("toolbox_aptos_address_required");let{baseDecimal:J,chain:Y}=b(I.Aptos);try{let k=await Q(),L=await k.getAccountAPTAmount({accountAddress:j}),F=[N.from({chain:Y,fromBaseDecimal:J,value:L.toString()})],q=await k.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:j}}}});for(let R of q){if(R.asset_type===C.COIN_TYPE||Number(R.amount)<=0)continue;let D=R.asset_type;if(D){let y=("metadata"in R&&typeof R.metadata==="object"&&R.metadata!==null?R.metadata:void 0)?.decimals??J;F.push(N.from({asset:`${I.Aptos}.APT-${D}`,fromBaseDecimal:y,value:String(R.amount)}))}}return F}catch{return[N.from({chain:Y})]}}async function o(z){if(!z){let{baseDecimal:F}=b(I.Aptos),q=Z||c(I.Aptos),R=await fetch(`${q}/estimate_gas_price`),{gas_estimate:D}=await R.json();return N.from({chain:I.Aptos,fromBaseDecimal:F,value:String(D)})}let j=await P(z),J=await Q(),[Y]=await J.transaction.simulate.simple({transaction:j});if(!Y)throw new H("toolbox_aptos_transaction_creation_error");let k=BigInt(Y.gas_used)*BigInt(Y.gas_unit_price),{baseDecimal:L}=b(I.Aptos);return N.from({chain:I.Aptos,fromBaseDecimal:L,value:k.toString()})}async function P({recipient:z,assetValue:j,maxGasAmount:J,sender:Y,accountSequenceNumber:k,gasUnitPrice:L,sweep:F}){if(!_(z))throw new H("core_transaction_invalid_recipient_address");let q=Y||await f();if(!q)throw new H("toolbox_aptos_no_sender");let{AccountAddress:R}=await import("@aptos-labs/ts-sdk"),D=await Q(),E=R.from(q);try{let y=j.isGasAsset?C.TRANSFER:C.FUNGIBLE_STORE_TRANSFER,r=j.address,x=(U,A)=>{let m=d({address:r,isGasAsset:j.isGasAsset}).with({isGasAsset:!0},()=>[R.from(z),U]).with({address:G.string},({address:a})=>[R.from(a),R.from(z),U]).otherwise(()=>null);if(!m)throw new H("toolbox_aptos_missing_asset_type");let l=A?.maxGasAmount??J,p=A?.gasUnitPrice??L;return D.transaction.build.simple({data:{function:y,functionArguments:m,typeArguments:j.isGasAsset?[]:[C.FUNGIBLE_ASSET_METADATA]},options:l!==void 0||p!==void 0||k!==void 0?{accountSequenceNumber:k,gasUnitPrice:p,maxGasAmount:l}:void 0,sender:E})};if(!F)return x(j.getBaseValue("bigint"));if(!j.isGasAsset){let U=await Jj({aptos:D,assetValue:j,senderAddress:q});return x(U)}let w=BigInt(await D.getAccountAPTAmount({accountAddress:q})),t=await x(1n,{maxGasAmount:J??zj}),[O]=await D.transaction.simulate.simple({options:{estimateMaxGasAmount:J===void 0},transaction:t});if(!O)throw new H("toolbox_aptos_transaction_creation_error");if(!O.success)throw new H({errorKey:"toolbox_aptos_transaction_creation_error",info:{vmStatus:O.vm_status}});let V=BigInt(O.gas_used),S=V>0n?(V*6n+4n)/5n:1n,g=S*BigInt(O.gas_unit_price),s=u(w-g,j,{balance:w.toString(),fee:g.toString()});return x(s,{gasUnitPrice:Number(O.gas_unit_price),maxGasAmount:Number(S)})}catch(y){if(y instanceof H)throw y;throw new H("toolbox_aptos_transaction_creation_error",y)}}async function T(z){let j=await M();if(!j)throw new H("toolbox_aptos_no_signer");return(await Q()).transaction.sign({signer:j,transaction:z})}async function i({assetValue:z,maxGasAmount:j,recipient:J,sweep:Y}){let k=await M();if(!k)throw new H("toolbox_aptos_no_signer");if(!_(J))throw new H("core_transaction_invalid_recipient_address");try{let L=k.accountAddress.toString(),F=await P({assetValue:z,maxGasAmount:j,recipient:J,sender:L,sweep:Y});return(await(await Q()).signAndSubmitTransaction({signer:k,transaction:F})).hash}catch(L){if(L instanceof H)throw L;throw new H("toolbox_aptos_transaction_creation_error",L)}}async function K({senderAuthenticator:z,transaction:j}){try{return(await(await Q()).transaction.submit.simple({senderAuthenticator:z,transaction:j})).hash}catch(J){throw new H("toolbox_aptos_broadcast_error",J)}}async function n(z){let j=await T(z);return K({senderAuthenticator:j,transaction:z})}return{broadcastTransaction:K,createTransaction:P,estimateTransactionFee:o,getAddress:f,getBalance:h,signAndBroadcastTransaction:n,signTransaction:T,transfer:i,validateAddress:_}}function Wj({provider:W}){return async function({assetValue:X,recipient:$,sweep:B}){if(B)throw new H({errorKey:"toolbox_not_supported",info:{chain:I.Aptos,feature:"extension_provider_sweep",reason:"Aptos extension providers cannot query balances or simulate transactions"}});if(!_($))throw new H("core_transaction_invalid_recipient_address");let{AccountAddress:M}=await import("@aptos-labs/ts-sdk");if(X.isGasAsset)return(await W.signAndSubmitTransaction({arguments:[M.from($).toString(),X.getBaseValue("string")],function:C.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let Q=X.address;if(!Q)throw new H("toolbox_aptos_missing_asset_type");return(await W.signAndSubmitTransaction({arguments:[Q,M.from($).toString(),X.getBaseValue("string")],function:C.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[C.FUNGIBLE_ASSET_METADATA]})).hash}}export{_ as validateAptosAddress,Rj as getAptosToolbox,Wj as createAptosExtensionTransfer};
1
+ import{ga as x}from"../../chunk-xbdjxeqd.js";import{AssetValue as P,Chain as Q,derivationPathToString as t,getChainConfig as v,getRPCUrlSync as l,NetworkDerivationPath as a,SwapKitError as z}from"@swapkit/helpers";import{match as p,P as G}from"ts-pattern";var N={COIN_TYPE:"0x1::aptos_coin::AptosCoin",FUNGIBLE_ASSET_METADATA:"0x1::fungible_asset::Metadata",FUNGIBLE_STORE_TRANSFER:"0x1::primary_fungible_store::transfer",TRANSFER:"0x1::aptos_account::transfer"},s=2000,e=/^[0-9a-fA-F]+$/;function B(J){if(!J||typeof J!=="string"||!J.startsWith("0x"))return!1;let Z=J.slice(2);if(Z.length===0||Z.length>64)return!1;return e.test(Z)}function c(J,Z,L){if(J<=0n)throw new z({errorKey:"toolbox_sweep_amount_too_low",info:{amount:J.toString(),asset:Z.toString(),...L}});return J}async function jj({aptos:J,assetValue:Z,senderAddress:L}){let $=Z.address;if(!$)throw new z("toolbox_aptos_missing_asset_type");let[M]=await J.getCurrentFungibleAssetBalances({options:{limit:1,where:{asset_type:{_eq:$},is_primary:{_eq:!0},owner_address:{_eq:L}}}});return c(BigInt(M?.amount??0),Z)}function qj({derivationPath:J,provider:Z,...L}={}){let $,M=t(J||a[Q.Aptos],{allHardened:!0});async function y(){if($)return $;return $=await p(L).with({phrase:G.string},async({phrase:q})=>{let{Ed25519Account:j}=await import("@aptos-labs/ts-sdk");return j.fromDerivationPath({mnemonic:q,path:M})}).with({signer:G.any},({signer:q})=>q).otherwise(()=>{return}),$}async function D(){let{Aptos:q,AptosConfig:j,Network:H}=await import("@aptos-labs/ts-sdk"),W=new j({clientConfig:{http2:!1},fullnode:Z||l(Q.Aptos),network:H.MAINNET});return new q(W)}async function _(){return(await y())?.accountAddress.toString()||""}async function h(q){let j=q||await _();if(!j)throw new z("toolbox_aptos_address_required");let{baseDecimal:H,chain:W}=v(Q.Aptos);try{let X=await D(),R=await X.getAccountAPTAmount({accountAddress:j}),k=[P.from({chain:W,fromBaseDecimal:H,value:R.toString()})],F=await X.getCurrentFungibleAssetBalances({options:{where:{owner_address:{_eq:j}}}});for(let Y of F){if(Y.asset_type===N.COIN_TYPE||Number(Y.amount)<=0)continue;let I=Y.asset_type;if(I){let U=("metadata"in Y&&typeof Y.metadata==="object"&&Y.metadata!==null?Y.metadata:void 0)?.decimals??H;k.push(P.from({asset:`${Q.Aptos}.APT-${I}`,fromBaseDecimal:U,value:String(Y.amount)}))}}return k}catch{return[P.from({chain:W})]}}async function u(q){if(!q){let{baseDecimal:k}=v(Q.Aptos),F=Z||l(Q.Aptos),Y=await fetch(`${F}/estimate_gas_price`),{gas_estimate:I}=await Y.json();return P.from({chain:Q.Aptos,fromBaseDecimal:k,value:String(I)})}let j=await O(q),H=await D(),[W]=await H.transaction.simulate.simple({transaction:j});if(!W)throw new z("toolbox_aptos_transaction_creation_error");let X=BigInt(W.gas_used)*BigInt(W.gas_unit_price),{baseDecimal:R}=v(Q.Aptos);return P.from({chain:Q.Aptos,fromBaseDecimal:R,value:X.toString()})}async function O({recipient:q,assetValue:j,maxGasAmount:H,sender:W,sweep:X}){if(!B(q))throw new z("core_transaction_invalid_recipient_address");let R=W||await _();if(!R)throw new z("toolbox_aptos_no_sender");let{AccountAddress:k}=await import("@aptos-labs/ts-sdk"),F=await D(),Y=k.from(R);try{let I=j.isGasAsset?N.TRANSFER:N.FUNGIBLE_STORE_TRANSFER,E=j.address,U=(f,b)=>{let m=p({address:E,isGasAsset:j.isGasAsset}).with({isGasAsset:!0},()=>[k.from(q),f]).with({address:G.string},({address:r})=>[k.from(r),k.from(q),f]).otherwise(()=>null);if(!m)throw new z("toolbox_aptos_missing_asset_type");let A=b?.maxGasAmount??H;return F.transaction.build.simple({data:{function:I,functionArguments:m,typeArguments:j.isGasAsset?[]:[N.FUNGIBLE_ASSET_METADATA]},options:A!==void 0||b?.gasUnitPrice!==void 0?{gasUnitPrice:b?.gasUnitPrice,maxGasAmount:A}:void 0,sender:Y})};if(!X)return U(j.getBaseValue("bigint"));if(!j.isGasAsset){let f=await jj({aptos:F,assetValue:j,senderAddress:R});return U(f)}let w=BigInt(await F.getAccountAPTAmount({accountAddress:R})),i=await U(1n,{maxGasAmount:H??s}),[C]=await F.transaction.simulate.simple({options:{estimateMaxGasAmount:H===void 0},transaction:i});if(!C)throw new z("toolbox_aptos_transaction_creation_error");if(!C.success)throw new z({errorKey:"toolbox_aptos_transaction_creation_error",info:{vmStatus:C.vm_status}});let S=BigInt(C.gas_used),V=S>0n?(S*6n+4n)/5n:1n,g=V*BigInt(C.gas_unit_price),n=c(w-g,j,{balance:w.toString(),fee:g.toString()});return U(n,{gasUnitPrice:Number(C.gas_unit_price),maxGasAmount:Number(V)})}catch(I){if(I instanceof z)throw I;throw new z("toolbox_aptos_transaction_creation_error",I)}}async function T(q){let j=await y();if(!j)throw new z("toolbox_aptos_no_signer");return(await D()).transaction.sign({signer:j,transaction:q})}async function d({assetValue:q,maxGasAmount:j,recipient:H,sweep:W}){let X=await y();if(!X)throw new z("toolbox_aptos_no_signer");if(!B(H))throw new z("core_transaction_invalid_recipient_address");try{let R=X.accountAddress.toString(),k=await O({assetValue:q,maxGasAmount:j,recipient:H,sender:R,sweep:W});return(await(await D()).signAndSubmitTransaction({signer:X,transaction:k})).hash}catch(R){if(R instanceof z)throw R;throw new z("toolbox_aptos_transaction_creation_error",R)}}async function K({senderAuthenticator:q,transaction:j}){try{return(await(await D()).transaction.submit.simple({senderAuthenticator:q,transaction:j})).hash}catch(H){throw new z("toolbox_aptos_broadcast_error",H)}}async function o(q){let j=await T(q);return K({senderAuthenticator:j,transaction:q})}return{broadcastTransaction:K,createTransaction:O,estimateTransactionFee:u,getAddress:_,getBalance:h,signAndBroadcastTransaction:o,signTransaction:T,transfer:d,validateAddress:B}}function zj({provider:J}){return async function({assetValue:L,recipient:$,sweep:M}){if(M)throw new z({errorKey:"toolbox_not_supported",info:{chain:Q.Aptos,feature:"extension_provider_sweep",reason:"Aptos extension providers cannot query balances or simulate transactions"}});if(!B($))throw new z("core_transaction_invalid_recipient_address");let{AccountAddress:y}=await import("@aptos-labs/ts-sdk");if(L.isGasAsset)return(await J.signAndSubmitTransaction({arguments:[y.from($).toString(),L.getBaseValue("string")],function:N.TRANSFER,type:"entry_function_payload",type_arguments:[]})).hash;let D=L.address;if(!D)throw new z("toolbox_aptos_missing_asset_type");return(await J.signAndSubmitTransaction({arguments:[D,y.from($).toString(),L.getBaseValue("string")],function:N.FUNGIBLE_STORE_TRANSFER,type:"entry_function_payload",type_arguments:[N.FUNGIBLE_ASSET_METADATA]})).hash}}export{B as validateAptosAddress,qj as getAptosToolbox,zj as createAptosExtensionTransfer};
@@ -0,0 +1 @@
1
+ var qG=Object.create;var{getPrototypeOf:FG,defineProperty:S,getOwnPropertyNames:i,getOwnPropertyDescriptor:UG}=Object,n=Object.prototype.hasOwnProperty;function o(G){return this[G]}var YG,MG,RG=(G,J,Q)=>{var z=G!=null&&typeof G==="object";if(z){var j=J?YG??=new WeakMap:MG??=new WeakMap,F=j.get(G);if(F)return F}Q=G!=null?qG(FG(G)):{};let Z=J||!G||!G.__esModule?S(Q,"default",{value:G,enumerable:!0}):Q;for(let W of i(G))if(!n.call(Z,W))S(Z,W,{get:o.bind(G,W),enumerable:!0});if(z)j.set(G,Z);return Z},HG=(G)=>{var J=(d??=new WeakMap).get(G),Q;if(J)return J;if(J=S({},"__esModule",{value:!0}),G&&typeof G==="object"||typeof G==="function"){for(var z of i(G))if(!n.call(J,z))S(J,z,{get:o.bind(G,z),enumerable:!(Q=UG(G,z))||Q.enumerable})}return d.set(G,J),J},d;var _G=(G)=>G;function IG(G,J){this[G]=_G.bind(null,J)}var kG=(G,J)=>{for(var Q in J)S(G,Q,{get:J[Q],enumerable:!0,configurable:!0,set:IG.bind(J,Q)})};var t=(G,J)=>()=>(G&&(J=G(G=0)),J);async function u(G,J){let Q=await fetch(`${QG}${G}`,{...J,headers:{project_id:JG,...J?.headers}});if(!Q.ok)throw Error(`Blockfrost API error: ${Q.status} ${Q.statusText}`);return Q.json()}async function ZG(G){try{return await u(`/addresses/${G}/utxos`)}catch{return[]}}async function OG(){return(await u("/blocks/latest")).slot}async function DG(){let G=await u("/epochs/latest/parameters"),J={PlutusScriptV1:G.cost_models.PlutusV1?Object.values(G.cost_models.PlutusV1):[],PlutusScriptV2:G.cost_models.PlutusV2?Object.values(G.cost_models.PlutusV2):[],PlutusScriptV3:G.cost_models.PlutusV3?Object.values(G.cost_models.PlutusV3):[]};return{collateralPercent:new U.default(G.collateral_percent),languageView:J,maxValueSize:Number.parseInt(G.max_val_size,10),minFeeA:new U.default(G.min_fee_a),minFeeB:new U.default(G.min_fee_b),minFeeRefScriptCostPerByte:new U.default(15),priceMem:new U.default(G.price_mem),priceSteps:new U.default(G.price_step),stakeKeyDeposit:new U.default(2000000),utxoCostPerByte:new U.default(G.coins_per_utxo_size)}}async function s(G){let J=await fetch(`${QG}/tx/submit`,{body:Buffer.from(G,"hex"),headers:{"Content-Type":"application/cbor",project_id:JG},method:"POST"});if(!J.ok){let Q=await J.text();throw Error(`Transaction submission failed: ${Q}`)}return J.json()}function NG(G,J){return G.map((Q)=>{let z=Q.amount.find((Z)=>Z.unit==="lovelace"),j=z?new U.default(z.quantity):new U.default(0),F=Q.amount.filter((Z)=>Z.unit!=="lovelace").map((Z)=>({amount:new U.default(Z.quantity),assetName:Z.unit.slice(56),policyId:Z.unit.slice(0,56)}));return{address:J,amount:j,index:Q.output_index,tokens:F,txId:Q.tx_hash}})}function LG({TransactionConstructor:G,auxiliaryData:J,bufferedParams:Q,currentSlot:z,inputs:j,recipientAddress:F}){let Z=j.reduce((X,q)=>X.plus(q.amount),new U.default(0));if(!Z.isPositive())throw new $.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{available:Z.toString()}});let W=new G({protocolParams:Q});for(let X of j)W.addInput(X);if(W.addOutput({address:F,amount:Z,tokens:[]}),W.setTTL(z+3600),J)W.setAuxiliaryData(J);W.setFee(W.calculateFee());let _=W.getFee(),Y=Z.minus(_),M={address:F,amount:Y,tokens:[]},k=W.calculateMinUtxoAmountBabbage(M);if(!Y.isPositive()||Y.lt(k))throw new $.SwapKitError({errorKey:"toolbox_sweep_amount_too_low",info:{available:Z.toString(),fee:_.toString(),minimumOutput:k.toString()}});return new G({protocolParams:Q}).paymentTransaction({auxiliaryData:J,changeAddress:F,inputs:j,outputs:[M],ttl:z+3600})}async function vG(G){try{let J=await ZG(G),Q=0n,z=new Map;for(let Z of J){if(!Z.amount||!Array.isArray(Z.amount))continue;for(let W of Z.amount){let{unit:_,quantity:Y}=W;if(_==="lovelace")Q+=BigInt(Y);else{let M=z.get(_)||0n;z.set(_,M+BigInt(Y))}}}let j=[],{baseDecimal:F}=$.getChainConfig($.Chain.Cardano);if(Q>0n)j.push($.AssetValue.from({chain:$.Chain.Cardano,fromBaseDecimal:F,value:Q.toString()}));for(let[Z,W]of z)j.push($.AssetValue.from({asset:`${$.Chain.Cardano}.${Z}`,value:W.toString()}));if(j.length===0)return[$.AssetValue.from({chain:$.Chain.Cardano})];return j}catch(J){let Q=J instanceof Error?J.message:String(J);return console.error(`Cardano balance fetch error: ${Q}`),[$.AssetValue.from({chain:$.Chain.Cardano})]}}function $G(G){if(!G||typeof G!=="string")return!1;try{let J=a.bech32.decode(G,120);return J.prefix==="addr"||J.prefix==="addr_test"}catch{return!1}}async function VG(G,J=0,Q=0){let{Bip32PrivateKey:z}=await import("@stricahq/bip32ed25519"),{types:j,address:F,crypto:Z}=await import("@stricahq/typhonjs"),W=e.mnemonicToEntropy(G,GG.wordlist),Y=(await z.fromEntropy(Buffer.from(Array.from(W)))).derive(l+1852).derive(l+1815).derive(l+J),M=Y.derive(0).derive(Q),k=M.toBip32PublicKey().toPublicKey().toBytes(),E=Z.hash28(k),q=Y.derive(2).derive(0).toBip32PublicKey().toPublicKey().toBytes(),R=Z.hash28(q),O={hash:E,type:j.HashType.ADDRESS},D={hash:R,type:j.HashType.ADDRESS},v=new F.BaseAddress(j.NetworkId.MAINNET,O,D).getBech32(),B=M.toPrivateKey();return{getAddress:()=>v,publicKey:k,publicKeyHash:E,signTransaction:async(C)=>{try{let L=await import("@stricahq/cbors"),A=Buffer.from(C,"hex"),K=L.Decoder.decode(A),[w,T,x,h]=K.value,P=L.Encoder.encode(w),g=Z.hash32(P),f=B.sign(g),V=T instanceof Map?T:new Map,y=V.get(r)||[];y.push([k,f]),V.set(r,y);let b=[w,V,x,h];return L.Encoder.encode(b).toString("hex")}catch(L){throw new $.SwapKitError("toolbox_cardano_sign_transaction_failed",{message:String(L)})}}}}function EG(G){let J,Q,z;async function j(){if(!z)z=await DG();return z}async function F(){if(J!==void 0)return J;if(G&&"phrase"in G&&G.phrase){let X=G.index??0;return J=await VG(G.phrase,0,X),J}if(G&&"signer"in G&&G.signer)return J=G.signer,J;return}async function Z(){if(Q)return Q;let X=await F();if(!X)return"";if("getAddress"in X)return Q=await X.getAddress(),Q;return""}async function W(X){let q=X||await Z();if(!q)throw new $.SwapKitError("core_wallet_connection_not_found");return vG(q)}async function _(X){if(X)try{let{tx:D}=await Y(X),N=D.getFee();return $.AssetValue.from({chain:$.Chain.Cardano,fromBaseDecimal:6,value:N.toString()})}catch{}let q=await j(),R=400,O=q.minFeeB.plus(q.minFeeA.times(R));return $.AssetValue.from({chain:$.Chain.Cardano,fromBaseDecimal:6,value:O.toString()})}async function Y({sender:X="",recipient:q,assetValue:R,memo:O,pureLovelaceOnly:D=!1,sweep:N=!1}){let{Transaction:v,utils:B}=await import("@stricahq/typhonjs"),C=X||await Z();if(!C)throw new $.SwapKitError("core_wallet_connection_not_found");let[L,A,K]=await Promise.all([ZG(C),OG(),j()]);if(N&&!R.isGasAsset)throw new $.SwapKitError({errorKey:"toolbox_not_supported",info:{asset:R.toString(),chain:$.Chain.Cardano,feature:"token_sweep"}});let w=N&&R.isGasAsset,T=D||w,x=L.filter((H)=>T?H.amount.some((I)=>I.unit==="lovelace")&&H.amount.every((I)=>I.unit==="lovelace"):H.amount.some((I)=>I.unit==="lovelace")).sort((H,I)=>{let c=H.amount.some((m)=>m.unit!=="lovelace"),WG=I.amount.some((m)=>m.unit!=="lovelace");if(c===WG)return 0;return c?1:-1}),h=B.getAddressFromString(C),P=B.getAddressFromString(q),g=NG(x,h),f;if(O){let H=new Map;H.set("msg",[O]),f={metadata:[{data:H,label:674}]}}let V={...K,minFeeB:K.minFeeB.plus(K.minFeeA.times(4))};if(w){let H=LG({auxiliaryData:f,bufferedParams:V,currentSlot:A,inputs:g,recipientAddress:P,TransactionConstructor:v}),{payload:I}=H.buildTransaction();return{tx:H,unsignedTx:I}}let y=new U.default(R.getBaseValue("string")),b=[{address:P,amount:y,tokens:[]}],p=new v({protocolParams:V}).paymentTransaction({auxiliaryData:f,changeAddress:h,inputs:g,outputs:b,ttl:A+3600}),{payload:jG}=p.buildTransaction();return{tx:p,unsignedTx:jG}}async function M(X){let q=await F();if(!q||!("signTransaction"in q))throw new $.SwapKitError("core_wallet_connection_not_found");return q.signTransaction(X)}async function k({recipient:X,assetValue:q,memo:R,sweep:O}){let D=await F();if(!D||!("signTransaction"in D))throw new $.SwapKitError("core_wallet_connection_not_found");let{unsignedTx:N}=await Y({assetValue:q,memo:R,recipient:X,sender:await Z(),sweep:O}),v=await M(N);return await s(v)}async function E(X){let q=await M(X);return await s(q)}return{createTransaction:Y,estimateTransactionFee:_,getAddress:Z,getBalance:W,signAndBroadcastTransaction:E,signTransaction:M,transfer:k,validateAddress:$G}}var a,e,GG,$,U,JG="mainnet3YT7XK6NidLPlkHxxyBB5V0WzXUOTIJS",QG="https://cardano-mainnet.blockfrost.io/api/v0",l=2147483648,r=0;var zG=t(()=>{a=require("@scure/base"),e=require("@scure/bip39"),GG=require("@scure/bip39/wordlists/english.js"),$=require("@swapkit/helpers"),U=RG(require("bignumber.js"))});var CG={};kG(CG,{validateCardanoAddress:()=>$G,getCardanoToolbox:()=>EG});module.exports=HG(CG);var KG=t(()=>{zG()});KG();
@@ -0,0 +1 @@
1
+ var H0=Object.create;var{getPrototypeOf:B0,defineProperty:t,getOwnPropertyNames:Pf,getOwnPropertyDescriptor:_0}=Object,Mf=Object.prototype.hasOwnProperty;function Vf(v){return this[v]}var v0,L0,y0=(v,H,_)=>{var f=v!=null&&typeof v==="object";if(f){var x=H?v0??=new WeakMap:L0??=new WeakMap,T=x.get(v);if(T)return T}_=v!=null?H0(B0(v)):{};let B=H||!v||!v.__esModule?t(_,"default",{value:v,enumerable:!0}):_;for(let L of Pf(v))if(!Mf.call(B,L))t(B,L,{get:Vf.bind(v,L),enumerable:!0});if(f)x.set(v,B);return B},W0=(v)=>{var H=(Df??=new WeakMap).get(v),_;if(H)return H;if(H=t({},"__esModule",{value:!0}),v&&typeof v==="object"||typeof v==="function"){for(var f of Pf(v))if(!Mf.call(H,f))t(H,f,{get:Vf.bind(v,f),enumerable:!(_=_0(v,f))||_.enumerable})}return Df.set(v,H),H},Df;var z0=(v)=>v;function G0(v,H){this[v]=z0.bind(null,H)}var uf=(v,H)=>{for(var _ in H)t(v,_,{get:H[_],enumerable:!0,configurable:!0,set:G0.bind(H,_)})};var A=(v,H)=>()=>(v&&(H=v(v=0)),H);function g(v){return P.base64.encode(Uint8Array.from(P.bech32.fromWords(P.bech32.decode(v).words)))}function r(v,H="thor"){return P.bech32.encode(H,P.bech32.toWords(P.base64.decode(v)))}function Z0(v){return P.base64.encode(v)}function I0(v){if(!v.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new wf.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return P.base64.decode(v)}var P,wf;var Zf=A(()=>{P=require("@scure/base"),wf=require("@swapkit/helpers")});function D(v){switch(v){case W.Chain.Maya:return{amount:[],gas:"10000000000"};case W.Chain.THORChain:return{amount:[],gas:"500000000"};case W.Chain.Kujira:return $f;case W.Chain.Noble:return nf;default:return lf}}async function a(v){let{isStagenet:H}=W.SKConfig.get("envs"),_=W.SKConfig.get("thornodeUrls"),f=v===W.Chain.Maya,T=`${f?H?_.MAYA_STAGENET:_.MAYA:H?_.THOR_STAGENET:_.THOR}/${f?"mayachain":"thorchain"}/constants`,B=W.getChainConfig(v).baseDecimal;try{let{int_64_values:{NativeTransactionFee:L}}=await W.RequestClient.get(T);if(!Number.isInteger(L)||L<=0)throw new W.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:L.toString()});return W.SwapKitNumber.fromBigInt(BigInt(L),B)}catch{let L=f?10000000000n:2000000n;return W.SwapKitNumber.fromBigInt(L,B)}}async function M(v){let H=await import("@cosmjs/stargate"),_=H.StargateClient??H.default?.StargateClient,f=typeof window<"u"?{}:{referer:"https://sdk.swapkit.dev",referrer:"https://sdk.swapkit.dev"};return _.connect({headers:f,url:v})}async function j(v,H,_={}){let f=await import("@cosmjs/stargate"),x=f.SigningStargateClient??f.default?.SigningStargateClient,T=f.GasPrice??f.default?.GasPrice,B=typeof _==="string"?_:"0.0003uatom",L=typeof _==="string"?{}:_;return x.connectWithSigner(v,H,{gasPrice:T.fromString(B),...L})}async function Qf(v,H){let _=await import("@cosmjs/stargate");return(_.SigningStargateClient??_.default?.SigningStargateClient).offline(v,H)}async function Xf({sender:v,recipient:H,assetValue:_,memo:f="",feeRate:x,sequence:T,accountNumber:B,sweep:L}){let{chain:I,chainId:q}=_,E=await W.getRPCUrl(I),K=await M(E),k=await K.getAccount(v);if(!k)throw new W.SwapKitError("toolbox_cosmos_account_not_found",{sender:v});let X=W.AssetValue.from({chain:I}),Y=w(X.symbol),Q=D(I),J=Y&&x?{amount:[{amount:x.toString(),denom:Y}],gas:Q.gas}:Q,O=w(_.symbol),C={amount:[{amount:(L?i({assetValue:_,balances:await K.getAllBalances(v),denom:O,feeAmount:_f(J.amount,O)}):_).getBaseValue("string"),denom:O}],fromAddress:v,toAddress:H};return{accountNumber:B??Number(k.accountNumber),chainId:q,fee:J,memo:f,msgs:[{typeUrl:Q0(I),value:C}],sequence:T??k.sequence}}function _f(v,H){let _=H.toLowerCase();return v.reduce((f,x)=>x.denom.toLowerCase()===_?f+BigInt(x.amount):f,0n)}function i({assetValue:v,balances:H,denom:_,feeAmount:f=0n}){let x=_.toLowerCase(),T=H.find(({denom:I})=>I.toLowerCase()===x),B=BigInt(T?.amount??"0"),L=B-f;if(L<=0n)throw new W.SwapKitError("toolbox_sweep_amount_too_low",{asset:v.toString(),balance:B.toString(),fee:f.toString()});return v.set(W.SwapKitNumber.fromBigInt(L,v.decimal))}var W,If="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",hf="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",lf,$f,nf,w=(v,H=!1)=>{if(H)return v.toLowerCase();switch(v){case"uUSK":case"USK":return If;case"uYUM":case"YUM":return hf;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";case"uUSDC":case"USDC":case"NOBLE":return"uusdc";default:return v}},s=({symbol:v,chain:H})=>{if(H===W.Chain.Maya)return(v.toUpperCase()!=="CACAO"?v:`${W.Chain.Maya}.${v}`).toUpperCase();if(H===W.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(v.toUpperCase())?`${W.Chain.THORChain}.${v}`:v).toUpperCase();return w(v,!1)},Q0=(v)=>{switch(v){case W.Chain.Maya:case W.Chain.THORChain:return"/types.MsgSend";case W.Chain.Cosmos:case W.Chain.Kujira:case W.Chain.Noble:return"/cosmos.bank.v1beta1.MsgSend";default:throw new W.SwapKitError("toolbox_cosmos_not_supported",{chain:v})}},X0,Yf=(v,H)=>{let _=X0[v.toLowerCase()];if(!_)return W.AssetValue.from({asset:v,fromBaseDecimal:8,value:H});let{chain:f,asset:x,decimals:T}=_,B=f?{chain:f}:{asset:x};return W.AssetValue.from({...B,fromBaseDecimal:T,value:H})};var e=A(()=>{W=require("@swapkit/helpers"),lf={amount:[{amount:"500",denom:"uatom"}],gas:"200000"},$f={amount:[{amount:"1000",denom:"ukuji"}],gas:"200000"},nf={amount:[{amount:"1000",denom:"uusdc"}],gas:"200000"};X0={atom:{chain:W.Chain.Cosmos,decimals:W.getChainConfig(W.Chain.Cosmos).baseDecimal},cacao:{chain:W.Chain.Maya,decimals:10},kuji:{chain:W.Chain.Kujira,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal},maya:{asset:`${W.Chain.Maya}.${W.Chain.Maya}`,decimals:4},rune:{chain:W.Chain.THORChain,decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},tcy:{asset:"THOR.TCY",decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},uatom:{chain:W.Chain.Cosmos,decimals:W.getChainConfig(W.Chain.Cosmos).baseDecimal},ukuji:{chain:W.Chain.Kujira,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal},usdc:{chain:W.Chain.Noble,decimals:W.getChainConfig(W.Chain.Noble).baseDecimal},uusdc:{chain:W.Chain.Noble,decimals:W.getChainConfig(W.Chain.Noble).baseDecimal},"x/kuji":{asset:"THOR.KUJI",decimals:W.getChainConfig(W.Chain.THORChain).baseDecimal},[If.toLowerCase()]:{asset:`${W.Chain.Kujira}.USK`,decimals:W.getChainConfig(W.Chain.Kujira).baseDecimal}}});var pf={};uf(pf,{$root:()=>y});var U,Z,R,G,y;var cf=A(()=>{U=y0(require("protobufjs/minimal.js")),Z=U.default.Reader,R=U.default.Writer,G=U.default.util,y=U.default.roots.default||(U.default.roots.default={});y.common=(()=>{let v={};return v.Asset=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.chain="",H.prototype.symbol="",H.prototype.ticker="",H.prototype.synth=!1,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))x.uint32(10).string(f.chain);if(f.symbol!=null&&Object.hasOwnProperty.call(f,"symbol"))x.uint32(18).string(f.symbol);if(f.ticker!=null&&Object.hasOwnProperty.call(f,"ticker"))x.uint32(26).string(f.ticker);if(f.synth!=null&&Object.hasOwnProperty.call(f,"synth"))x.uint32(32).bool(f.synth);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Asset;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.chain=f.string();break;case 2:B.symbol=f.string();break;case 3:B.ticker=f.string();break;case 4:B.synth=f.bool();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.chain!=null&&f.hasOwnProperty("chain")){if(!G.isString(f.chain))return"chain: string expected"}if(f.symbol!=null&&f.hasOwnProperty("symbol")){if(!G.isString(f.symbol))return"symbol: string expected"}if(f.ticker!=null&&f.hasOwnProperty("ticker")){if(!G.isString(f.ticker))return"ticker: string expected"}if(f.synth!=null&&f.hasOwnProperty("synth")){if(typeof f.synth!=="boolean")return"synth: boolean expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Asset)return f;let x=new y.common.Asset;if(f.chain!=null)x.chain=String(f.chain);if(f.symbol!=null)x.symbol=String(f.symbol);if(f.ticker!=null)x.ticker=String(f.ticker);if(f.synth!=null)x.synth=Boolean(f.synth);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.chain="",T.symbol="",T.ticker="",T.synth=!1;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.symbol!=null&&f.hasOwnProperty("symbol"))T.symbol=f.symbol;if(f.ticker!=null&&f.hasOwnProperty("ticker"))T.ticker=f.ticker;if(f.synth!=null&&f.hasOwnProperty("synth"))T.synth=f.synth;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.Coin=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.asset=null,H.prototype.amount="",H.prototype.decimals=G.Long?G.Long.fromBits(0,0,!1):0,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.asset!=null&&Object.hasOwnProperty.call(f,"asset"))y.common.Asset.encode(f.asset,x.uint32(10).fork()).ldelim();if(f.amount!=null&&Object.hasOwnProperty.call(f,"amount"))x.uint32(18).string(f.amount);if(f.decimals!=null&&Object.hasOwnProperty.call(f,"decimals"))x.uint32(24).int64(f.decimals);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Coin;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.asset=y.common.Asset.decode(f,f.uint32());break;case 2:B.amount=f.string();break;case 3:B.decimals=f.int64();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.asset!=null&&f.hasOwnProperty("asset")){let x=y.common.Asset.verify(f.asset);if(x)return"asset."+x}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!G.isString(f.amount))return"amount: string expected"}if(f.decimals!=null&&f.hasOwnProperty("decimals")){if(!G.isInteger(f.decimals)&&!(f.decimals&&G.isInteger(f.decimals.low)&&G.isInteger(f.decimals.high)))return"decimals: integer|Long expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Coin)return f;let x=new y.common.Coin;if(f.asset!=null){if(typeof f.asset!=="object")throw TypeError(".common.Coin.asset: object expected");x.asset=y.common.Asset.fromObject(f.asset)}if(f.amount!=null)x.amount=String(f.amount);if(f.decimals!=null){if(G.Long)(x.decimals=G.Long.fromValue(f.decimals)).unsigned=!1;else if(typeof f.decimals==="string")x.decimals=Number.parseInt(f.decimals,10);else if(typeof f.decimals==="number")x.decimals=f.decimals;else if(typeof f.decimals==="object")x.decimals=new G.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber()}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)if(T.asset=null,T.amount="",G.Long){let B=new G.Long(0,0,!1);T.decimals=x.longs===String?B.toString():x.longs===Number?B.toNumber():B}else T.decimals=x.longs===String?"0":0;if(f.asset!=null&&f.hasOwnProperty("asset"))T.asset=y.common.Asset.toObject(f.asset,x);if(f.amount!=null&&f.hasOwnProperty("amount"))T.amount=f.amount;if(f.decimals!=null&&f.hasOwnProperty("decimals"))if(typeof f.decimals==="number")T.decimals=x.longs===String?String(f.decimals):f.decimals;else T.decimals=x.longs===String?G.Long.prototype.toString.call(f.decimals):x.longs===Number?new G.LongBits(f.decimals.low>>>0,f.decimals.high>>>0).toNumber():f.decimals;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.PubKeySet=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.secp256k1="",H.prototype.ed25519="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.secp256k1!=null&&Object.hasOwnProperty.call(f,"secp256k1"))x.uint32(10).string(f.secp256k1);if(f.ed25519!=null&&Object.hasOwnProperty.call(f,"ed25519"))x.uint32(18).string(f.ed25519);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.PubKeySet;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.secp256k1=f.string();break;case 2:B.ed25519=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1")){if(!G.isString(f.secp256k1))return"secp256k1: string expected"}if(f.ed25519!=null&&f.hasOwnProperty("ed25519")){if(!G.isString(f.ed25519))return"ed25519: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.PubKeySet)return f;let x=new y.common.PubKeySet;if(f.secp256k1!=null)x.secp256k1=String(f.secp256k1);if(f.ed25519!=null)x.ed25519=String(f.ed25519);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.secp256k1="",T.ed25519="";if(f.secp256k1!=null&&f.hasOwnProperty("secp256k1"))T.secp256k1=f.secp256k1;if(f.ed25519!=null&&f.hasOwnProperty("ed25519"))T.ed25519=f.ed25519;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.Tx=(()=>{function H(_){if(this.coins=[],this.gas=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.id="",H.prototype.chain="",H.prototype.fromAddress="",H.prototype.toAddress="",H.prototype.coins=G.emptyArray,H.prototype.gas=G.emptyArray,H.prototype.memo="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.id!=null&&Object.hasOwnProperty.call(f,"id"))x.uint32(10).string(f.id);if(f.chain!=null&&Object.hasOwnProperty.call(f,"chain"))x.uint32(18).string(f.chain);if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))x.uint32(26).string(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))x.uint32(34).string(f.toAddress);if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(42).fork()).ldelim();if(f.gas?.length)for(let T=0;T<f.gas.length;++T)y.common.Coin.encode(f.gas[T],x.uint32(50).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))x.uint32(58).string(f.memo);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Tx;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.id=f.string();break;case 2:B.chain=f.string();break;case 3:B.fromAddress=f.string();break;case 4:B.toAddress=f.string();break;case 5:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 6:if(!B.gas?.length)B.gas=[];B.gas.push(y.common.Coin.decode(f,f.uint32()));break;case 7:B.memo=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.id!=null&&f.hasOwnProperty("id")){if(!G.isString(f.id))return"id: string expected"}if(f.chain!=null&&f.hasOwnProperty("chain")){if(!G.isString(f.chain))return"chain: string expected"}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!G.isString(f.fromAddress))return"fromAddress: string expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!G.isString(f.toAddress))return"toAddress: string expected"}if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let x=0;x<f.coins.length;++x){let T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.gas!=null&&f.hasOwnProperty("gas")){if(!Array.isArray(f.gas))return"gas: array expected";for(let x=0;x<f.gas.length;++x){let T=y.common.Coin.verify(f.gas[x]);if(T)return"gas."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!G.isString(f.memo))return"memo: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Tx)return f;let x=new y.common.Tx;if(f.id!=null)x.id=String(f.id);if(f.chain!=null)x.chain=String(f.chain);if(f.fromAddress!=null)x.fromAddress=String(f.fromAddress);if(f.toAddress!=null)x.toAddress=String(f.toAddress);if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Tx.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Tx.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.gas){if(!Array.isArray(f.gas))throw TypeError(".common.Tx.gas: array expected");x.gas=[];for(let T=0;T<f.gas.length;++T){if(typeof f.gas[T]!=="object")throw TypeError(".common.Tx.gas: object expected");x.gas[T]=y.common.Coin.fromObject(f.gas[T])}}if(f.memo!=null)x.memo=String(f.memo);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[],T.gas=[];if(x.defaults)T.id="",T.chain="",T.fromAddress="",T.toAddress="",T.memo="";if(f.id!=null&&f.hasOwnProperty("id"))T.id=f.id;if(f.chain!=null&&f.hasOwnProperty("chain"))T.chain=f.chain;if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))T.toAddress=f.toAddress;if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.gas?.length){T.gas=[];for(let B=0;B<f.gas.length;++B)T.gas[B]=y.common.Coin.toObject(f.gas[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.Fee=(()=>{function H(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.coins=G.emptyArray,H.prototype.poolDeduct="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(10).fork()).ldelim();if(f.poolDeduct!=null&&Object.hasOwnProperty.call(f,"poolDeduct"))x.uint32(18).string(f.poolDeduct);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.Fee;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.poolDeduct=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let x=0;x<f.coins.length;++x){let T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct")){if(!G.isString(f.poolDeduct))return"poolDeduct: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.Fee)return f;let x=new y.common.Fee;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".common.Fee.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".common.Fee.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.poolDeduct!=null)x.poolDeduct=String(f.poolDeduct);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults)T.poolDeduct="";if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.poolDeduct!=null&&f.hasOwnProperty("poolDeduct"))T.poolDeduct=f.poolDeduct;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.ProtoUint=(()=>{function H(_){if(_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.value="",H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.value!=null&&Object.hasOwnProperty.call(f,"value"))x.uint32(10).string(f.value);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.common.ProtoUint;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.value=f.string();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.value!=null&&f.hasOwnProperty("value")){if(!G.isString(f.value))return"value: string expected"}return null},H.fromObject=function(f){if(f instanceof y.common.ProtoUint)return f;let x=new y.common.ProtoUint;if(f.value!=null)x.value=String(f.value);return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.defaults)T.value="";if(f.value!=null&&f.hasOwnProperty("value"))T.value=f.value;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v})();y.types=(()=>{let v={};return v.MsgDeposit=(()=>{function H(_){if(this.coins=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.coins=G.emptyArray,H.prototype.memo="",H.prototype.signer=G.newBuffer([]),H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.coins?.length)for(let T=0;T<f.coins.length;++T)y.common.Coin.encode(f.coins[T],x.uint32(10).fork()).ldelim();if(f.memo!=null&&Object.hasOwnProperty.call(f,"memo"))x.uint32(18).string(f.memo);if(f.signer!=null&&Object.hasOwnProperty.call(f,"signer"))x.uint32(26).bytes(f.signer);return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgDeposit;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:if(!B.coins?.length)B.coins=[];B.coins.push(y.common.Coin.decode(f,f.uint32()));break;case 2:B.memo=f.string();break;case 3:B.signer=f.bytes();break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.coins!=null&&f.hasOwnProperty("coins")){if(!Array.isArray(f.coins))return"coins: array expected";for(let x=0;x<f.coins.length;++x){let T=y.common.Coin.verify(f.coins[x]);if(T)return"coins."+T}}if(f.memo!=null&&f.hasOwnProperty("memo")){if(!G.isString(f.memo))return"memo: string expected"}if(f.signer!=null&&f.hasOwnProperty("signer")){if(!(f.signer&&typeof f.signer.length==="number"||G.isString(f.signer)))return"signer: buffer expected"}return null},H.fromObject=function(f){if(f instanceof y.types.MsgDeposit)return f;let x=new y.types.MsgDeposit;if(f.coins){if(!Array.isArray(f.coins))throw TypeError(".types.MsgDeposit.coins: array expected");x.coins=[];for(let T=0;T<f.coins.length;++T){if(typeof f.coins[T]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");x.coins[T]=y.common.Coin.fromObject(f.coins[T])}}if(f.memo!=null)x.memo=String(f.memo);if(f.signer!=null){if(typeof f.signer==="string")G.base64.decode(f.signer,x.signer=G.newBuffer(G.base64.length(f.signer)),0);else if(f.signer.length)x.signer=f.signer}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.coins=[];if(x.defaults){if(T.memo="",x.bytes===String)T.signer="";else if(T.signer=[],x.bytes!==Array)T.signer=G.newBuffer(T.signer)}if(f.coins?.length){T.coins=[];for(let B=0;B<f.coins.length;++B)T.coins[B]=y.common.Coin.toObject(f.coins[B],x)}if(f.memo!=null&&f.hasOwnProperty("memo"))T.memo=f.memo;if(f.signer!=null&&f.hasOwnProperty("signer"))T.signer=x.bytes===String?G.base64.encode(f.signer,0,f.signer.length):x.bytes===Array?Array.prototype.slice.call(f.signer):f.signer;return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v.MsgSend=(()=>{function H(_){if(this.amount=[],_){for(let f=Object.keys(_),x=0;x<f.length;++x)if(_[f[x]]!=null)this[f[x]]=_[f[x]]}}return H.prototype.fromAddress=G.newBuffer([]),H.prototype.toAddress=G.newBuffer([]),H.prototype.amount=G.emptyArray,H.create=function(f){return new H(f)},H.encode=function(f,x){if(!x)x=R.create();if(f.fromAddress!=null&&Object.hasOwnProperty.call(f,"fromAddress"))x.uint32(10).bytes(f.fromAddress);if(f.toAddress!=null&&Object.hasOwnProperty.call(f,"toAddress"))x.uint32(18).bytes(f.toAddress);if(f.amount?.length)for(let T=0;T<f.amount.length;++T)y.cosmos.base.v1beta1.Coin.encode(f.amount[T],x.uint32(26).fork()).ldelim();return x},H.encodeDelimited=function(f,x){return this.encode(f,x).ldelim()},H.decode=function(f,x){if(!(f instanceof Z))f=Z.create(f);let T=x===void 0?f.len:f.pos+x,B=new y.types.MsgSend;while(f.pos<T){let L=f.uint32();switch(L>>>3){case 1:B.fromAddress=f.bytes();break;case 2:B.toAddress=f.bytes();break;case 3:if(!B.amount?.length)B.amount=[];B.amount.push(y.cosmos.base.v1beta1.Coin.decode(f,f.uint32()));break;default:f.skipType(L&7);break}}return B},H.decodeDelimited=function(f){if(!(f instanceof Z))f=new Z(f);return this.decode(f,f.uint32())},H.verify=function(f){if(typeof f!=="object"||f===null)return"object expected";if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress")){if(!(f.fromAddress&&typeof f.fromAddress.length==="number"||G.isString(f.fromAddress)))return"fromAddress: buffer expected"}if(f.toAddress!=null&&f.hasOwnProperty("toAddress")){if(!(f.toAddress&&typeof f.toAddress.length==="number"||G.isString(f.toAddress)))return"toAddress: buffer expected"}if(f.amount!=null&&f.hasOwnProperty("amount")){if(!Array.isArray(f.amount))return"amount: array expected";for(let x=0;x<f.amount.length;++x){let T=y.cosmos.base.v1beta1.Coin.verify(f.amount[x]);if(T)return"amount."+T}}return null},H.fromObject=function(f){if(f instanceof y.types.MsgSend)return f;let x=new y.types.MsgSend;if(f.fromAddress!=null){if(typeof f.fromAddress==="string")G.base64.decode(f.fromAddress,x.fromAddress=G.newBuffer(G.base64.length(f.fromAddress)),0);else if(f.fromAddress.length)x.fromAddress=f.fromAddress}if(f.toAddress!=null){if(typeof f.toAddress==="string")G.base64.decode(f.toAddress,x.toAddress=G.newBuffer(G.base64.length(f.toAddress)),0);else if(f.toAddress.length)x.toAddress=f.toAddress}if(f.amount){if(!Array.isArray(f.amount))throw TypeError(".types.MsgSend.amount: array expected");x.amount=[];for(let T=0;T<f.amount.length;++T){if(typeof f.amount[T]!=="object")throw TypeError(".types.MsgSend.amount: object expected");x.amount[T]=y.cosmos.base.v1beta1.Coin.fromObject(f.amount[T])}}return x},H.toObject=function(f,x){if(!x)x={};let T={};if(x.arrays||x.defaults)T.amount=[];if(x.defaults){if(x.bytes===String)T.fromAddress="";else if(T.fromAddress=[],x.bytes!==Array)T.fromAddress=G.newBuffer(T.fromAddress);if(x.bytes===String)T.toAddress="";else if(T.toAddress=[],x.bytes!==Array)T.toAddress=G.newBuffer(T.toAddress)}if(f.fromAddress!=null&&f.hasOwnProperty("fromAddress"))T.fromAddress=x.bytes===String?G.base64.encode(f.fromAddress,0,f.fromAddress.length):x.bytes===Array?Array.prototype.slice.call(f.fromAddress):f.fromAddress;if(f.toAddress!=null&&f.hasOwnProperty("toAddress"))T.toAddress=x.bytes===String?G.base64.encode(f.toAddress,0,f.toAddress.length):x.bytes===Array?Array.prototype.slice.call(f.toAddress):f.toAddress;if(f.amount?.length){T.amount=[];for(let B=0;B<f.amount.length;++B)T.amount[B]=y.cosmos.base.v1beta1.Coin.toObject(f.amount[B],x)}return T},H.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},H})(),v})();y.cosmos=(()=>{let v={};return v.base=(()=>{let H={};return H.v1beta1=(()=>{let _={};return _.Coin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.Coin;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!G.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!G.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.Coin)return T;let B=new y.cosmos.base.v1beta1.Coin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_.DecCoin=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.denom="",f.prototype.amount="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.denom!=null&&Object.hasOwnProperty.call(T,"denom"))B.uint32(10).string(T.denom);if(T.amount!=null&&Object.hasOwnProperty.call(T,"amount"))B.uint32(18).string(T.amount);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecCoin;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.denom=T.string();break;case 2:I.amount=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.denom!=null&&T.hasOwnProperty("denom")){if(!G.isString(T.denom))return"denom: string expected"}if(T.amount!=null&&T.hasOwnProperty("amount")){if(!G.isString(T.amount))return"amount: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecCoin)return T;let B=new y.cosmos.base.v1beta1.DecCoin;if(T.denom!=null)B.denom=String(T.denom);if(T.amount!=null)B.amount=String(T.amount);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.denom="",L.amount="";if(T.denom!=null&&T.hasOwnProperty("denom"))L.denom=T.denom;if(T.amount!=null&&T.hasOwnProperty("amount"))L.amount=T.amount;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_.IntProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.int="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.int!=null&&Object.hasOwnProperty.call(T,"int"))B.uint32(10).string(T.int);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.IntProto;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.int=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.int!=null&&T.hasOwnProperty("int")){if(!G.isString(T.int))return"int: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.IntProto)return T;let B=new y.cosmos.base.v1beta1.IntProto;if(T.int!=null)B.int=String(T.int);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.int="";if(T.int!=null&&T.hasOwnProperty("int"))L.int=T.int;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_.DecProto=(()=>{function f(x){if(x){for(let T=Object.keys(x),B=0;B<T.length;++B)if(x[T[B]]!=null)this[T[B]]=x[T[B]]}}return f.prototype.dec="",f.create=function(T){return new f(T)},f.encode=function(T,B){if(!B)B=R.create();if(T.dec!=null&&Object.hasOwnProperty.call(T,"dec"))B.uint32(10).string(T.dec);return B},f.encodeDelimited=function(T,B){return this.encode(T,B).ldelim()},f.decode=function(T,B){if(!(T instanceof Z))T=Z.create(T);let L=B===void 0?T.len:T.pos+B,I=new y.cosmos.base.v1beta1.DecProto;while(T.pos<L){let q=T.uint32();switch(q>>>3){case 1:I.dec=T.string();break;default:T.skipType(q&7);break}}return I},f.decodeDelimited=function(T){if(!(T instanceof Z))T=new Z(T);return this.decode(T,T.uint32())},f.verify=function(T){if(typeof T!=="object"||T===null)return"object expected";if(T.dec!=null&&T.hasOwnProperty("dec")){if(!G.isString(T.dec))return"dec: string expected"}return null},f.fromObject=function(T){if(T instanceof y.cosmos.base.v1beta1.DecProto)return T;let B=new y.cosmos.base.v1beta1.DecProto;if(T.dec!=null)B.dec=String(T.dec);return B},f.toObject=function(T,B){if(!B)B={};let L={};if(B.defaults)L.dec="";if(T.dec!=null&&T.hasOwnProperty("dec"))L.dec=T.dec;return L},f.prototype.toJSON=function(){return this.constructor.toObject(this,U.default.util.toJSONOptions)},f})(),_})(),H})(),v})()});async function b(){let{$root:v}=await Promise.resolve().then(() => (cf(),pf)),H=await import("@cosmjs/proto-signing"),_=await import("@cosmjs/stargate"),f=H.Registry??H.default?.Registry,x=_.defaultRegistryTypes??_.default?.defaultRegistryTypes;return new f([...x,["/types.MsgSend",v.types.MsgSend],["/types.MsgDeposit",v.types.MsgDeposit]])}async function h(v,H=v===qf.Chain.THORChain?"thor":"maya"){let _=await import("@cosmjs/stargate"),f=_.AminoTypes??_.default?.AminoTypes,x=v===qf.Chain.THORChain?"thorchain":"mayachain";return new f({"/types.MsgDeposit":{aminoType:`${x}/MsgDeposit`,fromAmino:({signer:T,...B})=>({...B,signer:g(T)}),toAmino:({signer:T,...B})=>({...B,signer:r(T,H)})},"/types.MsgSend":{aminoType:`${x}/MsgSend`,fromAmino:({from_address:T,to_address:B,...L})=>({...L,fromAddress:g(T),toAddress:g(B)}),toAmino:({fromAddress:T,toAddress:B,...L})=>({...L,from_address:r(T,H),to_address:r(B,H)})}})}var qf;var Jf=A(()=>{Zf();qf=require("@swapkit/helpers")});async function Ff(v){let{assetValue:H,recipient:_,memo:f,sender:x,asSignable:T,asAminoMessage:B}=v,L=v.sweep?await Lf({assetValue:H,sender:x}):H;if(_)return bf({asAminoMessage:B,asSignable:T,assetValue:L,memo:f,recipient:_,sender:x});return df({asAminoMessage:B,asSignable:T,assetValue:L,memo:f,sender:x})}async function Lf({assetValue:v,sender:H}){let _=v.chain,f=await S.getRPCUrl(_),T=await(await M(f)).getAllBalances(H),B=v.isGasAsset?(await a(_)).getBaseValue("bigint"):0n;return i({assetValue:v,balances:T,denom:w(v.symbol,!0),feeAmount:B})}async function bf({sender:v,recipient:H,assetValue:_,memo:f="",asSignable:x=!0,asAminoMessage:T=!1,sequence:B,accountNumber:L}){let I=_.chain,q=await S.getRPCUrl(I),E=await jf({rpcUrl:q,sender:v}),{chainId:K}=S.getChainConfig(I),k=Of({assetValue:_,recipient:H,sender:v}),X=x?await l(T?k:$(k),I):k;return{accountNumber:L||Number(E.accountNumber),chainId:K,fee:D(I),memo:f,msgs:[X],sequence:B||E.sequence}}async function df({sender:v,assetValue:H,memo:_="",asSignable:f=!0,asAminoMessage:x=!1,sequence:T,accountNumber:B}){let L=H.chain,I=await S.getRPCUrl(L),q=await jf({rpcUrl:I,sender:v}),{chainId:E}=S.getChainConfig(L),K=Nf({assetValue:H,memo:_,sender:v}),k=f?await l(x?K:$(K),L):K;return{accountNumber:B||Number(q.accountNumber),chainId:E,fee:D(L),memo:_,msgs:[k],sequence:T||q.sequence}}function $(v){if(v.type==="thorchain/MsgSend"||v.type==="mayachain/MsgSend")return v;return{...v,value:{...v.value,coins:v.value.coins.map((H)=>{let _=S.AssetValue.from({asset:H.asset}),f=(_.isSynthetic?_.symbol.split("/")?.[1]:_.symbol)?.toUpperCase(),x=(_.isSynthetic?_.symbol.split("/")?.[0]:_.chain)?.toUpperCase();return{...H,asset:{chain:x,symbol:f,synth:_.isSynthetic,ticker:_.ticker}}})}}}async function ff({chain:v,memo:H,msgs:_}){let f=await b(),x=await h(v),T={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:H,messages:_.map((B)=>x.fromAmino(B))}};return f.encode(T)}var S,Y0,q0,Of=({sender:v,recipient:H,assetValue:_})=>{return{type:`${_.chain===S.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{amount:[{amount:_.getBaseValue("string"),denom:w(_.symbol,!0)}],from_address:v,to_address:H}}},Nf=({sender:v,assetValue:H,memo:_=""})=>{return{type:`${H.chain===S.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:H.getBaseValue("string"),asset:s(H)}],memo:_,signer:v}}},vf=({sender:v,recipient:H,assetValue:_,memo:f})=>{return!H?Nf({assetValue:_,memo:f,sender:v}):Of({assetValue:_,recipient:H,sender:v})},l=async(v,H)=>{return(await h(H)).fromAmino(v)},jf=async({rpcUrl:v,sender:H})=>{let f=await(await M(v)).getAccount(H);if(!f)throw new S.SwapKitError("toolbox_cosmos_account_not_found",{sender:H});return f};var of=A(()=>{e();Jf();S=require("@swapkit/helpers"),Y0=D(S.Chain.THORChain).gas,q0=D(S.Chain.Maya).gas});var mf=()=>{};var tf=A(()=>{mf()});var Ef=A(()=>{Zf();of();Jf();tf()});async function Sf(v,H){try{let f=(await kf.SwapKitApi.getGasRate()).find((x)=>x.chainId===v)?.value;return f?Number.parseFloat(f):H}catch{return H}}async function Uf({phrase:v,prefix:H,..._}){let f=await import("@cosmjs/proto-signing"),x=await import("@cosmjs/crypto"),T=f.DirectSecp256k1HdWallet??f.default?.DirectSecp256k1HdWallet,B=x.stringToPath??x.default?.stringToPath,L="derivationPath"in _?_.derivationPath:`${z.DerivationPath[_.chain]}/${_.index}`;return await T.fromMnemonic(v,{hdPaths:[B(L)],prefix:H})}async function J0({privateKey:v,prefix:H}){let _=await import("@cosmjs/proto-signing");return(_.DirectSecp256k1Wallet??_.default?.DirectSecp256k1Wallet).fromKey(v,H)}function af(v){return async function({signature:_,message:f,address:x}){let T=await v(x);if(!T?.pubkey)throw new z.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let B=await import("@cosmjs/crypto"),L=B.Secp256k1Signature??B.default?.Secp256k1Signature,I=B.Secp256k1??B.default?.Secp256k1,q=L.fromFixedLength(n.base64.decode(_));return I.verifySignature(q,n.base64.decode(f),T.pubkey.value)}}function xf({chain:v,...H}){let _=z.CosmosChainPrefixes[v],f="index"in H?H.index||0:0,x=z.derivationPathToString("derivationPath"in H&&H.derivationPath?H.derivationPath:z.updateDerivationPath(z.NetworkDerivationPath[v],{index:f})),T;async function B(){if(T)return T;return T=await Tf.match(H).with({phrase:Tf.P.string},({phrase:X})=>Uf({derivationPath:x,phrase:X,prefix:_})).with({signer:Tf.P.any},({signer:X})=>X).otherwise(()=>{return}),T}async function L(X){let Y=await z.getRPCUrl(v);return(await M(Y)).getAccount(X)}async function I(){let X=await B(),[Y]=await X?.getAccounts()||[];return Y?.address}async function q(){let X=await B(),[Y]=await X?.getAccounts()||[];if(!Y?.pubkey)throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");return n.base64.encode(Y?.pubkey)}async function E(X){let Y=await B(),Q=await I(),J=await z.getRPCUrl(v);if(!(Y&&Q))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");return await(await j(J,Y)).sign(Q,X.msgs,X.fee,X.memo,{accountNumber:BigInt(X.accountNumber),chainId:X.chainId,sequence:X.sequence})}async function K(X){let Y=await B(),Q=await I(),J=await z.getRPCUrl(v);if(!(Y&&Q))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");let N=await(await j(J,Y)).signAndBroadcast(Q,X.msgs,X.fee,X.memo);if(N.code!==0)throw new z.SwapKitError("core_swap_transaction_error",{code:N.code,message:N.rawLog});return N.transactionHash}async function k({recipient:X,assetValue:Y,memo:Q="",feeRate:J,feeOptionKey:O=z.FeeOption.Fast,sweep:N}){let C=await B(),V=await I();if(!(C&&V))throw new z.SwapKitError("toolbox_cosmos_signer_not_defined");let u=await z.getRPCUrl(v),d=z.AssetValue.from({chain:v}),Wf=s(d),Bf=F0(J||(await rf(v,gf[v]))[O],Wf,v),o=await j(u,C),m=w(Y.symbol),zf=[{amount:(N?i({assetValue:Y,balances:await Kf(v)(V),denom:m,feeAmount:_f(Bf.amount,m)}):Y).getBaseValue("string"),denom:m}],{transactionHash:Gf}=await o.sendTokens(V,X,zf,Bf,Q);return Gf}return{createPrivateKeyFromPhrase:K0(x),createTransaction:Xf,fetchFeeRateFromSwapKit:Sf,getAccount:L,getAddress:I,getBalance:async(X,Y)=>{let Q=await Kf(v)(X),J=await Promise.all(Q.filter(({denom:O})=>O&&!O.includes("IBC/")&&!([z.Chain.THORChain,z.Chain.Maya].includes(v)&&O.split("-").length>2)).map(({denom:O,amount:N})=>{let C=[z.Chain.THORChain,z.Chain.Maya].includes(v)&&(O.includes("/")||O.includes("˜"))?`${v}.${O}`:O;return Yf(C,N)}));if(J.length===0)return[z.AssetValue.from({chain:v})];return J},getBalanceAsDenoms:Kf(v),getFees:()=>rf(v,gf[v]),getPubKey:q,getSignerFromPhrase:({phrase:X,derivationPath:Y})=>Uf({derivationPath:z.derivationPathToString(Y),index:f,phrase:X,prefix:_}),getSignerFromPrivateKey:async(X)=>{let Y=await import("@cosmjs/proto-signing");return(Y.DirectSecp256k1Wallet??Y.default?.DirectSecp256k1Wallet).fromKey(X,_)},signAndBroadcastTransaction:K,signTransaction:E,transfer:k,validateAddress:sf(v),verifySignature:af(L)}}async function O0(v,H){try{let f=(await kf.SwapKitApi.getGasRate()).find((x)=>x.chainId===v)?.value;return f?Number.parseFloat(f):H}catch{return H}}function N0({assetValue:{chain:v}}){return z.AssetValue.from({chain:v,value:E0(v)})}async function rf(v,H){let{chainId:_,baseDecimal:f}=z.getChainConfig(v),x=await Sf(_,H);return{average:z.SwapKitNumber.fromBigInt(BigInt(x),f),fast:z.SwapKitNumber.fromBigInt(BigInt(z.applyFeeMultiplier(x,z.FeeOption.Fast,!0)),f),fastest:z.SwapKitNumber.fromBigInt(BigInt(z.applyFeeMultiplier(x,z.FeeOption.Fastest,!0)),f)}}function F0(v,H,_){return{amount:[{amount:typeof v==="number"?v.toString():v.getBaseValue("string"),denom:H}],gas:D(_).gas}}function E0(v){return{[z.Chain.Cosmos]:0.007,[z.Chain.Kujira]:0.02,[z.Chain.Noble]:0.01,[z.Chain.THORChain]:0.02,[z.Chain.Maya]:0.02,[z.Chain.Harbor]:0.02}[v]||0}function sf(v){let H=z.CosmosChainPrefixes[v];return function(f){if(!f.startsWith(H))return!1;try{let{prefix:x,words:T}=n.bech32.decode(f);return n.bech32.encode(x,T)===f.toLocaleLowerCase()}catch{return!1}}}function Kf(v){return async function(_){let f=await z.getRPCUrl(v);return(await(await M(f)).getAllBalances(_)).map((L)=>({...L,denom:L.denom.includes("/")?L.denom.toUpperCase():L.denom}))}}function K0(v){return async function(_){let f=await import("@cosmjs/crypto"),x=f.stringToPath??f.default?.stringToPath,T=f.Slip10Curve??f.default?.Slip10Curve,B=f.Slip10??f.default?.Slip10,L=f.EnglishMnemonic??f.default?.EnglishMnemonic,I=f.Bip39??f.default?.Bip39,q=new L(_),E=await I.mnemonicToSeed(q),{privkey:K}=B.derivePath(T.Secp256k1,E,x(v));return K}}var n,z,kf,Tf,gf;var yf=A(()=>{e();n=require("@scure/base"),z=require("@swapkit/helpers"),kf=require("@swapkit/helpers/api"),Tf=require("ts-pattern");gf={[z.Chain.Cosmos]:1000,[z.Chain.Kujira]:1000,[z.Chain.Noble]:1000,[z.Chain.THORChain]:5000000,[z.Chain.Maya]:5000000,[z.Chain.Harbor]:5000000}});function U0({prefix:v,derivationPath:H}){return async function(f,x=0){let T=await import("@cosmjs/amino"),B=T.Secp256k1HdWallet??T.default?.Secp256k1HdWallet,L=await import("@cosmjs/crypto"),I=L.stringToPath??L.default?.stringToPath;return B.fromMnemonic(f,{hdPaths:[I(`${H}/${x}`)],prefix:v})}}function k0(v){return p.base64.encode(v)}function S0(v,H){return async function({wallet:f,tx:x}){let{msgs:T,accountNumber:B,sequence:L,chainId:I,fee:q,memo:E}=typeof x==="string"?JSON.parse(x):x,K=(await f.getAccounts())?.[0]?.address||"",k=await h(v,H),X=await b(),Y=await Qf(f,{aminoTypes:k,registry:X}),Q=[];for(let N of T){let C=await l(N,v);Q.push(C)}let{signatures:[J]}=await Y.sign(K,Q,q,E,{accountNumber:BigInt(B),chainId:I,sequence:L});return{bodyBytes:await ff({chain:v,memo:E,msgs:T.map($)}),signature:k0(J)}}}function C0({prefix:v,chain:H}){return async function(f,x,T,B,L){let I=await F.getRPCUrl(H),{encodeSecp256k1Pubkey:q,pubkeyToAddress:E}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:K}=(await import("@cosmjs/stargate")).default,{sequence:k,fee:X}=JSON.parse(f),Y=await ef(T,B),Q=x.map((N)=>[E(q(p.base64.decode(N.pubKey)),v),p.base64.decode(N.signature)]),J=await M(I),{transactionHash:O}=await J.broadcastTx(K(Y,k,X,L,new Map(Q)));return O}}async function ef(v,H,_=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:x}=(await import("@cosmjs/amino")).default;return f(v.map((T)=>x(p.base64.decode(T))),H,_)}function A0(v){return p.base64.decode(v)}async function R0({privateKey:v,message:H}){let{Secp256k1:_}=(await import("@cosmjs/crypto")).default,f=await _.createSignature(p.base64.decode(H),v);return p.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}function Cf({chain:v,...H}){let{isStagenet:_}=F.SKConfig.get("envs"),f=`${_?"s":""}${F.CosmosChainPrefixes[v]}`,x="index"in H?H.index||0:0,T="derivationPath"in H&&H.derivationPath?H.derivationPath:F.updateDerivationPath(F.NetworkDerivationPath[v],{index:x}),B=xf({chain:v,...H}),L=D(v),I;function q(){return I??=Hf.match(H).with({phrase:Hf.P.string},({phrase:Q})=>B.getSignerFromPhrase({derivationPath:T,phrase:Q})).with({signer:Hf.P.any},({signer:Q})=>Promise.resolve(Q)).otherwise(()=>Promise.resolve(void 0)),I}async function E(){let Q=await F.getRPCUrl(v),J=await q();if(!J)throw new F.SwapKitError("toolbox_cosmos_no_signer");let O=await b(),N=await h(v,f),C=await j(Q,J,{aminoTypes:N,registry:O});return{signer:J,signingClient:C}}async function K({fee:Q,memo:J,msgs:O}){let{signer:N,signingClient:C}=await E(),V=(await N.getAccounts())?.[0]?.address;if(!V)throw new F.SwapKitError("toolbox_cosmos_signer_not_defined");let u=await C.signAndBroadcast(V,O,Q,J);if(u.code!==0)throw new F.SwapKitError("core_swap_transaction_error",{code:u.code,message:u.rawLog});return u.transactionHash}async function k(){let Q=await a(v);return{[F.FeeOption.Average]:Q,[F.FeeOption.Fast]:Q,[F.FeeOption.Fastest]:Q}}async function X({assetValue:Q,memo:J="",recipient:O,sweep:N}){let{TxRaw:C}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),{signer:V,signingClient:u}=await E(),d=(await V.getAccounts())?.[0]?.address;if(!d)throw new F.SwapKitError("toolbox_cosmos_no_signer");let Wf="signAmino"in V,Bf=N?await Lf({assetValue:Q,sender:d}):Q,o=vf({assetValue:Bf,memo:J,recipient:O,sender:d});if(Wf){let zf=await l(o,v),{signatures:Gf,authInfoBytes:T0}=await u.sign(d,[zf],L,J),x0=C.encode({authInfoBytes:T0,bodyBytes:await ff({chain:v,memo:J,msgs:[o].map($)}),signatures:Gf}).finish();return(await u.broadcastTx(x0)).transactionHash}let m=$(o),Rf=await l(m,v);return K({fee:L,memo:J,msgs:[Rf]})}async function Y(Q){let{signer:J,signingClient:O}=await E(),N=(await J.getAccounts())?.[0]?.address;if(!N)throw new F.SwapKitError("toolbox_cosmos_signer_not_defined");return O.sign(N,Q.msgs,Q.fee,Q.memo,{accountNumber:BigInt(Q.accountNumber),chainId:Q.chainId,sequence:Q.sequence})}return{...B,broadcastMultisigTx:C0({chain:v,prefix:f}),buildAminoMsg:vf,buildEncodedTxBody:ff,convertToSignable:l,createDefaultAminoTypes:()=>h(v,f),createDefaultRegistry:b,createMultisig:ef,createTransaction:Ff,deposit:X,getFees:k,importSignature:A0,parseAminoMessageForDirectSigning:$,pubkeyToAddress:async(Q)=>{let{pubkeyToAddress:J}=(await import("@cosmjs/amino")).default;return J(Q,f)},secp256k1HdWalletFromMnemonic:U0({derivationPath:F.derivationPathToString(T),prefix:f}),signAndBroadcastTransaction:K,signMultisigTx:S0(v,f),signTransaction:Y,signWithPrivateKey:R0,transfer:X}}var p,F,Hf;var Af=A(()=>{Ef();e();yf();p=require("@scure/base"),F=require("@swapkit/helpers"),Hf=require("ts-pattern")});var c,D0=(v,H)=>{switch(v){case c.Chain.Cosmos:case c.Chain.Kujira:case c.Chain.Noble:return xf({chain:v,...H});case c.Chain.Maya:case c.Chain.THORChain:return Cf({chain:v,...H});default:throw new c.SwapKitError("toolbox_cosmos_not_supported",{chain:v})}};var f0=A(()=>{yf();Af();c=require("@swapkit/helpers");yf();Af()});var M0={};uf(M0,{verifySignature:()=>af,transferMsgAmino:()=>Of,toBase64:()=>Z0,resolveThorchainSweepAssetValue:()=>Lf,parseAminoMessageForDirectSigning:()=>$,getThorchainNativeFee:()=>a,getSweepAssetValue:()=>i,getSignerFromPrivateKey:()=>J0,getSignerFromPhrase:()=>Uf,getMsgSendDenom:()=>w,getFeeRateFromSwapKit:()=>O0,getFeeAmountForDenom:()=>_f,getDenomWithChain:()=>s,getDefaultChainFee:()=>D,getCosmosToolbox:()=>D0,getCosmosAddressValidator:()=>sf,getAssetFromDenom:()=>Yf,fromBase64:()=>I0,fetchFeeRateFromSwapKit:()=>Sf,estimateTransactionFee:()=>N0,depositMsgAmino:()=>Nf,createTransaction:()=>Ff,createThorchainToolbox:()=>Cf,createStargateClient:()=>M,createSigningStargateClient:()=>j,createOfflineStargateClient:()=>Qf,createDefaultRegistry:()=>b,createDefaultAminoTypes:()=>h,createCosmosToolbox:()=>xf,cosmosCreateTransaction:()=>Xf,convertToSignable:()=>l,buildTransferTx:()=>bf,buildEncodedTxBody:()=>ff,buildDepositTx:()=>df,buildAminoMsg:()=>vf,bech32ToBase64:()=>g,base64ToBech32:()=>r,YUM_KUJIRA_FACTORY_DENOM:()=>hf,USK_KUJIRA_FACTORY_DENOM:()=>If,THORCHAIN_GAS_VALUE:()=>Y0,MAYA_GAS_VALUE:()=>q0,DEFAULT_NOBLE_FEE_MAINNET:()=>nf,DEFAULT_KUJI_FEE_MAINNET:()=>$f,DEFAULT_COSMOS_FEE_MAINNET:()=>lf});module.exports=W0(M0);var V0=A(()=>{Ef();f0();e()});V0();