@lombard.finance/sdk 5.0.3 → 5.0.4

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 (61) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.d.ts +13 -0
  3. package/dist/api-functions/storeNetworkFeeSignature/storeNetworkFeeSignature.d.ts.map +1 -1
  4. package/dist/api.cjs +1 -1
  5. package/dist/api.js +12 -11
  6. package/dist/api.js.map +1 -1
  7. package/dist/btc.cjs +1 -1
  8. package/dist/btc.js +2 -2
  9. package/dist/chains/btc/actions/stake/config/evm.d.ts.map +1 -1
  10. package/dist/chunks/{BtcActions-BE75KQhS.js → BtcActions-D7HekjRg.js} +235 -216
  11. package/dist/chunks/{BtcActions-BE75KQhS.js.map → BtcActions-D7HekjRg.js.map} +1 -1
  12. package/dist/chunks/BtcActions-lp4P72ln.cjs +2 -0
  13. package/dist/chunks/{BtcActions-hLkixDlL.cjs.map → BtcActions-lp4P72ln.cjs.map} +1 -1
  14. package/dist/chunks/EvmActions-CynfSVFq.cjs +7 -0
  15. package/dist/chunks/{EvmActions-DIkhiG2i.cjs.map → EvmActions-CynfSVFq.cjs.map} +1 -1
  16. package/dist/chunks/{EvmActions-DCy8q_l4.js → EvmActions-nbR8cSa4.js} +37 -36
  17. package/dist/chunks/{EvmActions-DCy8q_l4.js.map → EvmActions-nbR8cSa4.js.map} +1 -1
  18. package/dist/chunks/depositStatus-DUXMloTa.cjs +2 -0
  19. package/dist/chunks/{depositStatus-CeoqUgM5.cjs.map → depositStatus-DUXMloTa.cjs.map} +1 -1
  20. package/dist/chunks/{depositStatus-CacTFWfJ.js → depositStatus-hmXphYhu.js} +2 -2
  21. package/dist/chunks/{depositStatus-CacTFWfJ.js.map → depositStatus-hmXphYhu.js.map} +1 -1
  22. package/dist/chunks/{events-Cu4qfdgE.js → events-BP_Ahnsm.js} +42 -41
  23. package/dist/chunks/{events-Cu4qfdgE.js.map → events-BP_Ahnsm.js.map} +1 -1
  24. package/dist/chunks/events-DY2qn8Q0.cjs +2 -0
  25. package/dist/chunks/{events-C3tg6XPm.cjs.map → events-DY2qn8Q0.cjs.map} +1 -1
  26. package/dist/chunks/getNetworkFeeSignature-DqKLslZc.cjs +2 -0
  27. package/dist/chunks/getNetworkFeeSignature-DqKLslZc.cjs.map +1 -0
  28. package/dist/chunks/getNetworkFeeSignature-FuDJWrMC.js +38 -0
  29. package/dist/chunks/getNetworkFeeSignature-FuDJWrMC.js.map +1 -0
  30. package/dist/chunks/statusConstants-D4DN05kK.cjs +2 -0
  31. package/dist/chunks/{statusConstants-BPtrxbYC.cjs.map → statusConstants-D4DN05kK.cjs.map} +1 -1
  32. package/dist/chunks/{statusConstants-8pqtLXvX.js → statusConstants-DLrd03gT.js} +3 -3
  33. package/dist/chunks/{statusConstants-8pqtLXvX.js.map → statusConstants-DLrd03gT.js.map} +1 -1
  34. package/dist/chunks/storeNetworkFeeSignature-BaG3AU8U.cjs +2 -0
  35. package/dist/chunks/storeNetworkFeeSignature-BaG3AU8U.cjs.map +1 -0
  36. package/dist/chunks/storeNetworkFeeSignature-sCt4_nHr.js +52 -0
  37. package/dist/chunks/storeNetworkFeeSignature-sCt4_nHr.js.map +1 -0
  38. package/dist/common/chains.d.ts +3 -0
  39. package/dist/common/chains.d.ts.map +1 -1
  40. package/dist/core.cjs +1 -1
  41. package/dist/core.js +4 -4
  42. package/dist/evm.cjs +1 -1
  43. package/dist/evm.js +2 -2
  44. package/dist/index.cjs +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +264 -263
  48. package/package.json +1 -1
  49. package/dist/chunks/BtcActions-hLkixDlL.cjs +0 -2
  50. package/dist/chunks/EvmActions-DIkhiG2i.cjs +0 -7
  51. package/dist/chunks/constants-D1FnS2Z8.js +0 -6
  52. package/dist/chunks/constants-D1FnS2Z8.js.map +0 -1
  53. package/dist/chunks/constants-ueShGH9R.cjs +0 -2
  54. package/dist/chunks/constants-ueShGH9R.cjs.map +0 -1
  55. package/dist/chunks/depositStatus-CeoqUgM5.cjs +0 -2
  56. package/dist/chunks/events-C3tg6XPm.cjs +0 -2
  57. package/dist/chunks/statusConstants-BPtrxbYC.cjs +0 -2
  58. package/dist/chunks/storeNetworkFeeSignature-Z0NcQyIn.cjs +0 -2
  59. package/dist/chunks/storeNetworkFeeSignature-Z0NcQyIn.cjs.map +0 -1
  60. package/dist/chunks/storeNetworkFeeSignature-ZdHcFmfP.js +0 -65
  61. package/dist/chunks/storeNetworkFeeSignature-ZdHcFmfP.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";var R=Object.defineProperty;var H=(n,e,s)=>e in n?R(n,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[e]=s;var a=(n,e,s)=>H(n,typeof e!="symbol"?e+"":e,s);require("axios");const t=require("./statusConstants-D4DN05kK.cjs"),F=require("./getUserStakeAndBakeSignature-Cwwx89pR.cjs"),S=require("./ReferralsClient-B65Nsk21.cjs"),G=require("./getNetworkFeeSignature-DqKLslZc.cjs"),q=require("./storeNetworkFeeSignature-BaG3AU8U.cjs"),O=require("./BtcActions-lp4P72ln.cjs"),b=require("./EvmActions-CynfSVFq.cjs"),m=require("./token-addresses-C7H9E4qz.cjs"),v=require("./satoshi-CZEsHl5X.cjs"),o=require("./index-BKzxeh1Y.cjs"),c=require("./defi-registry-CyMKVT3z.cjs"),Y=require("./get-exchange-ratio-DGztGO7i.cjs"),I=require("./get-vault-withdrawals-GHCAh3wp.cjs"),N=["debug","info","warn","error","none"];function D(n={}){const{level:e="debug",prefix:s="[Lombard SDK]",timestamp:r=!1}=n,i=N.indexOf(e),u=d=>N.indexOf(d)>=i&&e!=="none",h=d=>{if(r){const p=new Date().toISOString();return`${s} ${p} ${d}`}return`${s} ${d}`},g=d=>!d||Object.keys(d).length===0?[]:[d];return{debug(d,p){u("debug")&&console.debug(h(d),...g(p))},info(d,p){u("info")&&console.info(h(d),...g(p))},warn(d,p){u("warn")&&console.warn(h(d),...g(p))},error(d,p){u("error")&&console.error(h(d),...g(p))}}}function U(){return{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}}function K(){return{"X-SDK-Version":t.SDK_VERSION,"X-SDK-Runtime":t.SDK_RUNTIME}}class T{constructor(e=o.p){a(this,"apiVersion","v1");this.env=e}async deposits(e){return S.getDepositsByAddress({address:e,env:this.env})}async unstakes(e,s){return S.getUnstakesByAddress({address:e,env:this.env,options:s})}async points(e,s){return S.getPointsByAddress({address:e,env:this.env,season:s})}async exchangeRatio(){return Y.getExchangeRatio({env:this.env})}async depositAddress(e,s,r){return S.getDepositBtcAddress({address:e,chainId:s,env:this.env,partnerId:r==null?void 0:r.partnerId,token:r==null?void 0:r.token})}async vaultWithdrawals(e,s){const r=e;return s!=null&&s.chainId?I.getEarnWithdrawals({account:r,chainId:s.chainId,rpcUrl:s.rpcUrl,env:this.env}):I.getEarnWithdrawalsAllChains({account:r,rpcUrl:s==null?void 0:s.rpcUrl,env:this.env})}getApiVersion(){return this.apiVersion}}function V(n){if(!n.env)throw t.LombardError.missingParameter("env");const e={env:n.env,providers:n.providers||{}};return n.partner&&(j(n.partner),e.partner=n.partner),e}function j(n){if(typeof n!="object"||n===null)throw t.LombardError.invalidConfiguration("Partner configuration must be an object");const e=n;if(!e.partnerId||typeof e.partnerId!="string")throw t.LombardError.missingParameter("partner.partnerId");if(e.partnerId.trim().length===0)throw t.LombardError.invalidConfiguration("Partner ID cannot be empty")}class ${constructor(e){this.env=e}async generateDepositAddress(e){return F.generateDepositBtcAddress({address:e.address,chainId:e.chainId,signature:e.signature,token:e.token,eip712Data:e.eip712Data,signatureData:e.signatureData,pubKey:e.pubKey,env:this.env,partnerId:e.partnerId,referrerCode:e.referrerCode,captchaToken:e.captchaToken})}async getDepositAddress(e){try{return await S.getDepositBtcAddress({address:e.address,chainId:e.chainId,token:e.token,env:this.env,partnerId:e.partnerId})||void 0}catch{return}}async getDeposits(e){return(await S.getDepositsByAddress({address:e,env:this.env})).map(r=>{var i;return{depositAddress:r.depositAddress??"",blockHeight:r.blockHeight,isClaimed:r.isClaimed,txid:r.txHash,amount:(i=r.amount)==null?void 0:i.toString()}})}async storeFeeSignature(e){await q.storeNetworkFeeSignature({address:e.address,signature:e.signature,typedData:e.typedData,env:this.env,tokenAddress:e.tokenAddress})}async getFeeSignature(e){return G.getNetworkFeeSignature({address:e.address,chainId:e.chainId,env:this.env,tokenAddress:e.tokenAddress})}async storeStakeAndBakeSignature(e){await S.storeStakeAndBakeSignature({signature:e.signature,typedData:e.typedData,env:this.env})}}function W(){return{id:"api",register(n){return new $(n.env)}}}function z(n){const e=new Map,s=[O.btcModule(),b.evmModule(),W()];for(const r of s)e.set(r.id,r);if(n)for(const r of n)e.set(r.id,r);return Array.from(e.values())}function X(n,e){for(const s of n)for(const r of s.requiresProviders??[])if(!Z(e,r))throw t.LombardError.providerMissing(r,r)}function Z(n,e){var s;return!!((s=n.providers)!=null&&s[e])}function _(n){const e=V(n),s=z(n.modules);X(s,e);let r=n.logger;return!r&&n.debug&&(r=D({level:"debug"})),{...e,modules:s,logger:r}}function E(n){switch(n){case"prod":return"mainnet-beta";case"testnet":case"stage":case"dev":case"ibc":default:return"devnet"}}function P(n){switch(n){case"prod":return m.SOLANA_MAINNET_CHAIN;case"testnet":case"stage":case"dev":case"ibc":default:return m.SOLANA_DEVNET_CHAIN}}const L={routes:[{sourceChains:[t.Chain.SOLANA_MAINNET],destChain:t.Chain.BITCOIN_MAINNET,assetIn:c.AssetId.BTCb,assetOut:c.AssetId.BTC,envs:[o.r.prod]},{sourceChains:[t.Chain.SOLANA_DEVNET],destChain:t.Chain.BITCOIN_SIGNET,assetIn:c.AssetId.BTCb,assetOut:c.AssetId.BTC,envs:[o.r.testnet,o.r.stage,o.r.dev]}],recipientSchema:t.bitcoinAddressSchema};function J(n,e,s,r,i){return L.routes.some(u=>u.sourceChains.includes(n)&&u.destChain===e&&u.assetIn===s&&u.assetOut===r&&u.envs.includes(i))}class Q extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);a(this,"_amount");a(this,"_recipient");a(this,"_txHash");if(this.ctx=s,this.params=r,!J(r.sourceChain,r.destChain,r.assetIn,r.assetOut,s.env))throw t.LombardError.routeNotFound({assetOut:r.assetOut,sourceChain:r.sourceChain,destChain:r.destChain,env:s.env})}get amount(){return this._amount}get recipient(){return this._recipient}get txHash(){return this._txHash}async prepare(s){return this.assertStatus(t.NonEvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const r=t.validatePrepareParams(this.prepareSchema,s,{destChain:this.params.destChain});this._amount=r.amount,this._recipient=r.recipient,this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.NonEvmOperationStatus.READY)}async execute(){return this.assertStatus(t.NonEvmOperationStatus.READY,"execute"),this.act(async()=>{const s=this._amount,r=this._recipient;if(!s||!r)throw t.LombardError.missingParameter("amount or recipient");this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,releasing:t.StepStatus.IDLE}});const i=v.toSatoshi(s).toString(),u=E(this.ctx.env),h=m.getSolanaTokenAddress(P(this.ctx.env),this.ctx.env,m.Token.BTCb);if(!h)throw t.LombardError.missingParameter("Solana BTC.b mint for this environment");const{signature:g}=await this.ctx.solana.redeemForBtc({amount:i,btcAddress:r,network:u,env:this.ctx.env,tokenMint:h});return this._txHash=g,this.emitProgress({status:t.NonEvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.COMPLETE}}),this.emitCompleted(),{txHash:g}},t.NonEvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.amountSchema,recipient:L.recipientSchema})}}const x={routes:[{chain:t.Chain.SOLANA_MAINNET,assetIn:c.AssetId.BTCb,assetOut:c.AssetId.LBTC,envs:[o.r.prod]},{chain:t.Chain.SOLANA_DEVNET,assetIn:c.AssetId.BTCb,assetOut:c.AssetId.LBTC,envs:[o.r.stage,o.r.dev,o.r.testnet]}],recipientSchema:t.solanaAddressSchema};function tt(n,e,s,r){return x.routes.some(i=>i.chain===n&&i.assetIn===e&&i.assetOut===s&&i.envs.includes(r))}class et extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);a(this,"_amount");a(this,"_recipient");a(this,"_txHash");a(this,"env");if(this.ctx=s,this.params=r,this.env=s.env,!tt(r.chain,r.assetIn,r.assetOut,this.env))throw t.LombardError.routeNotFound({assetOut:r.assetOut,chain:r.chain,env:this.env})}get amount(){return this._amount}get recipient(){return this._recipient}get txHash(){return this._txHash}async prepare(s){return this.assertStatus(t.NonEvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const r=t.validatePrepareParams(this.prepareSchema,s,{destChain:this.params.chain});this._amount=r.amount,this._recipient=r.recipient,this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,minting:t.StepStatus.IDLE}})},t.NonEvmOperationStatus.READY)}async execute(){return this.assertStatus(t.NonEvmOperationStatus.READY,"execute"),this.act(async()=>{const s=this._amount,r=this._recipient;if(!s||!r)throw t.LombardError.missingParameter("amount or recipient");this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,minting:t.StepStatus.IDLE}});const i=v.toSatoshi(s).toString(),u=E(this.env),{signature:h}=await this.ctx.solana.deposit({amount:i,recipient:r,network:u,env:this.env});return this._txHash=h,this.emitProgress({status:t.NonEvmOperationStatus.CONFIRMING,steps:{burning:t.StepStatus.COMPLETE,minting:t.StepStatus.PENDING},txHash:h}),this.emitCompleted(),{txHash:h}},t.NonEvmOperationStatus.CONFIRMING)}get prepareSchema(){return t.objectType({amount:t.amountSchema,recipient:x.recipientSchema})}}const y={routes:[{sourceChains:[t.Chain.SOLANA_MAINNET],destChain:t.Chain.BITCOIN_MAINNET,assetIn:c.AssetId.LBTC,assetOut:c.AssetId.BTC,envs:[o.r.prod]},{sourceChains:[t.Chain.SOLANA_DEVNET],destChain:t.Chain.BITCOIN_SIGNET,assetIn:c.AssetId.LBTC,assetOut:c.AssetId.BTC,envs:[o.r.testnet,o.r.stage,o.r.dev,o.r.ibc]}],recipientSchema:t.bitcoinAddressSchema},w={routes:[{sourceChains:[t.Chain.SOLANA_MAINNET],destChain:t.Chain.SOLANA_MAINNET,assetIn:c.AssetId.LBTC,assetOut:c.AssetId.BTCb,envs:[o.r.prod]},{sourceChains:[t.Chain.SOLANA_DEVNET],destChain:t.Chain.SOLANA_DEVNET,assetIn:c.AssetId.LBTC,assetOut:c.AssetId.BTCb,envs:[o.r.stage,o.r.dev,o.r.testnet]}],recipientSchema:t.solanaAddressSchema},st=[...y.routes,...w.routes];function nt(n,e,s,r,i){return st.some(u=>u.sourceChains.includes(n)&&u.destChain===e&&u.assetIn===s&&u.assetOut===r&&u.envs.includes(i))}class rt extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);a(this,"_amount");a(this,"_recipient");a(this,"_txHash");a(this,"isBtcbOutput");if(this.ctx=s,this.params=r,this.isBtcbOutput=r.assetOut===c.AssetId.BTCb,!nt(r.sourceChain,r.destChain,r.assetIn,r.assetOut,s.env))throw t.LombardError.routeNotFound({assetOut:r.assetOut,sourceChain:r.sourceChain,destChain:r.destChain,env:s.env})}get amount(){return this._amount}get recipient(){return this._recipient}get txHash(){return this._txHash}async prepare(s){return this.assertStatus(t.NonEvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const r=t.validatePrepareParams(this.prepareSchema,s,{destChain:this.params.destChain});this._amount=r.amount,this._recipient=r.recipient,this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.NonEvmOperationStatus.READY)}async execute(){return this.assertStatus(t.NonEvmOperationStatus.READY,"execute"),this.act(async()=>{const s=this._amount,r=this._recipient;if(!s||!r)throw t.LombardError.missingParameter("amount or recipient");this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,releasing:t.StepStatus.IDLE}});const i=v.toSatoshi(s).toString(),u=E(this.ctx.env);let h;if(this.isBtcbOutput)({signature:h}=await this.ctx.solana.redeem({amount:i,recipient:r,network:u,env:this.ctx.env}));else{const g=m.getSolanaTokenAddress(P(this.ctx.env),this.ctx.env,m.Token.LBTC);if(!g)throw t.LombardError.missingParameter("Solana LBTC mint for this environment");({signature:h}=await this.ctx.solana.redeemForBtc({amount:i,btcAddress:r,network:u,env:this.ctx.env,tokenMint:g}))}return this._txHash=h,this.emitProgress({status:t.NonEvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.COMPLETE}}),this.emitCompleted(),{txHash:h}},t.NonEvmOperationStatus.COMPLETED)}get prepareSchema(){const s=this.isBtcbOutput?w:y;return t.objectType({amount:t.amountSchema,recipient:s.recipientSchema})}}function it(n){const s=new t.CapabilityRegistry(n.modules,n).require("solana");return{env:n.env,partner:new t.PartnerConfiguration(n.partner),getProvider:async r=>{const i=t.getProviderGetter(n.providers,r);if(i)return i()},solana:s}}class C{constructor(e){a(this,"_ctx",null);this.config=e}get ctx(){return this._ctx||(this._ctx=it(this.config)),this._ctx}stake(e){return new et(this.ctx,e)}unstake(e){return new rt(this.ctx,e)}redeem(e){return new Q(this.ctx,e)}}function at(n){return new C(n)}const k={routes:[{sourceChains:[t.Chain.STARKNET_MAINNET],destChain:t.Chain.BITCOIN_MAINNET,envs:[o.r.prod]},{sourceChains:[t.Chain.STARKNET_SEPOLIA],destChain:t.Chain.BITCOIN_SIGNET,envs:[o.r.testnet,o.r.stage,o.r.dev,o.r.ibc]}],recipientSchema:t.bitcoinAddressSchema};function ot(n,e){return k.routes.some(s=>s.sourceChains.includes(n)&&s.envs.includes(e))}class ut extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);a(this,"_amount");a(this,"_recipient");a(this,"_txHash");a(this,"env");if(this.ctx=s,this.params=r,this.env=s.env,!ot(r.sourceChain,this.env))throw t.LombardError.routeNotFound({assetOut:r.assetOut,sourceChain:r.sourceChain,destChain:r.destChain,env:this.env})}get amount(){return this._amount}get recipient(){return this._recipient}get txHash(){return this._txHash}async prepare(s){return this.assertStatus(t.NonEvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const r=t.validatePrepareParams(this.prepareSchema,s,{destChain:this.params.destChain});this._amount=r.amount,this._recipient=r.recipient,this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.NonEvmOperationStatus.READY)}async execute(){return this.assertStatus(t.NonEvmOperationStatus.READY,"execute"),this.act(async()=>{const s=this._amount,r=this._recipient;if(!s||!r)throw t.LombardError.missingParameter("amount or recipient");this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,releasing:t.StepStatus.IDLE}});const{txHash:i}=await this.ctx.starknet.unstake({amount:s,btcAddress:r,env:this.env});return this._txHash=i,this.emitProgress({status:t.NonEvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.PENDING}}),this.emitCompleted(),{txHash:i}},t.NonEvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.amountSchema,recipient:k.recipientSchema})}}function ct(n){const s=new t.CapabilityRegistry(n.modules,n).require("starknet");return{env:n.env,partner:new t.PartnerConfiguration(n.partner),getProvider:async r=>{const i=t.getProviderGetter(n.providers,r);if(i)return i()},starknet:s}}class A{constructor(e){a(this,"_ctx",null);this.config=e}get ctx(){return this._ctx||(this._ctx=ct(this.config)),this._ctx}unstake(e){return new ut(this.ctx,e)}}function ht(n){return new A(n)}const B={routes:[{sourceChains:[t.Chain.SUI_MAINNET],destChain:t.Chain.BITCOIN_MAINNET,envs:[o.r.prod]},{sourceChains:[t.Chain.SUI_TESTNET],destChain:t.Chain.BITCOIN_SIGNET,envs:[o.r.testnet,o.r.stage,o.r.dev,o.r.ibc]}],recipientSchema:t.bitcoinAddressSchema};function dt(n,e){return B.routes.some(s=>s.sourceChains.includes(n)&&s.envs.includes(e))}function gt(n){switch(n){case t.Chain.SUI_MAINNET:return"sui:mainnet";case t.Chain.SUI_TESTNET:return"sui:testnet";default:return"sui:testnet"}}class pt extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);a(this,"_amount");a(this,"_recipient");a(this,"_txHash");a(this,"env");if(this.ctx=s,this.params=r,this.env=s.env,!dt(r.sourceChain,this.env))throw t.LombardError.routeNotFound({assetOut:r.assetOut,sourceChain:r.sourceChain,destChain:r.destChain,env:this.env})}get amount(){return this._amount}get recipient(){return this._recipient}get txHash(){return this._txHash}async prepare(s){return this.assertStatus(t.NonEvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const r=t.validatePrepareParams(this.prepareSchema,s,{destChain:this.params.destChain});this._amount=r.amount,this._recipient=r.recipient,this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.NonEvmOperationStatus.READY)}async execute(){return this.assertStatus(t.NonEvmOperationStatus.READY,"execute"),this.act(async()=>{const s=this._amount,r=this._recipient;if(!s||!r)throw t.LombardError.missingParameter("amount or recipient");this.emitProgress({status:t.NonEvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,releasing:t.StepStatus.IDLE}});const i=gt(this.params.sourceChain),{txHash:u}=await this.ctx.sui.unstake({amount:s,btcAddress:r,chainId:i,env:this.env});return this._txHash=u,this.emitProgress({status:t.NonEvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.PENDING}}),this.emitCompleted(),{txHash:u}},t.NonEvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.amountSchema,recipient:B.recipientSchema})}}function St(n){const s=new t.CapabilityRegistry(n.modules,n).require("sui");return{env:n.env,partner:new t.PartnerConfiguration(n.partner),getProvider:async r=>{const i=t.getProviderGetter(n.providers,r);if(i)return i()},sui:s}}class f{constructor(e){a(this,"_ctx",null);this.config=e}get ctx(){return this._ctx||(this._ctx=St(this.config)),this._ctx}unstake(e){return new pt(this.ctx,e)}}function mt(n){return new f(n)}class lt{constructor(e=o.p,s){a(this,"catalog");this.env=e,this.catalog=s??t.ASSET_CATALOG}getAddress(e,s){return t.getAssetAddress(e,this.env,s,this.catalog)}getDecimals(e){return t.getAssetDecimals(e,this.catalog)}getMetadata(e){return t.getAssetMetadata(e,this.catalog)}usesAssetRouter(e,s){return t.usesAssetRouter(e,this.env,s,this.catalog)}getAssetRouter(e,s){return t.getAssetRouter(e,this.env,s,this.catalog)}getBridgeAdapter(e,s){return t.getBridgeAdapter(e,this.env,s,this.catalog)}getPublicMarketMaker(e,s){return t.getPublicMarketMaker(e,this.env,s,this.catalog)}getByAddress(e,s){return t.getAssetByAddress(e,this.env,s,this.catalog)}isDeployed(e,s){return t.isAssetDeployed(e,this.env,s,this.catalog)}getChains(e){return t.getAssetChains(e,this.env,this.catalog)}getEnvironments(e,s){return t.getAssetEnvironments(e,s,this.catalog)}getSupportedAssets(){return t.getSupportedAssets(this.catalog)}getCatalog(){return this.catalog}}class M{constructor(e){a(this,"config");a(this,"env");a(this,"partnerConfig");a(this,"providerCache",new Map);a(this,"chain");a(this,"assets");a(this,"api");a(this,"referrals");a(this,"capabilities");this.config=e,this.env=e.env,this.partnerConfig=new t.PartnerConfiguration(e.partner),this.capabilities=new t.CapabilityRegistry(this.config.modules,this.config),this.chain={btc:new O.BtcActions(this.config),evm:new b.EvmActions(this.config),solana:new C(this.config),sui:new f(this.config),starknet:new A(this.config)},this.referrals=new S.ReferralsClient(this),this.assets=new lt(this.env),this.api=new T(this.env)}async getProvider(e){const s=e;if(this.providerCache.has(s))return this.providerCache.get(s);const r=t.getProviderGetter(this.config.providers,e);if(!r)throw t.LombardError.providerMissing(e,e);const i=await r();if(!i)throw new t.LombardError(t.ProviderErrorCode.PROVIDER_INITIALIZATION_FAILED,`Failed to initialize ${e} provider`);return this.providerCache.set(s,i),i}configure(e){this.partnerConfig.update(e)}registerAsset(e){throw new Error("Not implemented yet")}getPartnerConfig(){return this.partnerConfig}getPartnerId(){return this.partnerConfig.getPartnerId()}}const l=new Map;function vt(n){return l.has(n)||l.set(n,Promise.resolve(t.ASSET_CATALOG)),l.get(n)}async function Et(n){const e="modules"in n&&Array.isArray(n.modules)?n:_(n),s=await vt(e.env),r={...e,catalog:s};return new M(r)}function Ct(n){return typeof n=="object"&&n!==null&&"request"in n&&typeof n.request=="function"}function At(n){return typeof n=="object"&&n!==null&&"getAddresses"in n&&typeof n.getAddresses=="function"}function ft(n){return typeof n=="object"&&n!==null&&"publicKey"in n&&"signAndSendTransaction"in n}function It(n){return typeof n=="object"&&n!==null&&"getAddress"in n&&"signAndExecuteTransactionBlock"in n}function Nt(n){return typeof n=="object"&&n!==null&&"address"in n&&"execute"in n}const Ot={Progress:"progress",StatusChange:"status-change",Completed:"completed",Failed:"failed",Error:"error"},bt={Progress:"progress",StatusChange:"status-change",Completed:"completed",Failed:"failed",Error:"error"},Dt={Progress:"progress",StatusChange:"status-change",Completed:"completed",Failed:"failed",Error:"error"},Tt={Progress:"progress",StatusChange:"status-change",Completed:"completed",Failed:"failed",Error:"error"},_t={Progress:"progress",StatusChange:"status-change",Completed:"completed",Failed:"failed",Error:"error"},Pt={Progress:"progress",StatusChange:"status-change",Completed:"completed",Failed:"failed",Error:"error"};exports.ApiNamespace=T;exports.BridgeEvent=Pt;exports.DeployEvent=_t;exports.DepositEvent=bt;exports.LombardSDK=M;exports.RedeemEvent=Dt;exports.SolanaActions=C;exports.StakeEvent=Ot;exports.StarknetActions=A;exports.SuiActions=f;exports.UnstakeEvent=Tt;exports.createConfig=_;exports.createConsoleLogger=D;exports.createLombardSDK=Et;exports.createSilentLogger=U;exports.getSdkHeaders=K;exports.isBtcProvider=At;exports.isEvmProvider=Ct;exports.isSolanaProvider=ft;exports.isStarknetProvider=Nt;exports.isSuiProvider=It;exports.solanaActions=at;exports.starknetActions=ht;exports.suiActions=mt;
2
+ //# sourceMappingURL=events-DY2qn8Q0.cjs.map