@lombard.finance/sdk 5.0.2 → 5.0.3
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 +8 -0
- package/dist/api.cjs +1 -1
- package/dist/api.js +4 -4
- package/dist/bridge.cjs +1 -1
- package/dist/bridge.js +1 -1
- package/dist/btc.cjs +1 -1
- package/dist/btc.js +2 -2
- package/dist/chunks/{BtcActions-CJY0V8JC.js → BtcActions-BE75KQhS.js} +4 -4
- package/dist/chunks/{BtcActions-CJY0V8JC.js.map → BtcActions-BE75KQhS.js.map} +1 -1
- package/dist/chunks/{BtcActions-B9KwzjIG.cjs → BtcActions-hLkixDlL.cjs} +2 -2
- package/dist/chunks/{BtcActions-B9KwzjIG.cjs.map → BtcActions-hLkixDlL.cjs.map} +1 -1
- package/dist/chunks/{EvmActions-BGlhbADC.js → EvmActions-DCy8q_l4.js} +5 -5
- package/dist/chunks/{EvmActions-BGlhbADC.js.map → EvmActions-DCy8q_l4.js.map} +1 -1
- package/dist/chunks/{EvmActions-DBAcQeMr.cjs → EvmActions-DIkhiG2i.cjs} +2 -2
- package/dist/chunks/{EvmActions-DBAcQeMr.cjs.map → EvmActions-DIkhiG2i.cjs.map} +1 -1
- package/dist/chunks/{ReferralsClient-o-3AUm7s.cjs → ReferralsClient-B65Nsk21.cjs} +2 -2
- package/dist/chunks/{ReferralsClient-o-3AUm7s.cjs.map → ReferralsClient-B65Nsk21.cjs.map} +1 -1
- package/dist/chunks/{ReferralsClient-BRa26dYS.js → ReferralsClient-BNwB6wO4.js} +2 -2
- package/dist/chunks/{ReferralsClient-BRa26dYS.js.map → ReferralsClient-BNwB6wO4.js.map} +1 -1
- package/dist/chunks/{approveLBTC-BBl3KcT2.cjs → approveLBTC-B1QepkpF.cjs} +2 -2
- package/dist/chunks/{approveLBTC-BBl3KcT2.cjs.map → approveLBTC-B1QepkpF.cjs.map} +1 -1
- package/dist/chunks/{approveLBTC-DnCt6ZZF.js → approveLBTC-BFhW5cPX.js} +2 -2
- package/dist/chunks/{approveLBTC-DnCt6ZZF.js.map → approveLBTC-BFhW5cPX.js.map} +1 -1
- package/dist/chunks/{bridge-DZp5x4Yb.cjs → bridge-CQmXrRKS.cjs} +2 -2
- package/dist/chunks/{bridge-DZp5x4Yb.cjs.map → bridge-CQmXrRKS.cjs.map} +1 -1
- package/dist/chunks/{bridge-DV4fOcHe.js → bridge-DnDIoRdh.js} +3 -3
- package/dist/chunks/{bridge-DV4fOcHe.js.map → bridge-DnDIoRdh.js.map} +1 -1
- package/dist/chunks/{depositStatus-Cgd_GDUt.js → depositStatus-CacTFWfJ.js} +3 -3
- package/dist/chunks/{depositStatus-Cgd_GDUt.js.map → depositStatus-CacTFWfJ.js.map} +1 -1
- package/dist/chunks/{depositStatus-B9P1YXEU.cjs → depositStatus-CeoqUgM5.cjs} +2 -2
- package/dist/chunks/{depositStatus-B9P1YXEU.cjs.map → depositStatus-CeoqUgM5.cjs.map} +1 -1
- package/dist/chunks/events-C3tg6XPm.cjs +2 -0
- package/dist/chunks/events-C3tg6XPm.cjs.map +1 -0
- package/dist/chunks/{events-od93kR_o.js → events-Cu4qfdgE.js} +10 -9
- package/dist/chunks/events-Cu4qfdgE.js.map +1 -0
- package/dist/chunks/{get-vault-tvl-B6rSrGi_.js → get-vault-tvl-CweOpdGy.js} +58 -55
- package/dist/chunks/get-vault-tvl-CweOpdGy.js.map +1 -0
- package/dist/chunks/get-vault-tvl-vH_D4tu0.cjs +2 -0
- package/dist/chunks/get-vault-tvl-vH_D4tu0.cjs.map +1 -0
- package/dist/chunks/{get-vault-withdrawals-W5CgNbqE.js → get-vault-withdrawals-BayGky8y.js} +44 -38
- package/dist/chunks/get-vault-withdrawals-BayGky8y.js.map +1 -0
- package/dist/chunks/get-vault-withdrawals-GHCAh3wp.cjs +2 -0
- package/dist/chunks/get-vault-withdrawals-GHCAh3wp.cjs.map +1 -0
- package/dist/chunks/{getUserStakeAndBakeSignature-BRhWFYyY.js → getUserStakeAndBakeSignature-CQsvL79O.js} +2 -2
- package/dist/chunks/{getUserStakeAndBakeSignature-BRhWFYyY.js.map → getUserStakeAndBakeSignature-CQsvL79O.js.map} +1 -1
- package/dist/chunks/{getUserStakeAndBakeSignature-VlC_GHmz.cjs → getUserStakeAndBakeSignature-Cwwx89pR.cjs} +2 -2
- package/dist/chunks/{getUserStakeAndBakeSignature-VlC_GHmz.cjs.map → getUserStakeAndBakeSignature-Cwwx89pR.cjs.map} +1 -1
- package/dist/chunks/{statusConstants-sPFaTvG2.js → statusConstants-8pqtLXvX.js} +2 -2
- package/dist/chunks/{statusConstants-sPFaTvG2.js.map → statusConstants-8pqtLXvX.js.map} +1 -1
- package/dist/chunks/{statusConstants-CP33VFvI.cjs → statusConstants-BPtrxbYC.cjs} +2 -2
- package/dist/chunks/{statusConstants-CP33VFvI.cjs.map → statusConstants-BPtrxbYC.cjs.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-DJgBfZp7.cjs → storeNetworkFeeSignature-Z0NcQyIn.cjs} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-DJgBfZp7.cjs.map → storeNetworkFeeSignature-Z0NcQyIn.cjs.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-CY_Z-Wtn.js → storeNetworkFeeSignature-ZdHcFmfP.js} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-CY_Z-Wtn.js.map → storeNetworkFeeSignature-ZdHcFmfP.js.map} +1 -1
- package/dist/chunks/{tokens-Btl3GXbc.js → tokens-BUrC15ra.js} +5 -5
- package/dist/chunks/{tokens-Btl3GXbc.js.map → tokens-BUrC15ra.js.map} +1 -1
- package/dist/chunks/{tokens-DEYY7W7O.cjs → tokens-C5rzCTTM.cjs} +2 -2
- package/dist/chunks/{tokens-DEYY7W7O.cjs.map → tokens-C5rzCTTM.cjs.map} +1 -1
- package/dist/chunks/{unwrapBtceToLbtcv-Cu9KedO1.js → unwrapBtceToLbtcv-BL5bF9y2.js} +3 -3
- package/dist/chunks/{unwrapBtceToLbtcv-Cu9KedO1.js.map → unwrapBtceToLbtcv-BL5bF9y2.js.map} +1 -1
- package/dist/chunks/{unwrapBtceToLbtcv-BlRUepkS.cjs → unwrapBtceToLbtcv-Chc_QObp.cjs} +2 -2
- package/dist/chunks/{unwrapBtceToLbtcv-BlRUepkS.cjs.map → unwrapBtceToLbtcv-Chc_QObp.cjs.map} +1 -1
- package/dist/chunks/{withdrawEarn-D835YnBD.js → withdrawEarn-BM_JOe4k.js} +2 -2
- package/dist/chunks/{withdrawEarn-D835YnBD.js.map → withdrawEarn-BM_JOe4k.js.map} +1 -1
- package/dist/chunks/{withdrawEarn-CVQYjOoY.cjs → withdrawEarn-CXfCmXJl.cjs} +2 -2
- package/dist/chunks/{withdrawEarn-CVQYjOoY.cjs.map → withdrawEarn-CXfCmXJl.cjs.map} +1 -1
- package/dist/client/ApiNamespace.d.ts.map +1 -1
- package/dist/contracts.cjs +1 -1
- package/dist/contracts.js +3 -3
- package/dist/core.cjs +1 -1
- package/dist/core.js +6 -6
- package/dist/evm.cjs +1 -1
- package/dist/evm.js +3 -3
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/tokens/tokens.d.ts +1 -1
- package/dist/tokens/tokens.d.ts.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/vaults/lib/ops/get-vault-deposits.d.ts +3 -2
- package/dist/vaults/lib/ops/get-vault-deposits.d.ts.map +1 -1
- package/dist/vaults/lib/ops/get-vault-withdrawals.d.ts +3 -2
- package/dist/vaults/lib/ops/get-vault-withdrawals.d.ts.map +1 -1
- package/dist/vaults.cjs +1 -1
- package/dist/vaults.js +3 -3
- package/package.json +1 -1
- package/dist/chunks/events-DBUF2B7z.cjs +0 -2
- package/dist/chunks/events-DBUF2B7z.cjs.map +0 -1
- package/dist/chunks/events-od93kR_o.js.map +0 -1
- package/dist/chunks/get-vault-tvl-B6rSrGi_.js.map +0 -1
- package/dist/chunks/get-vault-tvl-dvEPPxvT.cjs +0 -2
- package/dist/chunks/get-vault-tvl-dvEPPxvT.cjs.map +0 -1
- package/dist/chunks/get-vault-withdrawals-Cgx7VsM1.cjs +0 -2
- package/dist/chunks/get-vault-withdrawals-Cgx7VsM1.cjs.map +0 -1
- package/dist/chunks/get-vault-withdrawals-W5CgNbqE.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";var q=Object.defineProperty;var V=(i,a,e)=>a in i?q(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var p=(i,a,e)=>V(i,typeof a!="symbol"?a+"":a,e);const w=require("bignumber.js"),l=require("./withdrawEarn-
|
|
1
|
+
"use strict";var q=Object.defineProperty;var V=(i,a,e)=>a in i?q(i,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[a]=e;var p=(i,a,e)=>V(i,typeof a!="symbol"?a+"":a,e);const w=require("bignumber.js"),l=require("./withdrawEarn-CXfCmXJl.cjs"),m=require("./token-addresses-C7H9E4qz.cjs"),v=require("./tokens-C5rzCTTM.cjs"),t=require("./statusConstants-BPtrxbYC.cjs"),M=require("./storeNetworkFeeSignature-Z0NcQyIn.cjs"),Y=require("./fee-requirements-CICSxYYL.cjs"),d=require("./defi-registry-CyMKVT3z.cjs"),n=require("./index-BKzxeh1Y.cjs"),k=require("viem"),L=require("./numbers-3LtmxfD8.cjs"),A=require("./config-BfX8lrdO.cjs");class U{constructor(a){this.env=a}async getMintingFee(a,e){return(await l.getMintingFee({token:e||m.Token.LBTC,chainId:a,env:this.env})).toString()}async signNetworkFee(a){const e=await l.signNetworkFee({fee:new w(a.fee),account:a.account,chainId:a.chainId,provider:a.provider,env:this.env,token:a.token??m.Token.LBTC});return{signature:e.signature,typedData:e.typedData}}async getStakeAndBakeFee(a,e){return(await l.getStakeAndBakeFee({chainId:a,protocol:e})).toString()}async signStakeAndBake(a){const e=await l.signStakeAndBake({value:new w(a.value),account:a.account,chainId:a.chainId,provider:a.provider,env:this.env,vaultKey:a.vaultKey,token:a.token});return{signature:e.signature,typedData:e.typedData}}async signLbtcDestination(a){return{signature:await l.signLbtcDestinationAddr({account:a.address,chainId:a.chainId,provider:a.provider})}}}function $(){return{id:"evm",chain:"evm",register(i){return new U(i.env)}}}const G={routes:[{asset:d.AssetId.LBTC,sourceChains:[t.Chain.ETHEREUM],protocols:[d.DefiProtocol.Veda],envs:[n.r.prod]},{asset:d.AssetId.LBTC,sourceChains:[t.Chain.BASE],protocols:[d.DefiProtocol.Veda],envs:[n.r.prod]},{asset:d.AssetId.LBTC,sourceChains:[t.Chain.BSC],protocols:[d.DefiProtocol.Veda],envs:[n.r.prod]},{asset:d.AssetId.LBTC,sourceChains:[t.Chain.CORN],protocols:[d.DefiProtocol.Veda],envs:[n.r.prod]},{asset:d.AssetId.LBTC,sourceChains:[t.Chain.AVALANCHE],protocols:[d.DefiProtocol.Silo],envs:[n.r.prod]}]};async function W({amount:i,approve:a=!0,token:e=m.Token.LBTC,account:s,chainId:r,provider:u,rpcUrl:c,env:h}){const o=A.EARN_VAULT;if(!A.isEarnChain(r))throw new Error(`Unsupported chain id: ${r}. Please switch to one of the supported chains: ${o.chains.join(", ")}`);const C=v.makePublicClient({chainId:r,rpcUrl:c}),_=m.makeWalletClient({provider:u,chainId:r}),E=await v.getTokenInfo(e,r,h,c);if(!E)throw new Error(`Unknown deposit token: ${e}`);const S=w(i),g=L.toBigInt(v.toBaseDenomination(S,E.decimals)),T=await C.readContract({address:E.address,abi:E.abi,functionName:"allowance",args:[s,o.vaultContract.address]}),f=v.fromBaseDenomination(String(T),E.decimals),P=await C.readContract({address:E.address,abi:E.abi,functionName:"balanceOf",args:[s]}),B=v.fromBaseDenomination(String(P),E.decimals);if(S.isGreaterThan(B))throw new Error(`The deposit amount exceeds the account's balance.
|
|
2
2
|
Deposit amount: ${S.toFixed()}
|
|
3
3
|
Balance: ${B.toFixed()}`);if(S.isGreaterThan(f)){const R=`The deposit amount exceeds allowance.
|
|
4
4
|
Deposit amount: ${S.toFixed()}
|
|
5
5
|
Allowance: ${f.toFixed()}`;if(!a)throw new Error(R);console.info(R);try{console.info(`Trying to approve ${g}`);const{request:D}=await C.simulateContract({account:s,chain:m.CHAIN_ID_TO_VIEM_CHAIN_MAP[r],address:E.address,abi:E.abi,functionName:"approve",args:[o.vaultContract.address,g]}),O=await _.writeContract(D);console.info(`Approve tx hash: ${O}`),console.info(`Approved ${g} for ${o.vaultContract.address}`)}catch(D){const O=v.getErrorMessage(D);throw new Error(`Could not approve ${g} for ${o.vaultContract.address}.
|
|
6
6
|
Reason: ${O}`)}}const{request:F}=await C.simulateContract({account:s,chain:m.CHAIN_ID_TO_VIEM_CHAIN_MAP[r],address:o.tellerContracts[r].address,abi:o.tellerContracts[r].abi,functionName:"deposit",args:[E.address,g,0n]});return await _.writeContract(F)}class z extends t.BaseAction{constructor(e,s){super(t.EvmOperationStatus.IDLE);p(this,"_amount");p(this,"_protocol");p(this,"_needsApproval",!1);p(this,"_txHash");p(this,"_account");p(this,"_chainId");this.ctx=e,this.params=s}get amount(){return this._amount}get protocol(){return this._protocol}get needsApproval(){return this._needsApproval}get txHash(){return this._txHash}isVedaBtcePath(){return this._protocol===d.DefiProtocol.Veda&&this._chainId!==void 0&&A.isBtceVaultChain(this._chainId)}getSpenderAddress(){return this.isVedaBtcePath()?A.BTCE_VAULT.contracts[this._chainId]:A.EARN_VAULT.vaultContract.address}async prepare(e){return this.assertStatus(t.EvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const s=t.validatePrepareParams(this.prepareSchema,e);this._amount=s.amount,this._protocol=e.protocol,this.validateProtocol(e.protocol);const r=await this.ctx.getProvider("evm");if(!r)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const c=(await r.request({method:"eth_accounts"}))[0];if(!c)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");this._account=c,this._chainId=t.parseChainIdentifier(this.params.sourceChain);const h=await v.getTokenInfo(m.Token.LBTC,this._chainId,this.ctx.env);if(!h)throw t.LombardError.invalidParameter("token","Could not get LBTC token info");const o=this.getSpenderAddress(),_=await v.makePublicClient({chainId:this._chainId}).readContract({address:h.address,abi:k.erc20Abi,functionName:"allowance",args:[c,o]}),E=new w(s.amount),S=v.toBaseDenomination(E,h.decimals),g=new w(String(_));this._needsApproval=S.isGreaterThan(g),this._needsApproval?(this.emitProgress({status:t.EvmOperationStatus.NEEDS_APPROVAL,steps:{approval:t.StepStatus.PENDING,deploying:t.StepStatus.IDLE}}),this.updateStatus(t.EvmOperationStatus.NEEDS_APPROVAL)):(this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,deploying:t.StepStatus.PENDING}}),this.updateStatus(t.EvmOperationStatus.READY))})}async approve(){return this.assertStatus(t.EvmOperationStatus.NEEDS_APPROVAL,"approve"),this.act(async()=>{if(!this._account||!this._chainId||!this._amount)throw t.LombardError.missingParameter("account, chainId, or amount");const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const s=await v.getTokenInfo(m.Token.LBTC,this._chainId,this.ctx.env);if(!s)throw t.LombardError.invalidParameter("token","Could not get LBTC token info");const r=new w(this._amount),u=L.toBigInt(v.toBaseDenomination(r,s.decimals)),c=this.getSpenderAddress(),h=v.makePublicClient({chainId:this._chainId}),o=m.makeWalletClient({provider:e,chainId:this._chainId}),{request:C}=await h.simulateContract({account:this._account,chain:m.CHAIN_ID_TO_VIEM_CHAIN_MAP[this._chainId],address:s.address,abi:k.erc20Abi,functionName:"approve",args:[c,u]}),_=await o.writeContract(C);await l.waitForTransactionReceipt(h,_,"LBTC deposit approval"),this._needsApproval=!1,this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,deploying:t.StepStatus.PENDING}})},t.EvmOperationStatus.READY)}async execute(){return this.assertStatus(t.EvmOperationStatus.READY,"execute"),this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");if(!this._account||!this._chainId)throw t.LombardError.missingParameter("account or chainId");this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,deploying:t.StepStatus.PENDING}});let s;return this.isVedaBtcePath()?s=await l.depositEarn({token:m.Token.LBTC,amount:this._amount,receiver:this.params.recipient,approve:!1,account:this._account,chainId:this._chainId,provider:e,env:this.ctx.env}):s=await W({amount:this._amount,approve:!1,token:m.Token.LBTC,account:this._account,chainId:this._chainId,provider:e,env:this.ctx.env}),this._txHash=s,this.emitProgress({status:t.EvmOperationStatus.COMPLETED,steps:{approval:t.StepStatus.COMPLETE,deploying:t.StepStatus.COMPLETE}}),this.emitCompleted(),{txHash:s}},t.EvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.evmAmountSchema,protocol:t.stringType().min(1,"Protocol is required")})}validateProtocol(e){if(!G.routes.some(r=>r.protocols.includes(e)&&r.envs.includes(this.ctx.env)))throw t.LombardError.invalidParameter("protocol",`Protocol ${e} is not supported in ${this.ctx.env} environment`)}}function Z(i,a){return new z(i,a)}const j=t.getEvmAssetChains(d.AssetId.BTCb,[n.r.prod]),K=t.getEvmAssetChains(d.AssetId.BTCb,[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]),Q=t.getEvmAssetChains(d.AssetId.LBTC,[n.r.prod]),J=t.getEvmAssetChains(d.AssetId.LBTC,[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]),X={routes:[{assetsIn:[d.AssetId.BTCb],assetOut:d.AssetId.LBTC,sourceChains:j,destChains:Q,envs:[n.r.prod]},{assetsIn:[d.AssetId.BTCb],assetOut:d.AssetId.LBTC,sourceChains:K,destChains:J,envs:[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]}],addressSchema:t.evmAddressSchema};var I=(i=>(i.IDLE="idle",i.NEEDS_APPROVAL="needs-approval",i.READY="ready",i.BRIDGING="bridging",i.COMPLETED="completed",i))(I||{});class tt extends t.BaseAction{constructor(e,s){super(I.IDLE);p(this,"_amount");p(this,"_recipient");p(this,"_needsApproval",!1);p(this,"_txHash");p(this,"_claimData");this.ctx=e,this.params=s}get amount(){return this._amount}get recipient(){return this._recipient}get needsApproval(){return this._needsApproval}get txHash(){return this._txHash}setClaimData(e,s){this._claimData={data:e,proofSignature:s}}async prepare(e){return this.assertStatus(I.IDLE,"prepare"),this.act(async()=>{const s=t.validatePrepareParams(this.prepareSchema,e,{destChain:this.params.destChain});this._amount=s.amount,this._recipient=s.recipient,this._needsApproval=!1,this.emitProgress({status:I.READY,steps:{approval:t.StepStatus.COMPLETE,execution:t.StepStatus.IDLE,bridging:t.StepStatus.IDLE}})},I.READY)}async approve(){return this.assertStatus(I.NEEDS_APPROVAL,"approve"),this.act(async()=>{this._needsApproval=!1},I.READY)}async execute(){if(this.assertStatus(I.READY,"execute"),!this._claimData)throw t.LombardError.missingParameter("claimData");return this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const s=t.parseChainIdentifier(this.params.destChain);this.emitProgress({status:I.READY,steps:{approval:t.StepStatus.COMPLETE,execution:t.StepStatus.PENDING,bridging:t.StepStatus.IDLE}});const r=await l.claimLBTC({provider:e,account:this._recipient,data:this._claimData.data,proofSignature:this._claimData.proofSignature,chainId:s,env:this.ctx.env});return this._txHash=r,this.emitProgress({status:I.COMPLETED,steps:{approval:t.StepStatus.COMPLETE,execution:t.StepStatus.COMPLETE,bridging:t.StepStatus.IDLE}}),this.emitCompleted(),{txHash:r}},I.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.evmAmountSchema,recipient:X.addressSchema})}}function et(i,a){return new tt(i,a)}const st=t.getEvmAssetChains(d.AssetId.BTCb,[n.r.prod]),at=t.getEvmAssetChains(d.AssetId.BTCb,[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]),rt={routes:[{assetIn:d.AssetId.BTCb,assetOut:d.AssetId.BTC,sourceChains:st,destChain:t.Chain.BITCOIN_MAINNET,envs:[n.r.prod]},{assetIn:d.AssetId.BTCb,assetOut:d.AssetId.BTC,sourceChains:at,destChain:t.Chain.BITCOIN_SIGNET,envs:[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]}],recipientSchema:t.bitcoinAddressSchema};async function b(i,a,e,s){if(!Y.requiresAutoMintFee(i))return{requiresAuth:!1,hasValidSignature:!1,feeInSatoshis:null,feeFormatted:null,expirationDate:null};const r=await v.getTokenContractInfo(s,i,e),u=await M.getNetworkFeeSignature({address:a,chainId:i,env:e,tokenAddress:r.address}),c=u.expirationDate?new Date(Number(u.expirationDate)*1e3)<new Date:!1,h=u.hasSignature&&!c;let o=null,C=null;if(!h){const _=await l.getMintingFee({token:s,chainId:i,env:e});o=BigInt(_.times(1e8).toFixed(0)),C=_.toFixed(8)}return{requiresAuth:!0,hasValidSignature:h,feeInSatoshis:o,feeFormatted:C,expirationDate:u.expirationDate??null}}async function x(i){const{chainId:a,account:e,feeInSatoshis:s,provider:r,env:u,token:c}=i,h=await v.getTokenContractInfo(c,a,u),o=await l.signNetworkFee({fee:s,account:e,chainId:a,provider:r,env:u,token:c});return await M.storeNetworkFeeSignature({signature:o.signature,typedData:o.typedData,address:e,env:u,tokenAddress:h.address}),o}function N(){return{requiresAuth:!1,isAuthorized:!1,feeInSatoshis:null,feeFormatted:null,expirationDate:null}}class it extends t.BaseAction{constructor(e,s){super(t.EvmOperationStatus.IDLE);p(this,"_amount");p(this,"_recipient");p(this,"_needsApproval",!1);p(this,"_txHash");p(this,"_feeAuth",N());this.ctx=e,this.params=s}get amount(){return this._amount}get recipient(){return this._recipient}get needsApproval(){return this._needsApproval}get txHash(){return this._txHash}get feeAuth(){return this._feeAuth}async prepare(e){return this.assertStatus(t.EvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const s=t.validatePrepareParams(this.prepareSchema,e,{destChain:this.params.destChain});this._amount=s.amount,this._recipient=s.recipient;const r=t.parseChainIdentifier(this.params.sourceChain),u=await this.ctx.getProvider("evm");if(!u)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const h=(await u.request({method:"eth_accounts"}))[0],o=await b(r,h,this.ctx.env,m.Token.BTCb);if(this._feeAuth={requiresAuth:o.requiresAuth,isAuthorized:o.hasValidSignature,feeInSatoshis:o.feeInSatoshis,feeFormatted:o.feeFormatted,expirationDate:o.expirationDate},o.requiresAuth&&!o.hasValidSignature){this.updateStatus(t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION),this.emitProgress({status:t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}});return}this._needsApproval=!1,this.updateStatus(t.EvmOperationStatus.READY),this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})})}async authorizeFee(){if(this.assertStatus(t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION,"authorizeFee"),!this._feeAuth.feeInSatoshis)throw t.LombardError.missingParameter("feeInSatoshis");return this.act(async()=>{const e=t.parseChainIdentifier(this.params.sourceChain),s=await this.ctx.getProvider("evm");if(!s)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const u=(await s.request({method:"eth_accounts"}))[0];await x({chainId:e,account:u,feeInSatoshis:this._feeAuth.feeInSatoshis,provider:s,env:this.ctx.env,token:m.Token.BTCb}),this._feeAuth.isAuthorized=!0,this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.EvmOperationStatus.READY)}async approve(){return this.assertStatus(t.EvmOperationStatus.NEEDS_APPROVAL,"approve"),this.act(async()=>{this._needsApproval=!1,this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.EvmOperationStatus.READY)}async execute(){return this.assertStatus(t.EvmOperationStatus.READY,"execute"),this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const r=(await e.request({method:"eth_accounts"}))[0];if(!r)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const u=t.parseChainIdentifier(this.params.sourceChain);this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,releasing:t.StepStatus.IDLE}});const c=await l.redeemToken({provider:e,account:r,amount:this._amount,btcAddress:this._recipient,chainId:u,env:this.ctx.env,tokenIn:m.Token.BTCb,tokenOut:void 0});return this._txHash=c,this.emitProgress({status:t.EvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:t.StepStatus.PENDING}}),this.emitCompleted(),{txHash:c}},t.EvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.evmAmountSchema,recipient:rt.recipientSchema})}}function nt(i,a){return new it(i,a)}const ot=[m.ChainId.avalanche,m.ChainId.avalancheFuji];function ct(i){return ot.includes(i)}class ut extends t.BaseAction{constructor(e,s){super(t.EvmOperationStatus.IDLE);p(this,"_amount");p(this,"_txHash");p(this,"_feeAuth",N());p(this,"_account");p(this,"_needsApproval",!1);p(this,"_spenderAddress");this.ctx=e,this.params=s}get amount(){return this._amount}get txHash(){return this._txHash}get feeAuth(){return this._feeAuth}get needsApproval(){return this._needsApproval}async prepare(e){return this.assertStatus(t.EvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const s=t.validatePrepareParams(this.prepareSchema,e);this._amount=s.amount;const r=await this.ctx.getProvider("evm");if(!r)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const c=(await r.request({method:"eth_accounts"}))[0];if(!c)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");this._account=c;const h=t.parseChainIdentifier(this.params.sourceChain);if(ct(h)){const _=await v.getTokenContractInfo(m.Token.BTCb,h,this.ctx.env,m.AddressKind.Adapter);this._spenderAddress=_.address;const E=await l.getTokenAllowance({token:m.Token.BTCb,owner:c,spender:_.address,chainId:h,env:this.ctx.env}),S=new w(s.amount);if(this._needsApproval=E.isLessThan(S),this._needsApproval){this.emitProgress({status:t.EvmOperationStatus.NEEDS_APPROVAL,steps:{approval:t.StepStatus.PENDING,staking:t.StepStatus.IDLE}}),this.updateStatus(t.EvmOperationStatus.NEEDS_APPROVAL);return}}const o=await b(h,c,this.ctx.env,m.Token.LBTC);this._feeAuth={requiresAuth:o.requiresAuth,isAuthorized:o.hasValidSignature,feeInSatoshis:o.feeInSatoshis,feeFormatted:o.feeFormatted,expirationDate:o.expirationDate},o.requiresAuth&&!o.hasValidSignature?(this.emitProgress({status:t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION,steps:{staking:t.StepStatus.IDLE}}),this.updateStatus(t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION)):(this.emitProgress({status:t.EvmOperationStatus.READY,steps:{staking:t.StepStatus.PENDING}}),this.updateStatus(t.EvmOperationStatus.READY))})}async approve(){return this.assertStatus(t.EvmOperationStatus.NEEDS_APPROVAL,"approve"),this.act(async()=>{if(!this._account||!this._spenderAddress||!this._amount)throw t.LombardError.missingParameter("account, spenderAddress, or amount");const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const s=t.parseChainIdentifier(this.params.sourceChain),r=await l.approveToken({account:this._account,token:m.Token.BTCb,spender:this._spenderAddress,amount:this._amount,chainId:s,provider:e,env:this.ctx.env}),u=v.makePublicClient({chainId:s,env:this.ctx.env});await l.waitForTransactionReceipt(u,r,"BTC.b approval"),this._needsApproval=!1,this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,staking:t.StepStatus.PENDING}})},t.EvmOperationStatus.READY)}async authorizeFee(){return this.assertStatus(t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION,"authorizeFee"),this.act(async()=>{if(!this._feeAuth.feeInSatoshis)throw t.LombardError.missingParameter("feeInSatoshis");const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const s=t.parseChainIdentifier(this.params.sourceChain);await x({chainId:s,account:this._account,feeInSatoshis:this._feeAuth.feeInSatoshis,provider:e,env:this.ctx.env,token:m.Token.LBTC}),this._feeAuth={...this._feeAuth,isAuthorized:!0},this.emitProgress({status:t.EvmOperationStatus.READY,steps:{staking:t.StepStatus.PENDING}})},t.EvmOperationStatus.READY)}async execute(){return this.assertStatus(t.EvmOperationStatus.READY,"execute"),this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const s=t.parseChainIdentifier(this.params.sourceChain),u=(await e.request({method:"eth_accounts"}))[0];if(!u)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");this.emitProgress({status:t.EvmOperationStatus.READY,steps:{staking:t.StepStatus.PENDING}});const c=await l.depositToken({amount:this._amount,tokenIn:m.Token.BTCb,tokenOut:m.Token.LBTC,account:u,chainId:s,provider:e,env:this.ctx.env});return this._txHash=c,this.emitProgress({status:t.EvmOperationStatus.COMPLETED,steps:{staking:t.StepStatus.COMPLETE}}),this.emitCompleted(),{txHash:c}},t.EvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.evmAmountSchema})}}function ht(i,a){return new ut(i,a)}const pt=t.getEvmAssetChains(d.AssetId.LBTC,[n.r.prod]),dt=t.getEvmAssetChains(d.AssetId.LBTC,[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]),mt=t.getEvmChainsWithAllAssets([d.AssetId.LBTC,d.AssetId.BTCb],[n.r.prod]),vt=t.getEvmChainsWithAllAssets([d.AssetId.LBTC,d.AssetId.BTCb],[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]),Et={routes:[{sourceChains:pt,destChain:t.Chain.BITCOIN_MAINNET,envs:[n.r.prod]},{sourceChains:dt,destChain:t.Chain.BITCOIN_SIGNET,envs:[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]}],recipientSchema:t.bitcoinAddressSchema},lt={routes:[...mt.map(i=>({sourceChains:[i],destChain:i,envs:[n.r.prod]})),...vt.map(i=>({sourceChains:[i],destChain:i,envs:[n.r.testnet,n.r.stage,n.r.dev,n.r.ibc]}))],recipientSchema:t.evmAddressSchema};class St extends t.BaseAction{constructor(e,s){super(t.EvmOperationStatus.IDLE);p(this,"_amount");p(this,"_recipient");p(this,"_txHash");p(this,"_feeAuth",N());this.ctx=e,this.params=s}get amount(){return this._amount}get recipient(){return this._recipient}get txHash(){return this._txHash}get feeAuth(){return this._feeAuth}get isBtcbOutput(){return this.params.assetOut===d.AssetId.BTCb}async prepare(e){return this.assertStatus(t.EvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const s=t.validatePrepareParams(this.prepareSchema,e,{destChain:this.params.destChain});this._amount=s.amount,this._recipient=s.recipient;const r=t.parseChainIdentifier(this.params.sourceChain);if(this.isBtcbOutput){const u=await this.ctx.getProvider("evm");if(!u)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const h=(await u.request({method:"eth_accounts"}))[0],o=await b(r,h,this.ctx.env,m.Token.BTCb);if(this._feeAuth={requiresAuth:o.requiresAuth,isAuthorized:o.hasValidSignature,feeInSatoshis:o.feeInSatoshis,feeFormatted:o.feeFormatted,expirationDate:o.expirationDate},o.requiresAuth&&!o.hasValidSignature){this.updateStatus(t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION),this.emitProgress({status:t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}});return}}this.updateStatus(t.EvmOperationStatus.READY),this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})})}async authorizeFee(){if(this.assertStatus(t.EvmOperationStatus.NEEDS_FEE_AUTHORIZATION,"authorizeFee"),!this._feeAuth.feeInSatoshis)throw t.LombardError.missingParameter("feeInSatoshis");return this.act(async()=>{const e=t.parseChainIdentifier(this.params.sourceChain),s=await this.ctx.getProvider("evm");if(!s)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const u=(await s.request({method:"eth_accounts"}))[0];await x({chainId:e,account:u,feeInSatoshis:this._feeAuth.feeInSatoshis,provider:s,env:this.ctx.env,token:m.Token.BTCb}),this._feeAuth.isAuthorized=!0,this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.IDLE,releasing:t.StepStatus.IDLE}})},t.EvmOperationStatus.READY)}async execute(){return this.assertStatus(t.EvmOperationStatus.READY,"execute"),this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const r=(await e.request({method:"eth_accounts"}))[0];if(!r)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const u=t.parseChainIdentifier(this.params.sourceChain),c=this.params.assetOut===d.AssetId.BTCb;this.emitProgress({status:t.EvmOperationStatus.READY,steps:{burning:t.StepStatus.PENDING,releasing:t.StepStatus.IDLE}});const h=await l.redeemToken({provider:e,account:c?this._recipient:r,amount:this._amount,btcAddress:c?void 0:this._recipient,chainId:u,env:this.ctx.env,tokenIn:m.Token.LBTC,tokenOut:c?m.Token.BTCb:void 0});return this._txHash=h,this.emitProgress({status:t.EvmOperationStatus.COMPLETED,steps:{burning:t.StepStatus.COMPLETE,releasing:c?t.StepStatus.COMPLETE:t.StepStatus.PENDING}}),this.emitCompleted(),{txHash:h}},t.EvmOperationStatus.COMPLETED)}get prepareSchema(){const e=this.params.assetOut===d.AssetId.BTC?Et:lt;return t.objectType({amount:t.evmAmountSchema,recipient:e.recipientSchema})}}function Ct(i,a){return new St(i,a)}const y={routes:[{sourceChains:[t.Chain.ETHEREUM,t.Chain.BASE,t.Chain.BSC,t.Chain.CORN],protocols:[d.DefiProtocol.Veda],envs:[n.r.prod]}]};class At extends t.BaseAction{constructor(e,s){super(t.EvmOperationStatus.IDLE);p(this,"_txHash");p(this,"_account");p(this,"_chainId");this.ctx=e,this.params=s}get txHash(){return this._txHash}async prepare(){return this.assertStatus(t.EvmOperationStatus.IDLE,"prepare"),this.act(async()=>{this.validateProtocol(this.params.protocol);const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.chain,"evm");const r=(await e.request({method:"eth_accounts"}))[0];if(!r)throw t.LombardError.providerMissing(this.params.chain,"evm");if(this._account=r,this._chainId=t.parseChainIdentifier(this.params.chain),!A.isEarnChain(this._chainId))throw new t.LombardError(t.WithdrawErrorCode.PROTOCOL_NOT_SUPPORTED,`Chain ${this.params.chain} does not support Veda vault withdrawals`,{chain:this.params.chain,protocol:this.params.protocol});this.emitProgress({status:t.EvmOperationStatus.READY,steps:{cancelling:t.StepStatus.PENDING}}),this.updateStatus(t.EvmOperationStatus.READY)})}async execute(){return this.assertStatus(t.EvmOperationStatus.READY,"execute"),this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.chain,"evm");if(!this._account||!this._chainId)throw t.LombardError.missingParameter("account or chainId");this.emitProgress({status:t.EvmOperationStatus.READY,steps:{cancelling:t.StepStatus.PENDING}});const s=await l.cancelWithdrawInternal({account:this._account,chainId:this._chainId,provider:e,env:this.ctx.env});return this._txHash=s,this.emitProgress({status:t.EvmOperationStatus.COMPLETED,steps:{cancelling:t.StepStatus.COMPLETE}}),this.emitCompleted(),{txHash:s}},t.EvmOperationStatus.COMPLETED)}validateProtocol(e){if(!y.routes.some(r=>r.protocols.includes(e)&&r.envs.includes(this.ctx.env)))throw t.LombardError.invalidParameter("protocol",`Protocol ${e} is not supported for withdrawals in ${this.ctx.env} environment`)}}class _t extends t.BaseAction{constructor(e,s){super(t.EvmOperationStatus.IDLE);p(this,"_amount");p(this,"_protocol");p(this,"_needsApproval",!1);p(this,"_txHash");p(this,"_account");p(this,"_chainId");this.ctx=e,this.params=s}get amount(){return this._amount}get protocol(){return this._protocol}get needsApproval(){return this._needsApproval}get txHash(){return this._txHash}async prepare(e){return this.assertStatus(t.EvmOperationStatus.IDLE,"prepare"),this.act(async()=>{const s=t.validatePrepareParams(this.prepareSchema,e);this._amount=s.amount,this._protocol=this.params.protocol,this.validateProtocol(this.params.protocol);const r=await this.ctx.getProvider("evm");if(!r)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const c=(await r.request({method:"eth_accounts"}))[0];if(!c)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");if(this._account=c,this._chainId=t.parseChainIdentifier(this.params.sourceChain),!A.isEarnChain(this._chainId))throw new t.LombardError(t.WithdrawErrorCode.PROTOCOL_NOT_SUPPORTED,`Chain ${this.params.sourceChain} does not support Veda vault withdrawals`,{chain:this.params.sourceChain,protocol:this._protocol});const h=A.EARN_VAULT,o=v.makePublicClient({chainId:this._chainId}),C=new w(s.amount),_=await o.readContract({address:h.lensContract.address,abi:h.lensContract.abi,functionName:"balanceOf",args:[c,h.vaultContract.address]}),E=v.fromBaseDenomination(String(_),h.decimals);let S=E;if(A.isBtceVaultChain(this._chainId)){const f=await o.readContract({address:A.BTCE_VAULT.contracts[this._chainId],abi:A.BTCE_VAULT.abi,functionName:"balanceOf",args:[c]}),P=v.fromBaseDenomination(String(f),h.decimals);S=E.plus(P)}if(C.isGreaterThan(S))throw new t.LombardError(t.WithdrawErrorCode.INSUFFICIENT_SHARES,`Insufficient vault shares. Requested: ${C.toFixed()}, Available: ${S.toFixed()}`,{requested:C.toFixed(),available:S.toFixed()});const g=await o.readContract({address:h.vaultContract.address,abi:h.vaultContract.abi,functionName:"allowance",args:[c,h.withdrawQueueContracts[this._chainId].address]}),T=v.fromBaseDenomination(String(g),h.decimals);this._needsApproval=C.isGreaterThan(T),this._needsApproval?(this.emitProgress({status:t.EvmOperationStatus.NEEDS_APPROVAL,steps:{approval:t.StepStatus.PENDING,queueing:t.StepStatus.IDLE}}),this.updateStatus(t.EvmOperationStatus.NEEDS_APPROVAL)):(this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,queueing:t.StepStatus.PENDING}}),this.updateStatus(t.EvmOperationStatus.READY))})}async approve(){return this.assertStatus(t.EvmOperationStatus.NEEDS_APPROVAL,"approve"),this.act(async()=>{if(!this._account||!this._chainId||!this._amount)throw t.LombardError.missingParameter("account, chainId, or amount");const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");const s=A.EARN_VAULT,r=new w(this._amount),u=L.toBigInt(v.toBaseDenomination(r,s.decimals)),c=v.makePublicClient({chainId:this._chainId}),h=m.makeWalletClient({provider:e,chainId:this._chainId}),o=this._chainId;if(A.isBtceVaultChain(this._chainId)){const E=await c.readContract({address:s.lensContract.address,abi:s.lensContract.abi,functionName:"balanceOf",args:[this._account,s.vaultContract.address]});if(E<u){const S=u-E,g=await c.readContract({address:A.BTCE_VAULT.contracts[this._chainId],abi:A.BTCE_VAULT.abi,functionName:"maxWithdraw",args:[this._account]});if(g<S)throw new t.LombardError(t.WithdrawErrorCode.INSUFFICIENT_SHARES,`BTCe wrapper cannot cover the required unwrap. needed=${S.toString()}, maxWithdraw=${g.toString()}.`,{needed:S.toString(),maxWithdraw:g.toString()});const{request:T}=await c.simulateContract({account:this._account,chain:m.CHAIN_ID_TO_VIEM_CHAIN_MAP[this._chainId],address:A.BTCE_VAULT.contracts[this._chainId],abi:A.BTCE_VAULT.abi,functionName:"withdraw",args:[S,this._account,this._account]}),f=await h.writeContract(T);await l.waitForTransactionReceipt(c,f,"BTCe unwrap")}}const{request:C}=await c.simulateContract({account:this._account,chain:m.CHAIN_ID_TO_VIEM_CHAIN_MAP[this._chainId],address:s.vaultContract.address,abi:s.vaultContract.abi,functionName:"approve",args:[s.withdrawQueueContracts[o].address,u]}),_=await h.writeContract(C);await l.waitForTransactionReceipt(c,_,"vault share approval"),this._needsApproval=!1,this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,queueing:t.StepStatus.PENDING}})},t.EvmOperationStatus.READY)}async execute(){return this.assertStatus(t.EvmOperationStatus.READY,"execute"),this.act(async()=>{const e=await this.ctx.getProvider("evm");if(!e)throw t.LombardError.providerMissing(this.params.sourceChain,"evm");if(!this._account||!this._chainId||!this._amount)throw t.LombardError.missingParameter("account, chainId, or amount");this.emitProgress({status:t.EvmOperationStatus.READY,steps:{approval:t.StepStatus.COMPLETE,queueing:t.StepStatus.PENDING}});let s;return A.isBtceVaultChain(this._chainId)?s=(await l.withdrawEarn({amount:this._amount,account:this._account,chainId:this._chainId,provider:e,env:this.ctx.env})).queueTxHash:s=await l.queueWithdrawInternal({amount:this._amount,approve:!1,account:this._account,chainId:this._chainId,provider:e,env:this.ctx.env}),this._txHash=s,this.emitProgress({status:t.EvmOperationStatus.COMPLETED,steps:{approval:t.StepStatus.COMPLETE,queueing:t.StepStatus.COMPLETE}}),this.emitCompleted(),{txHash:s}},t.EvmOperationStatus.COMPLETED)}get prepareSchema(){return t.objectType({amount:t.evmAmountSchema})}validateProtocol(e){if(!y.routes.some(r=>r.protocols.includes(e)&&r.envs.includes(this.ctx.env)))throw t.LombardError.invalidParameter("protocol",`Protocol ${e} is not supported for withdrawals in ${this.ctx.env} environment`)}}function gt(i,a){return new _t(i,a)}function It(i,a){return new At(i,a)}class H{constructor(a){p(this,"ctx");this.ctx=t.createEvmCoreContext(a)}stake(a){return ht(this.ctx,a)}unstake(a){return Ct(this.ctx,a)}deposit(a){return et(this.ctx,a)}deploy(a){return Z(this.ctx,a)}withdraw(a){return gt(this.ctx,a)}cancelWithdraw(a){return It(this.ctx,a)}redeem(a){return nt(this.ctx,a)}}function wt(i){return new H(i)}exports.EvmActions=H;exports.EvmDepositStatus=I;exports.evmActions=wt;exports.evmModule=$;
|
|
7
|
-
//# sourceMappingURL=EvmActions-
|
|
7
|
+
//# sourceMappingURL=EvmActions-DIkhiG2i.cjs.map
|