@lombard.finance/sdk 4.7.0 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/btc.cjs +1 -1
- package/dist/btc.js +2 -2
- package/dist/chunks/{BtcActions-jvzGFmpz.js → BtcActions-BczTnzRn.js} +2 -2
- package/dist/chunks/{BtcActions-jvzGFmpz.js.map → BtcActions-BczTnzRn.js.map} +1 -1
- package/dist/chunks/{BtcActions-CWFHlbUP.cjs → BtcActions-PyJhuiZN.cjs} +2 -2
- package/dist/chunks/{BtcActions-CWFHlbUP.cjs.map → BtcActions-PyJhuiZN.cjs.map} +1 -1
- package/dist/chunks/{EvmActions-BTKQAXTE.cjs → EvmActions-D3RAK9_Z.cjs} +2 -2
- package/dist/chunks/{EvmActions-BTKQAXTE.cjs.map → EvmActions-D3RAK9_Z.cjs.map} +1 -1
- package/dist/chunks/{EvmActions-hb-FhsLJ.js → EvmActions-DSKThOAy.js} +2 -2
- package/dist/chunks/{EvmActions-hb-FhsLJ.js.map → EvmActions-DSKThOAy.js.map} +1 -1
- package/dist/chunks/{events-DAiXVdGv.js → events-BlzP_SCT.js} +4 -4
- package/dist/chunks/{events-DAiXVdGv.js.map → events-BlzP_SCT.js.map} +1 -1
- package/dist/chunks/{events-BTPDrUUu.cjs → events-DNehj45M.cjs} +2 -2
- package/dist/chunks/{events-BTPDrUUu.cjs.map → events-DNehj45M.cjs.map} +1 -1
- package/dist/chunks/{statusConstants-BTQAvx1I.cjs → statusConstants-BJIXJNIC.cjs} +2 -2
- package/dist/chunks/{statusConstants-BTQAvx1I.cjs.map → statusConstants-BJIXJNIC.cjs.map} +1 -1
- package/dist/chunks/{statusConstants-D9eSk91U.js → statusConstants-BQna5LGH.js} +2 -2
- package/dist/chunks/{statusConstants-D9eSk91U.js.map → statusConstants-BQna5LGH.js.map} +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +4 -4
- package/dist/evm.cjs +1 -1
- package/dist/evm.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +4 -4
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var H=Object.defineProperty;var F=(n,e,s)=>e in n?H(n,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[e]=s;var i=(n,e,s)=>F(n,typeof e!="symbol"?e+"":e,s);require("axios");const t=require("./statusConstants-BTQAvx1I.cjs"),G=require("./getUserStakeAndBakeSignature-BmY5j0OM.cjs"),S=require("./ReferralsClient-D8dHEk_X.cjs"),I=require("./storeNetworkFeeSignature-CLm8I2pf.cjs"),b=require("./BtcActions-CWFHlbUP.cjs"),D=require("./EvmActions-BTKQAXTE.cjs"),m=require("./token-addresses-DvY-Mw7b.cjs"),v=require("./satoshi-CZEsHl5X.cjs"),o=require("./index-BKzxeh1Y.cjs"),c=require("./defi-registry-B8V6dRVB.cjs"),q=require("./get-exchange-ratio-t1PW8I6_.cjs"),Y=require("./config-ow9X5H0c.cjs"),N=require("./get-vault-withdrawals-DLwFMQEB.cjs"),O=["debug","info","warn","error","none"];function T(n={}){const{level:e="debug",prefix:s="[Lombard SDK]",timestamp:r=!1}=n,a=O.indexOf(e),u=d=>O.indexOf(d)>=a&&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 V(){return{"X-SDK-Version":t.SDK_VERSION,"X-SDK-Runtime":t.SDK_RUNTIME}}class _{constructor(e=o.p){i(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 q.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,a=(s==null?void 0:s.vault)??Y.Vault.Veda;return s!=null&&s.chainId?N.getVaultWithdrawals({account:r,chainId:s.chainId,vaultKey:a,rpcUrl:s.rpcUrl,env:this.env}):N.getVaultWithdrawalsAllChains({account:r,vaultKey:a,rpcUrl:s==null?void 0:s.rpcUrl})}getApiVersion(){return this.apiVersion}}function K(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 G.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 a;return{depositAddress:r.depositAddress??"",blockHeight:r.blockHeight,isClaimed:r.isClaimed,txid:r.txHash,amount:(a=r.amount)==null?void 0:a.toString()}})}async storeFeeSignature(e){await I.storeNetworkFeeSignature({address:e.address,signature:e.signature,typedData:e.typedData,env:this.env,tokenAddress:e.tokenAddress})}async getFeeSignature(e){return I.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=[b.btcModule(),D.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 P(n){const e=K(n),s=z(n.modules);X(s,e);let r=n.logger;return!r&&n.debug&&(r=T({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 L(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 x={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,a){return x.routes.some(u=>u.sourceChains.includes(n)&&u.destChain===e&&u.assetIn===s&&u.assetOut===r&&u.envs.includes(a))}class Q extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(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 a=v.toSatoshi(s).toString(),u=E(this.ctx.env),h=m.getSolanaTokenAddress(L(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:a,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:x.recipientSchema})}}const y={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 y.routes.some(a=>a.chain===n&&a.assetIn===e&&a.assetOut===s&&a.envs.includes(r))}class et extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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 a=v.toSatoshi(s).toString(),u=E(this.env),{signature:h}=await this.ctx.solana.deposit({amount:a,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:y.recipientSchema})}}const w={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},k={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=[...w.routes,...k.routes];function nt(n,e,s,r,a){return st.some(u=>u.sourceChains.includes(n)&&u.destChain===e&&u.assetIn===s&&u.assetOut===r&&u.envs.includes(a))}class rt extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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 a=v.toSatoshi(s).toString(),u=E(this.ctx.env);let h;if(this.isBtcbOutput)({signature:h}=await this.ctx.solana.redeem({amount:a,recipient:r,network:u,env:this.ctx.env}));else{const g=m.getSolanaTokenAddress(L(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:a,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?k:w;return t.objectType({amount:t.amountSchema,recipient:s.recipientSchema})}}function at(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 a=t.getProviderGetter(n.providers,r);if(a)return a()},solana:s}}class C{constructor(e){i(this,"_ctx",null);this.config=e}get ctx(){return this._ctx||(this._ctx=at(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 it(n){return new C(n)}const B={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 B.routes.some(s=>s.sourceChains.includes(n)&&s.envs.includes(e))}class ut extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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:a}=await this.ctx.starknet.unstake({amount:s,btcAddress:r,env:this.env});return this._txHash=a,this.emitProgress({status:t.NonEvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.PENDING}}),this.emitCompleted(),{txHash:a}},t.NonEvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.amountSchema,recipient:B.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 a=t.getProviderGetter(n.providers,r);if(a)return a()},starknet:s}}class A{constructor(e){i(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 M={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 M.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);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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 a=gt(this.params.sourceChain),{txHash:u}=await this.ctx.sui.unstake({amount:s,btcAddress:r,chainId:a,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:M.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 a=t.getProviderGetter(n.providers,r);if(a)return a()},sui:s}}class f{constructor(e){i(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){i(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 R{constructor(e){i(this,"config");i(this,"env");i(this,"partnerConfig");i(this,"providerCache",new Map);i(this,"chain");i(this,"assets");i(this,"api");i(this,"referrals");i(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 b.BtcActions(this.config),evm:new D.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 _(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 a=await r();if(!a)throw new t.LombardError(t.ProviderErrorCode.PROVIDER_INITIALIZATION_FAILED,`Failed to initialize ${e} provider`);return this.providerCache.set(s,a),a}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:P(n),s=await vt(e.env),r={...e,catalog:s};return new R(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=_;exports.BridgeEvent=Pt;exports.DeployEvent=_t;exports.DepositEvent=bt;exports.LombardSDK=R;exports.RedeemEvent=Dt;exports.SolanaActions=C;exports.StakeEvent=Ot;exports.StarknetActions=A;exports.SuiActions=f;exports.UnstakeEvent=Tt;exports.createConfig=P;exports.createConsoleLogger=T;exports.createLombardSDK=Et;exports.createSilentLogger=U;exports.getSdkHeaders=V;exports.isBtcProvider=At;exports.isEvmProvider=Ct;exports.isSolanaProvider=ft;exports.isStarknetProvider=Nt;exports.isSuiProvider=It;exports.solanaActions=it;exports.starknetActions=ht;exports.suiActions=mt;
|
|
2
|
-
//# sourceMappingURL=events-
|
|
1
|
+
"use strict";var H=Object.defineProperty;var F=(n,e,s)=>e in n?H(n,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[e]=s;var i=(n,e,s)=>F(n,typeof e!="symbol"?e+"":e,s);require("axios");const t=require("./statusConstants-BJIXJNIC.cjs"),G=require("./getUserStakeAndBakeSignature-BmY5j0OM.cjs"),S=require("./ReferralsClient-D8dHEk_X.cjs"),I=require("./storeNetworkFeeSignature-CLm8I2pf.cjs"),b=require("./BtcActions-PyJhuiZN.cjs"),D=require("./EvmActions-D3RAK9_Z.cjs"),m=require("./token-addresses-DvY-Mw7b.cjs"),v=require("./satoshi-CZEsHl5X.cjs"),o=require("./index-BKzxeh1Y.cjs"),c=require("./defi-registry-B8V6dRVB.cjs"),q=require("./get-exchange-ratio-t1PW8I6_.cjs"),Y=require("./config-ow9X5H0c.cjs"),N=require("./get-vault-withdrawals-DLwFMQEB.cjs"),O=["debug","info","warn","error","none"];function T(n={}){const{level:e="debug",prefix:s="[Lombard SDK]",timestamp:r=!1}=n,a=O.indexOf(e),u=d=>O.indexOf(d)>=a&&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 V(){return{"X-SDK-Version":t.SDK_VERSION,"X-SDK-Runtime":t.SDK_RUNTIME}}class _{constructor(e=o.p){i(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 q.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,a=(s==null?void 0:s.vault)??Y.Vault.Veda;return s!=null&&s.chainId?N.getVaultWithdrawals({account:r,chainId:s.chainId,vaultKey:a,rpcUrl:s.rpcUrl,env:this.env}):N.getVaultWithdrawalsAllChains({account:r,vaultKey:a,rpcUrl:s==null?void 0:s.rpcUrl})}getApiVersion(){return this.apiVersion}}function K(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 G.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 a;return{depositAddress:r.depositAddress??"",blockHeight:r.blockHeight,isClaimed:r.isClaimed,txid:r.txHash,amount:(a=r.amount)==null?void 0:a.toString()}})}async storeFeeSignature(e){await I.storeNetworkFeeSignature({address:e.address,signature:e.signature,typedData:e.typedData,env:this.env,tokenAddress:e.tokenAddress})}async getFeeSignature(e){return I.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=[b.btcModule(),D.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 P(n){const e=K(n),s=z(n.modules);X(s,e);let r=n.logger;return!r&&n.debug&&(r=T({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 L(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 x={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,a){return x.routes.some(u=>u.sourceChains.includes(n)&&u.destChain===e&&u.assetIn===s&&u.assetOut===r&&u.envs.includes(a))}class Q extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(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 a=v.toSatoshi(s).toString(),u=E(this.ctx.env),h=m.getSolanaTokenAddress(L(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:a,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:x.recipientSchema})}}const y={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 y.routes.some(a=>a.chain===n&&a.assetIn===e&&a.assetOut===s&&a.envs.includes(r))}class et extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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 a=v.toSatoshi(s).toString(),u=E(this.env),{signature:h}=await this.ctx.solana.deposit({amount:a,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:y.recipientSchema})}}const w={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},k={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=[...w.routes,...k.routes];function nt(n,e,s,r,a){return st.some(u=>u.sourceChains.includes(n)&&u.destChain===e&&u.assetIn===s&&u.assetOut===r&&u.envs.includes(a))}class rt extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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 a=v.toSatoshi(s).toString(),u=E(this.ctx.env);let h;if(this.isBtcbOutput)({signature:h}=await this.ctx.solana.redeem({amount:a,recipient:r,network:u,env:this.ctx.env}));else{const g=m.getSolanaTokenAddress(L(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:a,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?k:w;return t.objectType({amount:t.amountSchema,recipient:s.recipientSchema})}}function at(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 a=t.getProviderGetter(n.providers,r);if(a)return a()},solana:s}}class C{constructor(e){i(this,"_ctx",null);this.config=e}get ctx(){return this._ctx||(this._ctx=at(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 it(n){return new C(n)}const B={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 B.routes.some(s=>s.sourceChains.includes(n)&&s.envs.includes(e))}class ut extends t.BaseAction{constructor(s,r){super(t.NonEvmOperationStatus.IDLE);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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:a}=await this.ctx.starknet.unstake({amount:s,btcAddress:r,env:this.env});return this._txHash=a,this.emitProgress({status:t.NonEvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.PENDING}}),this.emitCompleted(),{txHash:a}},t.NonEvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.amountSchema,recipient:B.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 a=t.getProviderGetter(n.providers,r);if(a)return a()},starknet:s}}class A{constructor(e){i(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 M={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 M.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);i(this,"_amount");i(this,"_recipient");i(this,"_txHash");i(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 a=gt(this.params.sourceChain),{txHash:u}=await this.ctx.sui.unstake({amount:s,btcAddress:r,chainId:a,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:M.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 a=t.getProviderGetter(n.providers,r);if(a)return a()},sui:s}}class f{constructor(e){i(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){i(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 R{constructor(e){i(this,"config");i(this,"env");i(this,"partnerConfig");i(this,"providerCache",new Map);i(this,"chain");i(this,"assets");i(this,"api");i(this,"referrals");i(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 b.BtcActions(this.config),evm:new D.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 _(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 a=await r();if(!a)throw new t.LombardError(t.ProviderErrorCode.PROVIDER_INITIALIZATION_FAILED,`Failed to initialize ${e} provider`);return this.providerCache.set(s,a),a}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:P(n),s=await vt(e.env),r={...e,catalog:s};return new R(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=_;exports.BridgeEvent=Pt;exports.DeployEvent=_t;exports.DepositEvent=bt;exports.LombardSDK=R;exports.RedeemEvent=Dt;exports.SolanaActions=C;exports.StakeEvent=Ot;exports.StarknetActions=A;exports.SuiActions=f;exports.UnstakeEvent=Tt;exports.createConfig=P;exports.createConsoleLogger=T;exports.createLombardSDK=Et;exports.createSilentLogger=U;exports.getSdkHeaders=V;exports.isBtcProvider=At;exports.isEvmProvider=Ct;exports.isSolanaProvider=ft;exports.isStarknetProvider=Nt;exports.isSuiProvider=It;exports.solanaActions=it;exports.starknetActions=ht;exports.suiActions=mt;
|
|
2
|
+
//# sourceMappingURL=events-DNehj45M.cjs.map
|