@stridge/kit 0.1.0-alpha.21 → 0.1.0-alpha.23

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.
@@ -1 +1 @@
1
- "use client";import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{pickRelevantSettlement as t}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{defaultBlockExplorers as n}from"../../shared/utils/explorers.js";import{createEntityStore as r}from"../stridge-mock/store.js";import{NATIVE_QUOTE_ADDRESS as i,isStablecoinSymbol as a,toBaseUnits as o}from"./internal/encoding.js";import{resolveSdkEnv as s}from"./internal/env.js";import{buildKitMetadata as c}from"./internal/metadata.js";import{pollOnce as l}from"./internal/pollOnce.js";import{startPoll as u}from"./poll.js";import{balanceToWithdrawableBalancesPayload as d}from"../../flows/withdraw/driver/transformers/balanceToWithdrawableBalancesPayload.js";import{quoteToWithdrawalPayload as f}from"../../flows/withdraw/driver/transformers/quoteToWithdrawalPayload.js";import{settlementToWithdrawalPayload as p}from"../../flows/withdraw/driver/transformers/settlementToWithdrawalPayload.js";import{supportedAssetsToReceiveOptionsPayload as m}from"../../flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js";import{createApiClient as h}from"@stridge/sdk";function g(g){let _=h({projectKey:g.projectKey,env:s(g.environment)}),v=g.pollIntervals??{},y=v.processingMs??2e3,b=v.terminalMs??1e4,x=v.balancesMs??6e4,S=g.getI18n??(()=>e),C={...n(),...g.explorers??{}},w=r({withdrawableBalances:{status:`loading`},receiveOptions:{status:`loading`},quote:{status:`idle`},settlement:{status:`idle`}}),T,E,D;function O(e){let t=e.assets.find(e=>e.network_id===g.currency.networkId);if(!t)return;let n=g.currency.assetSymbol.toUpperCase(),r=t.native_currency?.symbol?.toUpperCase()===n?t.native_currency:void 0,i=t.assets.find(e=>e.symbol?.toUpperCase()===n),a={networkId:t.network_id,eip155Id:t.eip155_id,networkName:t.network_name,...t.native_currency?.logo?{chainLogoUrl:t.native_currency.logo}:{},decimals:i?.decimals??r?.decimals??18,address:i?.address??``,isNative:!i&&!!r,...i?.logo?{assetLogoUrl:i.logo}:r?.logo?{assetLogoUrl:r.logo}:{}};return i||r?a:void 0}function k(e){let t=S(),n=E,r=d(e,{i18n:t,networkId:g.currency.networkId,assetSymbol:g.currency.assetSymbol,...n?{fallbackMeta:{decimals:n.decimals,address:n.address,isNative:n.isNative,eip155Id:String(n.eip155Id),networkName:n.networkName,...n.chainLogoUrl?{chainLogoUrl:n.chainLogoUrl}:{},...n.assetLogoUrl?{assetLogoUrl:n.assetLogoUrl}:{}}}:{}});w.update({withdrawableBalances:{status:`ready`,payload:r,raw:e,response:e}})}let A=(async()=>{try{let[e,t]=await Promise.all([_.uda.supportedAssets(),_.balance.onchain(g.userAddress,{includeSpam:!1,includeZero:!1}).catch(()=>null)]);T=e,E=O(e);let n=m(e);w.update({receiveOptions:{status:`ready`,payload:n,raw:e.assets,response:e}}),t?k(t):E&&k({wallet_address:g.userAddress,fetched_at:new Date().toISOString(),total_usd:`0`,chains:[]})}catch(e){let t=e instanceof Error?e:Error(String(e));w.update({receiveOptions:{status:`error`,error:t}})}})();function j(){return c({flow:`withdraw`,...g.metadata?{hostMetadata:g.metadata}:{},extras:{source:{networkId:g.currency.networkId,assetSymbol:g.currency.assetSymbol}}})}function M(e,t){if(!T)return;let n=T.assets.find(t=>t.eip155_id===e);if(!n)return;let r=t.toUpperCase(),i=n.native_currency?.symbol?.toUpperCase()===r?n.native_currency:void 0,a=n.assets.find(e=>e.symbol?.toUpperCase()===r);if(!(!i&&!a))return{chainId:n.eip155_id,symbol:a?.symbol??i?.symbol??t,decimals:a?.decimals??i?.decimals??18,address:a?.address??``,isNative:!a&&!!i,...a?.logo?{assetLogoUrl:a.logo}:i?.logo?{assetLogoUrl:i.logo}:{},networkId:n.network_id,networkName:n.network_name,...i?.logo?{chainLogoUrl:i.logo}:{}}}function N(e){let t=w.getSnapshot().receiveOptions;if(!(t.status!==`ready`&&t.status!==`stale`))return t.payload.find(t=>t.eip155Id===e)}return{getSnapshot(){return w.getSnapshot()},subscribe(e){return w.subscribe(e)},async requestQuote(e,t){w.update({quote:{status:`loading`}});try{if(await A,t.aborted)return;let n=E;if(!n)throw Error(`Stridge withdraw driver: source currency ${g.currency.assetSymbol} not found on network ${g.currency.networkId} in supportedAssets.`);let r=M(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let s=o(e.amount,n.decimals),c=await _.uda.quote({fromNetworkId:n.eip155Id,fromAsset:n.isNative?i:n.address,toNetworkId:r.chainId,toAsset:r.isNative?i:r.address,amount:s,fromAddress:g.userAddress,toAddress:e.recipientAddress},{signal:t});if(t.aborted)return;let l=a(g.currency.assetSymbol)?1:void 0,u=a(r.symbol)?1:void 0,d=f(c,{i18n:S(),receiveSide:r,sourceAmount:e.amount,sendDecimals:n.decimals,sendSymbol:g.currency.assetSymbol,now:Date.now(),...l===void 0?{}:{sendPriceUsd:l},...u===void 0?{}:{receivePriceUsd:u}});w.update({quote:{status:`ready`,payload:d,raw:c,response:c}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));w.update({quote:{status:`error`,error:n}})}},async prepareWithdrawal(e,t){if(await A,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=E;if(!n)throw Error(`Stridge withdraw driver: source currency ${g.currency.assetSymbol} not found on network ${g.currency.networkId} in supportedAssets.`);let r=M(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let i=await _.gateway.start({owner:g.userAddress,destination:{network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},metadata:j()},{signal:t});if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);let a=i.deposit_addresses.find(e=>Number(e.eip155_id)===n.eip155Id);if(!a)throw Error(`Stridge withdraw driver: no UDA deposit address provisioned on chain ${n.eip155Id} for the brand currency. Check that supportedAssets advertises this chain.`);return D={network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},{depositTarget:{address:a.address,chainId:n.eip155Id,tokenSymbol:g.currency.assetSymbol,tokenAddress:n.isNative?``:n.address,tokenDecimals:n.decimals,isNative:n.isNative,amount:e.amount},correlation:{owner:g.userAddress}}},watchSettlement(e,n,r){let i=e=>l(_,g.userAddress,D,e),a=!1;u({signal:r,fetch:i,listener:r=>{if(!r)return;let i=E?o(e.form.amount,E.decimals).toString():void 0,s=e.tx?.hash?t(r,{txHash:e.tx.hash}):t(r,{bestMatch:{destination:{chainId:e.form.receiveChainId,tokenSymbol:e.form.receiveTokenSymbol,recipientAddress:e.form.recipientAddress},submittedAt:e.submittedAt,...i?{sourceAmountBaseUnits:i}:{}}});if(!s)return;let c=S(),l=N(Number(r.destination.eip155_id)),u=l?.tokens.find(e=>e.symbol===r.destination.asset_symbol),d={...l?.chainLogoUrl?{chainLogoUrl:l.chainLogoUrl}:{},...u?.assetLogoUrl?{assetLogoUrl:u.assetLogoUrl}:{},...l?.networkName?{networkName:l.networkName}:{}},f=p(s,r,{i18n:c,explorers:C,...Object.keys(d).length>0?{receiveAssetEnrichment:d}:{}});f.kind!==`pending`&&(a=!0);let m={status:`ready`,payload:f,raw:s,response:r};w.update({settlement:m}),n(m)},nextIntervalMs:()=>a?b:y})},watchWithdrawableBalances(e,t,n){u({signal:n,fetch:async e=>{try{return await A,e.aborted?null:await _.balance.onchain(g.userAddress,{signal:e,includeSpam:!1,includeZero:!1})}catch{return null}},listener:e=>{e&&k(e),t(w.getSnapshot().withdrawableBalances)},nextIntervalMs:()=>x})}}}export{g as createStridgeWithdrawDriver};
1
+ "use client";import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{pickRelevantSettlement as t}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{defaultBlockExplorers as n}from"../../shared/utils/explorers.js";import{createEntityStore as r}from"../stridge-mock/store.js";import{NATIVE_QUOTE_ADDRESS as i,isStablecoinSymbol as a,toBaseUnits as o}from"./internal/encoding.js";import{resolveSdkEnv as s}from"./internal/env.js";import{buildKitMetadata as c}from"./internal/metadata.js";import{pollOnce as l}from"./internal/pollOnce.js";import{startPoll as u}from"./poll.js";import{balanceToWithdrawableBalancesPayload as d}from"../../flows/withdraw/driver/transformers/balanceToWithdrawableBalancesPayload.js";import{quoteToWithdrawalPayload as f}from"../../flows/withdraw/driver/transformers/quoteToWithdrawalPayload.js";import{settlementToWithdrawalPayload as p}from"../../flows/withdraw/driver/transformers/settlementToWithdrawalPayload.js";import{supportedAssetsToReceiveOptionsPayload as m}from"../../flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js";import{createApiClient as h}from"@stridge/sdk";function g(g){let _=h({projectKey:g.projectKey,env:s(g.environment)}),v=g.pollIntervals??{},y=v.processingMs??2e3,b=v.terminalMs??1e4,x=v.balancesMs??6e4,S=g.getI18n??(()=>e),C={...n(),...g.explorers??{}},w=r({withdrawableBalances:{status:`loading`},receiveOptions:{status:`loading`},quote:{status:`idle`},settlement:{status:`idle`}}),T,E,D;function O(e){let t=e.assets.find(e=>e.network_id===g.currency.networkId);if(!t)return;let n=g.currency.assetSymbol.toUpperCase(),r=t.native_currency?.symbol?.toUpperCase()===n?t.native_currency:void 0,i=t.assets.find(e=>e.symbol?.toUpperCase()===n),a={networkId:t.network_id,eip155Id:t.eip155_id,networkName:t.network_name,...t.native_currency?.logo?{chainLogoUrl:t.native_currency.logo}:{},decimals:i?.decimals??r?.decimals??18,address:i?.address??``,isNative:!i&&!!r,...i?.logo?{assetLogoUrl:i.logo}:r?.logo?{assetLogoUrl:r.logo}:{}};return i||r?a:void 0}function k(e){let t=S(),n=E,r=d(e,{i18n:t,networkId:g.currency.networkId,assetSymbol:g.currency.assetSymbol,...n?{fallbackMeta:{decimals:n.decimals,address:n.address,isNative:n.isNative,eip155Id:String(n.eip155Id),networkName:n.networkName,...n.chainLogoUrl?{chainLogoUrl:n.chainLogoUrl}:{},...n.assetLogoUrl?{assetLogoUrl:n.assetLogoUrl}:{}}}:{}});w.update({withdrawableBalances:{status:`ready`,payload:r,raw:e,response:e}})}let A=(async()=>{try{let[e,t]=await Promise.all([_.uda.supportedAssets(),_.balance.onchain(g.userAddress,{includeSpam:!1,includeZero:!1}).catch(()=>null)]);T=e,E=O(e);let n=m(e);w.update({receiveOptions:{status:`ready`,payload:n,raw:e.assets,response:e}}),t?k(t):E&&k({wallet_address:g.userAddress,fetched_at:new Date().toISOString(),total_usd:`0`,chains:[]})}catch(e){let t=e instanceof Error?e:Error(String(e));w.update({receiveOptions:{status:`error`,error:t}})}})();function j(){return c({flow:`withdraw`,...g.metadata?{hostMetadata:g.metadata}:{},extras:{source:{networkId:g.currency.networkId,assetSymbol:g.currency.assetSymbol}}})}function M(e,t){if(!T)return;let n=T.assets.find(t=>t.eip155_id===e);if(!n)return;let r=t.toUpperCase(),i=n.native_currency?.symbol?.toUpperCase()===r?n.native_currency:void 0,a=n.assets.find(e=>e.symbol?.toUpperCase()===r);if(!(!i&&!a))return{chainId:n.eip155_id,symbol:a?.symbol??i?.symbol??t,decimals:a?.decimals??i?.decimals??18,address:a?.address??``,isNative:!a&&!!i,...a?.logo?{assetLogoUrl:a.logo}:i?.logo?{assetLogoUrl:i.logo}:{},networkId:n.network_id,networkName:n.network_name,...i?.logo?{chainLogoUrl:i.logo}:{}}}function N(e){let t=w.getSnapshot().receiveOptions;if(!(t.status!==`ready`&&t.status!==`stale`))return t.payload.find(t=>t.eip155Id===e)}return{getSnapshot(){return w.getSnapshot()},subscribe(e){return w.subscribe(e)},async requestQuote(e,t){w.update({quote:{status:`loading`}});try{if(await A,t.aborted)return;let n=E;if(!n)throw Error(`Stridge withdraw driver: source currency ${g.currency.assetSymbol} not found on network ${g.currency.networkId} in supportedAssets.`);let r=M(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let s=o(e.amount,n.decimals),c=await _.uda.quote({fromNetworkId:n.eip155Id,fromAsset:n.isNative?i:n.address,toNetworkId:r.chainId,toAsset:r.isNative?i:r.address,amount:s,fromAddress:g.userAddress,toAddress:e.recipientAddress},{signal:t});if(t.aborted)return;let l=a(g.currency.assetSymbol)?1:void 0,u=a(r.symbol)?1:void 0,d=f(c,{i18n:S(),receiveSide:r,sourceAmount:e.amount,sendDecimals:n.decimals,sendSymbol:g.currency.assetSymbol,now:Date.now(),...l===void 0?{}:{sendPriceUsd:l},...u===void 0?{}:{receivePriceUsd:u}});w.update({quote:{status:`ready`,payload:d,raw:c,response:c}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));w.update({quote:{status:`error`,error:n}})}},async prepareWithdrawal(e,t){if(await A,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=E;if(!n)throw Error(`Stridge withdraw driver: source currency ${g.currency.assetSymbol} not found on network ${g.currency.networkId} in supportedAssets.`);let r=M(e.receiveChainId,e.receiveTokenSymbol);if(!r)throw Error(`Stridge withdraw driver: receive asset ${e.receiveTokenSymbol} not found on chain ${e.receiveChainId} in supportedAssets.`);let i=await _.gateway.start({owner:g.userAddress,destination:{network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},metadata:j()},{signal:t});if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);let a=i.deposit_addresses.find(e=>Number(e.eip155_id)===n.eip155Id);if(!a)throw Error(`Stridge withdraw driver: no UDA deposit address provisioned on chain ${n.eip155Id} for the brand currency. Check that supportedAssets advertises this chain.`);return D={network_id:r.networkId??String(e.receiveChainId),asset_symbol:r.symbol,to_address:e.recipientAddress},{depositTarget:{address:a.address,chainId:n.eip155Id,tokenSymbol:g.currency.assetSymbol,tokenAddress:n.isNative?``:n.address,tokenDecimals:n.decimals,isNative:n.isNative,amount:e.amount},correlation:{owner:g.userAddress}}},watchSettlement(e,n,r){let i=e=>l(_,g.userAddress,D,e),a=!1;u({signal:r,fetch:i,listener:r=>{if(!r)return;let i=E?o(e.form.amount,E.decimals).toString():void 0,s=e.tx?.hash?t(r,{txHash:e.tx.hash}):t(r,{bestMatch:{destination:{chainId:e.form.receiveChainId,tokenSymbol:e.form.receiveTokenSymbol,recipientAddress:e.form.recipientAddress},submittedAt:e.submittedAt,...i?{sourceAmountBaseUnits:i}:{}}});if(!s)return;let c=S(),l=N(Number(r.destination.eip155_id)),u=l?.tokens.find(e=>e.symbol===r.destination.asset_symbol),d={...l?.chainLogoUrl?{chainLogoUrl:l.chainLogoUrl}:{},...u?.assetLogoUrl?{assetLogoUrl:u.assetLogoUrl}:{},...l?.networkName?{networkName:l.networkName}:{}},f=p(s,r,{i18n:c,explorers:C,...Object.keys(d).length>0?{receiveAssetEnrichment:d}:{},...E?{sendAssetDecimals:E.decimals}:{},...u?.decimals===void 0?{}:{receiveAssetDecimals:u.decimals}});f.kind!==`pending`&&(a=!0);let m={status:`ready`,payload:f,raw:s,response:r};w.update({settlement:m}),n(m)},nextIntervalMs:()=>a?b:y})},watchWithdrawableBalances(e,t,n){u({signal:n,fetch:async e=>{try{return await A,e.aborted?null:await _.balance.onchain(g.userAddress,{signal:e,includeSpam:!1,includeZero:!1})}catch{return null}},listener:e=>{e&&k(e),t(w.getSnapshot().withdrawableBalances)},nextIntervalMs:()=>x})}}}export{g as createStridgeWithdrawDriver};
@@ -1 +1 @@
1
- "use client";import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{formatDurationCompact as t}from"../../shared/format/formatDurationCompact.js";import{formatTimestamp as n}from"../../shared/format/formatTimestamp.js";import{shortenAddress as r}from"../../shared/format/shortenAddress.js";import{supportedAssetsToReceiveOptionsPayload as i}from"../../flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js";import{DEFAULT_MOCK_ASSET as a,buildDefaultSupportedAssetsResponse as o,resolveMockAsset as s}from"./fixtures.js";const c=`0x32995Fb47918BD37133dB46F21c5Ed906140Dd41`,l=`0xd41f5e9e5b1c2c4d8e7a0bf3a9e6c1d2b8f5d4c3e2a1b0c9d8e7f6a5b4c3d2e1`;function u(e){return{symbol:e.symbol,decimals:e.decimals,address:e.address,isNative:e.isNative,assetLogoUrl:e.assetLogoUrl,networkName:e.networkName,eip155Id:e.eip155IdString,networkId:e.networkId,chainLogoUrl:e.chainLogoUrl}}function d(e){return`${e.explorerBase}/tx/`}const f={quote:1400,submit:4e3,processingPendingDelay:1500,processingTerminal:3e3},p=u(a),m=4.00613;function h(e=a){let t=u(e);return[{networkId:t.networkId,networkName:t.networkName,eip155Id:t.eip155Id,...t.chainLogoUrl?{chainLogoUrl:t.chainLogoUrl}:{},symbol:t.symbol,decimals:t.decimals,address:t.address,...t.assetLogoUrl?{assetLogoUrl:t.assetLogoUrl}:{},isNative:t.isNative,amount:{value:4.01,formatted:`4.01`},amountUsd:{value:4.01,formatted:`$4.01`}}]}function g(e=m,t=a){let n=D(e);return{receiveAsset:u(t),receiveAmount:{value:e,formatted:n},receiveAmountUsd:{value:e,formatted:`$${e.toFixed(2)}`},breakdown:{selectedRoute:{provider:`mock`,scenario:`same_chain_same_token`,label:`Mock · same chain same token`},networkCost:{value:0,formatted:`$0.00`},priceImpact:{value:0,formatted:`0.00%`}},quoteTotalSeconds:30,expiresAt:Date.now()+3e4}}function _(t=e,i=m,o=c,s=l,f=a){let p=Date.now();return{kind:`pending`,receiveAsset:u(f),receiveAmount:{value:i,formatted:D(i)},recipient:{value:o,formatted:r(o)},submittedAt:{value:p,formatted:n(p,t)},txHash:{value:s,formatted:r(s)},txExplorerUrl:`${d(f)}${s}`}}function v(i=e,o=m,s=c,f=14,p=l,h=a,g=`0xa17b4c9e2d68f0a5c3b91e7f4d52a86b09c1d7e3f8a4b2c5d6e9f0a1b2c3d4e5`){let _=Date.now(),v=f*1e3,y=_-v;return{kind:`succeeded`,receiveAsset:u(h),receiveAmount:{value:o,formatted:D(o)},recipient:{value:s,formatted:r(s)},submittedAt:{value:y,formatted:n(y,i)},filledAt:{value:_,formatted:n(_,i)},totalTime:{value:f,formatted:t(v,i)},txHash:{value:p,formatted:r(p)},txExplorerUrl:`${d(h)}${p}`,completionTx:{hash:{value:g,formatted:r(g)},explorerUrl:`${d(h)}${g}`}}}function y(t=e,i=`unknown`,o=m,s=c,f=l,p=a){let h=Date.now(),g=h-5e3;return{kind:`failed`,failureKind:i,receiveAsset:u(p),receiveAmount:{value:o,formatted:D(o)},recipient:{value:s,formatted:r(s)},submittedAt:{value:g,formatted:n(g,t)},failedAt:{value:h,formatted:n(h,t)},txHash:{value:f,formatted:r(f)},txExplorerUrl:`${d(p)}${f}`}}function b(t={}){let n={...f,...t.latency},r=t.autoSettleTo??`succeeded`,a=t.pendingTriggerToSuccessMs===void 0?3500:t.pendingTriggerToSuccessMs,d=t.getI18n??(()=>e),p=s(t.asset),b=u(p),S=h(p),D=x(S),O=o(),k=i(O),A={withdrawableBalances:t.initialState?.withdrawableBalances??{status:`ready`,payload:S,raw:D,response:D},receiveOptions:t.initialState?.receiveOptions??{status:`ready`,payload:k,raw:O.assets,response:O},quote:t.initialState?.quote??{status:`idle`},settlement:t.initialState?.settlement??{status:`idle`}},j=A,M=new Set,N=new Set,P=new Set,F=new Set,I=()=>{for(let e of M)e()},L=e=>{if(j={...j,...e},I(),e.settlement)for(let e of N)e(j.settlement);if(e.withdrawableBalances)for(let e of P)e(j.withdrawableBalances)},R=(e,t)=>{let n=setTimeout(()=>{F.delete(n),e()},t);F.add(n)},z=null,B=!1,V=0;function H(){return V+=1,`0x${V.toString(16).padStart(8,`0`)}${l.slice(10)}`}let U={getSnapshot:()=>j,subscribe(e){return M.add(e),()=>{M.delete(e)}},async requestQuote(e,t){L({quote:{status:`loading`}}),await E(n.quote,t);let r=g(e.amount,p),i=C(r,e.amount,b);L({quote:{status:`ready`,payload:r,raw:i,response:i}})},async prepareWithdrawal(e,t){await E(n.submit,t),z={amount:e.amount,recipient:e.recipientAddress};let r=H();return W(e.amount,e.recipientAddress,r,t),{depositTarget:{address:`0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC`,chainId:Number(p.eip155IdString),tokenSymbol:p.symbol,tokenAddress:p.address,tokenDecimals:p.decimals,isNative:p.isNative,amount:e.amount},correlation:{owner:`0x70997970C51812dc3A010C7d01b50e0d17dc79C8`}}},watchSettlement(e,t,n){N.add(t);let r=j.settlement;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>N.delete(t),{once:!0})},watchWithdrawableBalances(e,t,n){P.add(t);let r=j.withdrawableBalances;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>P.delete(t),{once:!0})}};function W(e,t,i,a){B||(B=!0,R(()=>{if(a.aborted){B=!1;return}let o=_(d(),e,t,i,p),s=w(o,b);if(L({settlement:{status:`ready`,payload:o,raw:s,response:T(s,o)}}),r===`none`){B=!1;return}R(()=>{if(B=!1,a.aborted)return;let n=r===`succeeded`?v(d(),e,t,14,i,p):y(d(),`unknown`,e,t,i,p),o=w(n,b);L({settlement:{status:`ready`,payload:n,raw:o,response:T(o,n)}})},n.processingTerminal)},n.processingPendingDelay))}let G={triggerWithdrawalInProgress(e){let{amount:t,recipient:n}=K(),r={..._(d(),t,n,H(),p),...e},i=w(r,b);L({settlement:{status:`ready`,payload:r,raw:i,response:T(i,r)}}),a!==null&&R(()=>G.triggerWithdrawalSuccess(),a)},triggerWithdrawalSuccess(e){let{amount:t,recipient:n}=K(),r={...v(d(),t,n,14,H(),p),...e},i=w(r,b);L({settlement:{status:`ready`,payload:r,raw:i,response:T(i,r)}})},triggerWithdrawalFailed(e,t){let{amount:n,recipient:r}=K(),i={...y(d(),e,n,r,H(),p),...t},a=w(i,b);L({settlement:{status:`ready`,payload:i,raw:a,response:T(a,i)}})},triggerQuoteFailure(e){L({quote:{status:`error`,error:e}})},reset(){for(let e of F)clearTimeout(e);F.clear(),B=!1,z=null,V=0,j=A,I()}};function K(){return{amount:z?.amount??m,recipient:z?.recipient??c}}return{driver:U,triggers:G}}function x(e){let t=e.reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{wallet_address:`0xMockWallet000000000000000000000000000000`,fetched_at:new Date(0).toISOString(),total_usd:t.toFixed(2),chains:e.map(e=>({eip155_id:e.eip155Id?Number(e.eip155Id):0,stridge_network_id:e.networkId??``,network_name:e.networkName.toLowerCase(),label:e.networkName,scanner_url:``,native_symbol:``,subtotal_usd:(e.amountUsd?.value??0).toFixed(2),tokens:[{token_address:e.address,symbol:e.symbol,name:e.symbol,decimals:e.decimals,logo:e.assetLogoUrl??``,is_native:e.isNative,is_spam:!1,raw_amount:S(e.amount.value,e.decimals).toString(),amount:e.amount.value.toString(),amount_usd:(e.amountUsd?.value??0).toFixed(2),usd_price:e.amount.value>0?((e.amountUsd?.value??0)/e.amount.value).toFixed(6):`0`,price_change_24h_pct:`0`}]}))}}function S(e,t){if(!Number.isFinite(e)||e<0)return 0n;let[n,r=``]=e.toFixed(t).split(`.`),i=r.padEnd(t,`0`).slice(0,t);return BigInt((n??`0`)+i)}function C(e,t,n=p){let r=S(e.receiveAmount.value,e.receiveAsset.decimals).toString(),i=S(t,n.decimals).toString(),a=t>0?(e.receiveAmount.value/t).toFixed(6):`1`;return{from:{network_id:Number(n.eip155Id??56),asset_address:n.address,amount:i},to:{network_id:Number(e.receiveAsset.eip155Id??56),asset_address:e.receiveAsset.address,amount:r},exchange_rate:a,fees:{total_fee:`0`},route:{provider:`mock`,scenario:`same_chain_same_token`,estimated_time_seconds:30},expires_at:new Date(e.expiresAt).toISOString()}}function w(e,t=p){let n=new Date(e.submittedAt.value).toISOString(),r=e.kind===`succeeded`?`completed`:e.kind===`failed`?`failed`:`routing`,i=e.kind===`succeeded`?e.filledAt.value:e.kind===`failed`?e.failedAt.value:e.submittedAt.value,a={tx_id:(e.kind===`succeeded`?e.txHash.value:e.txHash?.value)??``,asset_symbol:t.symbol,asset_address:t.address,eip155_id:t.eip155Id??`56`,network_id:t.networkId??`9006`,network_name:t.networkName.toLowerCase(),raw_amount:S(e.receiveAmount.value,t.decimals).toString(),amount:e.receiveAmount.value.toString(),confirmed_at:n},o={address:e.recipient.value,asset_address:e.receiveAsset.address,asset_symbol:e.receiveAsset.symbol,eip155_id:e.receiveAsset.eip155Id??``,network_id:e.receiveAsset.networkId??``,network_name:e.receiveAsset.networkName.toLowerCase(),raw_amount:S(e.receiveAmount.value,e.receiveAsset.decimals).toString(),amount:e.receiveAmount.value.toString(),...e.kind===`succeeded`?{settled_at:new Date(e.filledAt.value).toISOString(),...e.completionTx?{tx_id:e.completionTx.hash.value}:{}}:{}};return{id:`mock-settlement-${e.recipient.value}-${a.tx_id}`,status:r,created_at:n,updated_at:new Date(i).toISOString(),events:[],fees:{raw_amount:`0`},from:a,to:o,route:{provider:`mock`,scenario:`withdraw_v1`},...e.kind===`failed`?{error:e.failureKind}:{}}}function T(e,t){let n=t.kind!==`pending`;return{owner:`0xMockOwner`,uda_id:`mock-uda`,created_at:e.created_at,updated_at:e.updated_at,is_terminal:n,status:t.kind===`succeeded`?`completed`:t.kind===`failed`?`failed`:`to_pending`,destination:{address:t.recipient.value,asset_address:t.receiveAsset.address,asset_decimals:t.receiveAsset.decimals,asset_symbol:t.receiveAsset.symbol,eip155_id:t.receiveAsset.eip155Id??``,network_id:t.receiveAsset.networkId??``,network_name:t.receiveAsset.networkName},settlements:[e]}}function E(e,t){return new Promise((n,r)=>{if(t.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),t.removeEventListener(`abort`,a),r(new DOMException(`Aborted`,`AbortError`))};t.addEventListener(`abort`,a)})}function D(e){return Number.isInteger(e)?e.toFixed(2):e.toFixed(5)}export{h as buildDefaultWithdrawableBalances,y as buildDefaultWithdrawalFailurePayload,_ as buildDefaultWithdrawalPendingPayload,g as buildDefaultWithdrawalQuotePayload,v as buildDefaultWithdrawalSuccessPayload,b as createStridgeMockWithdrawDriver};
1
+ "use client";import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{formatDurationCompact as t}from"../../shared/format/formatDurationCompact.js";import{formatTimestamp as n}from"../../shared/format/formatTimestamp.js";import{formatUsd as r}from"../../shared/format/formatUsd.js";import{shortenAddress as i}from"../../shared/format/shortenAddress.js";import{supportedAssetsToReceiveOptionsPayload as a}from"../../flows/withdraw/driver/transformers/supportedAssetsToReceiveOptionsPayload.js";import{DEFAULT_MOCK_ASSET as o,buildDefaultSupportedAssetsResponse as s,resolveMockAsset as c}from"./fixtures.js";const l=`0x32995Fb47918BD37133dB46F21c5Ed906140Dd41`,u=`0xd41f5e9e5b1c2c4d8e7a0bf3a9e6c1d2b8f5d4c3e2a1b0c9d8e7f6a5b4c3d2e1`;function d(e){return{symbol:e.symbol,decimals:e.decimals,address:e.address,isNative:e.isNative,assetLogoUrl:e.assetLogoUrl,networkName:e.networkName,eip155Id:e.eip155IdString,networkId:e.networkId,chainLogoUrl:e.chainLogoUrl}}function f(e){return`${e.explorerBase}/tx/`}const p={quote:1400,submit:4e3,processingPendingDelay:1500,processingTerminal:3e3},m=d(o),h=4.00613;function g(e=o){let t=d(e);return[{networkId:t.networkId,networkName:t.networkName,eip155Id:t.eip155Id,...t.chainLogoUrl?{chainLogoUrl:t.chainLogoUrl}:{},symbol:t.symbol,decimals:t.decimals,address:t.address,...t.assetLogoUrl?{assetLogoUrl:t.assetLogoUrl}:{},isNative:t.isNative,amount:{value:4.01,formatted:`4.01`},amountUsd:{value:4.01,formatted:`$4.01`}}]}function _(e=h,t=o){let n=O(e);return{receiveAsset:d(t),receiveAmount:{value:e,formatted:n},receiveAmountUsd:{value:e,formatted:`$${e.toFixed(2)}`},breakdown:{selectedRoute:{provider:`mock`,scenario:`same_chain_same_token`,label:`Mock · same chain same token`},networkCost:{value:0,formatted:`$0.00`},priceImpact:{value:0,formatted:`0.00%`}},quoteTotalSeconds:30,expiresAt:Date.now()+3e4}}function v(t=e,a=h,s=l,c=u,p=o){let m=Date.now();return{kind:`pending`,receiveAsset:d(p),receiveAmount:{value:a,formatted:O(a)},receiveAmountUsd:{value:a,formatted:r(a,t)},recipient:{value:s,formatted:i(s)},submittedAt:{value:m,formatted:n(m,t)},txHash:{value:c,formatted:i(c)},txExplorerUrl:`${f(p)}${c}`}}function y(r=e,a=h,s=l,c=14,p=u,m=o,g=`0xa17b4c9e2d68f0a5c3b91e7f4d52a86b09c1d7e3f8a4b2c5d6e9f0a1b2c3d4e5`){let _=Date.now(),v=c*1e3,y=_-v;return{kind:`succeeded`,receiveAsset:d(m),receiveAmount:{value:a,formatted:O(a)},recipient:{value:s,formatted:i(s)},submittedAt:{value:y,formatted:n(y,r)},filledAt:{value:_,formatted:n(_,r)},totalTime:{value:c,formatted:t(v,r)},txHash:{value:p,formatted:i(p)},txExplorerUrl:`${f(m)}${p}`,completionTx:{hash:{value:g,formatted:i(g)},explorerUrl:`${f(m)}${g}`}}}function b(t=e,r=`unknown`,a=h,s=l,c=u,p=o){let m=Date.now(),g=m-5e3;return{kind:`failed`,failureKind:r,receiveAsset:d(p),receiveAmount:{value:a,formatted:O(a)},recipient:{value:s,formatted:i(s)},submittedAt:{value:g,formatted:n(g,t)},failedAt:{value:m,formatted:n(m,t)},txHash:{value:c,formatted:i(c)},txExplorerUrl:`${f(p)}${c}`}}function x(t={}){let n={...p,...t.latency},r=t.autoSettleTo??`succeeded`,i=t.pendingTriggerToSuccessMs===void 0?3500:t.pendingTriggerToSuccessMs,o=t.getI18n??(()=>e),f=c(t.asset),m=d(f),x=g(f),C=S(x),O=s(),k=a(O),A={withdrawableBalances:t.initialState?.withdrawableBalances??{status:`ready`,payload:x,raw:C,response:C},receiveOptions:t.initialState?.receiveOptions??{status:`ready`,payload:k,raw:O.assets,response:O},quote:t.initialState?.quote??{status:`idle`},settlement:t.initialState?.settlement??{status:`idle`}},j=A,M=new Set,N=new Set,P=new Set,F=new Set,I=()=>{for(let e of M)e()},L=e=>{if(j={...j,...e},I(),e.settlement)for(let e of N)e(j.settlement);if(e.withdrawableBalances)for(let e of P)e(j.withdrawableBalances)},R=(e,t)=>{let n=setTimeout(()=>{F.delete(n),e()},t);F.add(n)},z=null,B=!1,V=0;function H(){return V+=1,`0x${V.toString(16).padStart(8,`0`)}${u.slice(10)}`}let U={getSnapshot:()=>j,subscribe(e){return M.add(e),()=>{M.delete(e)}},async requestQuote(e,t){L({quote:{status:`loading`}}),await D(n.quote,t);let r=_(e.amount,f),i=w(r,e.amount,m);L({quote:{status:`ready`,payload:r,raw:i,response:i}})},async prepareWithdrawal(e,t){await D(n.submit,t),z={amount:e.amount,recipient:e.recipientAddress};let r=H();return W(e.amount,e.recipientAddress,r,t),{depositTarget:{address:`0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC`,chainId:Number(f.eip155IdString),tokenSymbol:f.symbol,tokenAddress:f.address,tokenDecimals:f.decimals,isNative:f.isNative,amount:e.amount},correlation:{owner:`0x70997970C51812dc3A010C7d01b50e0d17dc79C8`}}},watchSettlement(e,t,n){N.add(t);let r=j.settlement;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>N.delete(t),{once:!0})},watchWithdrawableBalances(e,t,n){P.add(t);let r=j.withdrawableBalances;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>P.delete(t),{once:!0})}};function W(e,t,i,a){B||(B=!0,R(()=>{if(a.aborted){B=!1;return}let s=v(o(),e,t,i,f),c=T(s,m);if(L({settlement:{status:`ready`,payload:s,raw:c,response:E(c,s)}}),r===`none`){B=!1;return}R(()=>{if(B=!1,a.aborted)return;let n=r===`succeeded`?y(o(),e,t,14,i,f):b(o(),`unknown`,e,t,i,f),s=T(n,m);L({settlement:{status:`ready`,payload:n,raw:s,response:E(s,n)}})},n.processingTerminal)},n.processingPendingDelay))}let G={triggerWithdrawalInProgress(e){let{amount:t,recipient:n}=K(),r={...v(o(),t,n,H(),f),...e},a=T(r,m);L({settlement:{status:`ready`,payload:r,raw:a,response:E(a,r)}}),i!==null&&R(()=>G.triggerWithdrawalSuccess(),i)},triggerWithdrawalSuccess(e){let{amount:t,recipient:n}=K(),r={...y(o(),t,n,14,H(),f),...e},i=T(r,m);L({settlement:{status:`ready`,payload:r,raw:i,response:E(i,r)}})},triggerWithdrawalFailed(e,t){let{amount:n,recipient:r}=K(),i={...b(o(),e,n,r,H(),f),...t},a=T(i,m);L({settlement:{status:`ready`,payload:i,raw:a,response:E(a,i)}})},triggerQuoteFailure(e){L({quote:{status:`error`,error:e}})},reset(){for(let e of F)clearTimeout(e);F.clear(),B=!1,z=null,V=0,j=A,I()}};function K(){return{amount:z?.amount??h,recipient:z?.recipient??l}}return{driver:U,triggers:G}}function S(e){let t=e.reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{wallet_address:`0xMockWallet000000000000000000000000000000`,fetched_at:new Date(0).toISOString(),total_usd:t.toFixed(2),chains:e.map(e=>({eip155_id:e.eip155Id?Number(e.eip155Id):0,stridge_network_id:e.networkId??``,network_name:e.networkName.toLowerCase(),label:e.networkName,scanner_url:``,native_symbol:``,subtotal_usd:(e.amountUsd?.value??0).toFixed(2),tokens:[{token_address:e.address,symbol:e.symbol,name:e.symbol,decimals:e.decimals,logo:e.assetLogoUrl??``,is_native:e.isNative,is_spam:!1,raw_amount:C(e.amount.value,e.decimals).toString(),amount:e.amount.value.toString(),amount_usd:(e.amountUsd?.value??0).toFixed(2),usd_price:e.amount.value>0?((e.amountUsd?.value??0)/e.amount.value).toFixed(6):`0`,price_change_24h_pct:`0`}]}))}}function C(e,t){if(!Number.isFinite(e)||e<0)return 0n;let[n,r=``]=e.toFixed(t).split(`.`),i=r.padEnd(t,`0`).slice(0,t);return BigInt((n??`0`)+i)}function w(e,t,n=m){let r=C(e.receiveAmount.value,e.receiveAsset.decimals).toString(),i=C(t,n.decimals).toString(),a=t>0?(e.receiveAmount.value/t).toFixed(6):`1`;return{from:{network_id:Number(n.eip155Id??56),asset_address:n.address,amount:i},to:{network_id:Number(e.receiveAsset.eip155Id??56),asset_address:e.receiveAsset.address,amount:r},exchange_rate:a,fees:{total_fee:`0`},route:{provider:`mock`,scenario:`same_chain_same_token`,estimated_time_seconds:30},expires_at:new Date(e.expiresAt).toISOString()}}function T(e,t=m){let n=new Date(e.submittedAt.value).toISOString(),r=e.kind===`succeeded`?`completed`:e.kind===`failed`?`failed`:`routing`,i=e.kind===`succeeded`?e.filledAt.value:e.kind===`failed`?e.failedAt.value:e.submittedAt.value,a={tx_id:(e.kind===`succeeded`?e.txHash.value:e.txHash?.value)??``,asset_symbol:t.symbol,asset_address:t.address,eip155_id:t.eip155Id??`56`,network_id:t.networkId??`9006`,network_name:t.networkName.toLowerCase(),raw_amount:C(e.receiveAmount.value,t.decimals).toString(),amount:e.receiveAmount.value.toString(),confirmed_at:n},o={address:e.recipient.value,asset_address:e.receiveAsset.address,asset_symbol:e.receiveAsset.symbol,eip155_id:e.receiveAsset.eip155Id??``,network_id:e.receiveAsset.networkId??``,network_name:e.receiveAsset.networkName.toLowerCase(),raw_amount:C(e.receiveAmount.value,e.receiveAsset.decimals).toString(),amount:e.receiveAmount.value.toString(),...e.kind===`succeeded`?{settled_at:new Date(e.filledAt.value).toISOString(),...e.completionTx?{tx_id:e.completionTx.hash.value}:{}}:{}};return{id:`mock-settlement-${e.recipient.value}-${a.tx_id}`,status:r,created_at:n,updated_at:new Date(i).toISOString(),events:[],fees:{raw_amount:`0`},from:a,to:o,route:{provider:`mock`,scenario:`withdraw_v1`},...e.kind===`failed`?{error:e.failureKind}:{}}}function E(e,t){let n=t.kind!==`pending`;return{owner:`0xMockOwner`,uda_id:`mock-uda`,created_at:e.created_at,updated_at:e.updated_at,is_terminal:n,status:t.kind===`succeeded`?`completed`:t.kind===`failed`?`failed`:`to_pending`,destination:{address:t.recipient.value,asset_address:t.receiveAsset.address,asset_decimals:t.receiveAsset.decimals,asset_symbol:t.receiveAsset.symbol,eip155_id:t.receiveAsset.eip155Id??``,network_id:t.receiveAsset.networkId??``,network_name:t.receiveAsset.networkName},settlements:[e]}}function D(e,t){return new Promise((n,r)=>{if(t.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),t.removeEventListener(`abort`,a),r(new DOMException(`Aborted`,`AbortError`))};t.addEventListener(`abort`,a)})}function O(e){return Number.isInteger(e)?e.toFixed(2):e.toFixed(5)}export{g as buildDefaultWithdrawableBalances,b as buildDefaultWithdrawalFailurePayload,v as buildDefaultWithdrawalPendingPayload,_ as buildDefaultWithdrawalQuotePayload,y as buildDefaultWithdrawalSuccessPayload,x as createStridgeMockWithdrawDriver};
@@ -5,16 +5,10 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
5
  * QR code part — renders the deposit address as a QR code with the
6
6
  * selected chain's logo punched out at the center.
7
7
  *
8
- * The arena is rendered inside an SVG `<foreignObject>` whose
9
- * coordinate system is the QR's viewBox (cells, ~33 user units across)
10
- * rather than CSS pixels. So `px` values on HTML descendants get
11
- * scaled by the SVG factor (~4.85× for a 160-pixel QR with a 33-cell
12
- * grid) — `height: 36px` on the icon turned into ~175 actual pixels
13
- * and the SVG ballooned. Percentages resolve correctly because they
14
- * stay in the local user-unit space, so the img sizes against Cuer's
15
- * arena `<foreignObject>` width/height directly. `object-fit: contain`
16
- * preserves aspect ratio so chain logos with non-square viewBoxes
17
- * (Ethereum is 784×1277) don't squish.
8
+ * The logo is rendered via `Cuer.Arena` as a native SVG `<image>`
9
+ * `preserveAspectRatio="xMidYMid meet"` (the SVG equivalent of
10
+ * `object-fit: contain`) keeps non-square chain artwork from squishing,
11
+ * and the SVG coordinate system places it exactly on the QR centre.
18
12
  */
19
13
  declare function TransferCryptoQrCode(): _$react_jsx_runtime0.JSX.Element;
20
14
  //#endregion
@@ -1 +1 @@
1
- "use client";import{resolveChainLogoChain as e}from"../../../../../../shared/utils/logos/resolveLogoSrc.js";import"../../../../../../shared/utils/logos/index.js";import{useTransferCryptoContext as t}from"../context.js";import{TRANSFER_CRYPTO_SLOTS as n}from"../TransferCrypto.slots.js";import{styles as r}from"../TransferCrypto.styles.js";import{Cuer as i}from"../../../../../../shared/cuer/Cuer.js";import"../../../../../../shared/cuer/index.js";import{useEffect as a,useState as o}from"react";import{jsx as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l(){let l=t(`TransferCrypto.QrCode`),u=e({...l.chain.chainId===void 0?{}:{chainId:l.chain.chainId},...l.chain.logoUrl===void 0?{}:{chainLogoUrl:l.chain.logoUrl}}),[d,f]=o(0);a(()=>{f(0)},[u.join(`|`)]);let p=u[d];return s(`div`,{"data-stridge-slot":n.qr,...c.props(r.qrFrame),children:s(i,{value:l.depositAddress,size:160,arena:p?s(`img`,{src:p,alt:l.chain.symbol,"data-stridge-slot":n.qrArena,onError:()=>{d<u.length-1&&f(d+1)},style:{width:`100%`,height:`100%`,objectFit:`contain`,display:`block`,borderRadius:`var(--stridge-kit-radius-lg)`}},p):null,...c.props(r.qrSvg)})})}export{l as TransferCryptoQrCode};
1
+ "use client";import{resolveChainLogoChain as e}from"../../../../../../shared/utils/logos/resolveLogoSrc.js";import"../../../../../../shared/utils/logos/index.js";import{useTransferCryptoContext as t}from"../context.js";import{TRANSFER_CRYPTO_SLOTS as n}from"../TransferCrypto.slots.js";import{styles as r}from"../TransferCrypto.styles.js";import{Cuer as i}from"../../../../../../shared/cuer/Cuer.js";import"../../../../../../shared/cuer/index.js";import{useEffect as a,useState as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import*as l from"@stylexjs/stylex";function u(){let u=t(`TransferCrypto.QrCode`),d=e({...u.chain.chainId===void 0?{}:{chainId:u.chain.chainId},...u.chain.logoUrl===void 0?{}:{chainLogoUrl:u.chain.logoUrl}}),[f,p]=o(0);a(()=>{p(0)},[d.join(`|`)]);let m=d[f];return s(`div`,{"data-stridge-slot":n.qr,...l.props(r.qrFrame),children:c(i.Root,{value:u.depositAddress,size:160,...l.props(r.qrSvg),children:[s(i.Finder,{}),s(i.Cells,{}),m&&s(i.Arena,{href:m,"aria-label":u.chain.symbol,"data-stridge-slot":n.qrArena,onError:()=>{f<d.length-1&&p(f+1)}},m)]})})}export{u as TransferCryptoQrCode};
@@ -110,6 +110,12 @@ interface WithdrawalSettlementPendingPayload {
110
110
  kind: "pending";
111
111
  receiveAsset: WithdrawalReceiveAssetPayload;
112
112
  receiveAmount: FormattedField<number>;
113
+ /**
114
+ * USD value of `receiveAmount` at the settlement leg's price snapshot. Sourced from the
115
+ * gateway leg's `amount_usd` (`to` preferred, `from` fallback). Omitted when neither leg
116
+ * carries a priced amount — the in-progress hero then falls back to the quote's USD figure.
117
+ */
118
+ receiveAmountUsd?: FormattedField<number>;
113
119
  /** Recipient address — the destination the user supplied on the form. */
114
120
  recipient: FormattedField<string>;
115
121
  /** Unix-ms timestamp when the withdrawal was submitted. */
@@ -1 +1 @@
1
- import{classifyFailureKind as e,classifySettlementStatus as t}from"../../../shared/transformers/classifySettlementStatus.js";import{parseDecimalSafe as n,parseSmallestUnit as r}from"../../../shared/transformers/parseSmallestUnit.js";import{parseIsoMs as i}from"../../../shared/transformers/parseIsoMs.js";import{formatDurationCompact as a}from"../../../../shared/format/formatDurationCompact.js";import{formatTimestamp as o}from"../../../../shared/format/formatTimestamp.js";import{formatTokenAmount as s}from"../../../../shared/format/formatTokenAmount.js";import{shortenAddress as c}from"../../../../shared/format/shortenAddress.js";function l(e,n,r){let i=t(e.status);return i===`completed`?d(e,n,r):i===`failed`?f(e,n,r):u(e,n,r)}function u(e,t,n){let r=e.from,a=e.to,l=i(r?.confirmed_at)??i(e.created_at)??Date.now(),u=p(t,n),d=m(a,t.destination.asset_decimals)||m(r,r?.asset_decimals??t.destination.asset_decimals),f=t.destination.address,g=r?.tx_id,_=r?.eip155_id===void 0?void 0:Number(r.eip155_id);return{kind:`pending`,receiveAsset:u,receiveAmount:{value:d,formatted:s(d,n.i18n,{maxDecimals:t.destination.asset_decimals})},recipient:{value:f,formatted:c(f)},submittedAt:{value:l,formatted:o(l,n.i18n)},...g?{txHash:{value:g,formatted:c(g)},...h(n,_,g)?{txExplorerUrl:h(n,_,g)}:{}}:{}}}function d(e,t,n){let r=e.from,l=e.to,u=i(r?.confirmed_at)??i(e.created_at)??Date.now(),d=i(l?.settled_at)??i(e.updated_at)??Date.now(),f=Math.max(0,d-u),_=Math.round(f/1e3),v=p(t,n),y=m(l,t.destination.asset_decimals),b=t.destination.address,x=r?.tx_id??``,S=r?.eip155_id===void 0?void 0:Number(r.eip155_id),C=l?.tx_id,w=h(n,g(l?.eip155_id)??g(t.destination.eip155_id),C);return{kind:`succeeded`,receiveAsset:v,receiveAmount:{value:y,formatted:s(y,n.i18n,{maxDecimals:t.destination.asset_decimals})},recipient:{value:b,formatted:c(b)},submittedAt:{value:u,formatted:o(u,n.i18n)},filledAt:{value:d,formatted:o(d,n.i18n)},totalTime:{value:_,formatted:a(f,n.i18n)},txHash:{value:x,formatted:x?c(x):``},...h(n,S,x)?{txExplorerUrl:h(n,S,x)}:{},...C?{completionTx:{hash:{value:C,formatted:c(C)},...w?{explorerUrl:w}:{}}}:{}}}function f(t,n,r){let a=t.from,l=i(a?.confirmed_at)??i(t.created_at)??Date.now(),u=i(t.updated_at)??Date.now(),d=p(n,r),f=n.destination.address,m=a?.tx_id,g=a?.eip155_id===void 0?void 0:Number(a.eip155_id);return{kind:`failed`,failureKind:e(t.error),receiveAsset:d,receiveAmount:{value:0,formatted:s(0,r.i18n)},recipient:{value:f,formatted:c(f)},submittedAt:{value:l,formatted:o(l,r.i18n)},failedAt:{value:u,formatted:o(u,r.i18n)},...m?{txHash:{value:m,formatted:c(m)},...h(r,g,m)?{txExplorerUrl:h(r,g,m)}:{}}:{}}}function p(e,t){let n=t.receiveAssetEnrichment,r=Number(e.destination.eip155_id);return{symbol:e.destination.asset_symbol,decimals:e.destination.asset_decimals,address:e.destination.asset_address,isNative:!e.destination.asset_address,...n?.assetLogoUrl?{assetLogoUrl:n.assetLogoUrl}:{},networkId:e.destination.network_id,networkName:n?.networkName??e.destination.network_name,...Number.isFinite(r)?{eip155Id:e.destination.eip155_id}:{},...n?.chainLogoUrl?{chainLogoUrl:n.chainLogoUrl}:{}}}function m(e,t){if(!e)return 0;if(e.amount){let t=n(e.amount);if(t>0)return t}return e.raw_amount?r(e.raw_amount,t):0}function h(e,t,n){if(!n||t===void 0)return;let r=e.explorers?.[t];if(r)return`${r.replace(/\/+$/,``)}/tx/${n}`}function g(e){if(e==null||e===``)return;let t=Number(e);return Number.isFinite(t)?t:void 0}export{l as settlementToWithdrawalPayload};
1
+ import{classifyFailureKind as e,classifySettlementStatus as t}from"../../../shared/transformers/classifySettlementStatus.js";import{parseDecimalSafe as n,parseSmallestUnit as r}from"../../../shared/transformers/parseSmallestUnit.js";import{parseIsoMs as i}from"../../../shared/transformers/parseIsoMs.js";import{formatDurationCompact as a}from"../../../../shared/format/formatDurationCompact.js";import{formatTimestamp as o}from"../../../../shared/format/formatTimestamp.js";import{formatTokenAmount as s}from"../../../../shared/format/formatTokenAmount.js";import{formatUsd as c}from"../../../../shared/format/formatUsd.js";import{shortenAddress as l}from"../../../../shared/format/shortenAddress.js";function u(e,n,r){let i=t(e.status);return i===`completed`?f(e,n,r):i===`failed`?p(e,n,r):d(e,n,r)}function d(e,t,r){let a=e.from,u=e.to,d=i(a?.confirmed_at)??i(e.created_at)??Date.now(),f=m(t,r),p=g(u,t,r),y=_(a,t,r),b=h(u,p)||h(a,y),x=n(u?.amount_usd)||n(a?.amount_usd),S=t.destination.address,C=a?.tx_id,w=a?.eip155_id===void 0?void 0:Number(a.eip155_id);return{kind:`pending`,receiveAsset:f,receiveAmount:{value:b,formatted:s(b,r.i18n,{maxDecimals:p})},...x>0?{receiveAmountUsd:{value:x,formatted:c(x,r.i18n)}}:{},recipient:{value:S,formatted:l(S)},submittedAt:{value:d,formatted:o(d,r.i18n)},...C?{txHash:{value:C,formatted:l(C)},...v(r,w,C)?{txExplorerUrl:v(r,w,C)}:{}}:{}}}function f(e,t,n){let r=e.from,c=e.to,u=i(r?.confirmed_at)??i(e.created_at)??Date.now(),d=i(c?.settled_at)??i(e.updated_at)??Date.now(),f=Math.max(0,d-u),p=Math.round(f/1e3),_=m(t,n),b=g(c,t,n),x=h(c,b),S=t.destination.address,C=r?.tx_id??``,w=r?.eip155_id===void 0?void 0:Number(r.eip155_id),T=c?.tx_id,E=v(n,y(c?.eip155_id)??y(t.destination.eip155_id),T);return{kind:`succeeded`,receiveAsset:_,receiveAmount:{value:x,formatted:s(x,n.i18n,{maxDecimals:b})},recipient:{value:S,formatted:l(S)},submittedAt:{value:u,formatted:o(u,n.i18n)},filledAt:{value:d,formatted:o(d,n.i18n)},totalTime:{value:p,formatted:a(f,n.i18n)},txHash:{value:C,formatted:C?l(C):``},...v(n,w,C)?{txExplorerUrl:v(n,w,C)}:{},...T?{completionTx:{hash:{value:T,formatted:l(T)},...E?{explorerUrl:E}:{}}}:{}}}function p(t,n,r){let a=t.from,c=i(a?.confirmed_at)??i(t.created_at)??Date.now(),u=i(t.updated_at)??Date.now(),d=m(n,r),f=n.destination.address,p=a?.tx_id,h=a?.eip155_id===void 0?void 0:Number(a.eip155_id);return{kind:`failed`,failureKind:e(t.error),receiveAsset:d,receiveAmount:{value:0,formatted:s(0,r.i18n)},recipient:{value:f,formatted:l(f)},submittedAt:{value:c,formatted:o(c,r.i18n)},failedAt:{value:u,formatted:o(u,r.i18n)},...p?{txHash:{value:p,formatted:l(p)},...v(r,h,p)?{txExplorerUrl:v(r,h,p)}:{}}:{}}}function m(e,t){let n=t.receiveAssetEnrichment,r=Number(e.destination.eip155_id);return{symbol:e.destination.asset_symbol,decimals:e.destination.asset_decimals,address:e.destination.asset_address,isNative:!e.destination.asset_address,...n?.assetLogoUrl?{assetLogoUrl:n.assetLogoUrl}:{},networkId:e.destination.network_id,networkName:n?.networkName??e.destination.network_name,...Number.isFinite(r)?{eip155Id:e.destination.eip155_id}:{},...n?.chainLogoUrl?{chainLogoUrl:n.chainLogoUrl}:{}}}function h(e,t){if(!e)return 0;if(e.amount){let t=n(e.amount);if(t>0)return t}return e.raw_amount?r(e.raw_amount,t):0}function g(e,t,n){return n.receiveAssetDecimals??e?.asset_decimals??t.destination.asset_decimals}function _(e,t,n){return n.sendAssetDecimals??e?.asset_decimals??t.destination.asset_decimals}function v(e,t,n){if(!n||t===void 0)return;let r=e.explorers?.[t];if(r)return`${r.replace(/\/+$/,``)}/tx/${n}`}function y(e){if(e==null||e===``)return;let t=Number(e);return Number.isFinite(t)?t:void 0}export{u as settlementToWithdrawalPayload};
@@ -11,6 +11,7 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
11
11
  * - The single broadcast hash is surfaced through `<SourceTxRow>` with the "Withdrawal tx" label.
12
12
  * - No "Detected" row (no indexer step in the withdraw flow).
13
13
  * - Hero subcaption is the recipient address (truncated) — passed through `creditedTo`.
14
+ * - Hero promotes the USD figure (`amountUsd`) over the token amount, which drops to a subline.
14
15
  *
15
16
  * Renders only while the FSM is on `inProgress`.
16
17
  */
@@ -1 +1 @@
1
- "use client";import{useLingui as e}from"../../../../shared/i18n/useLingui.js";import"../../../../i18n/index.js";import{useWithdrawSnapshot as t}from"../../driver/context.js";import{useWithdrawActions as n,useWithdrawEffectiveState as r}from"../../orchestrator/controller.js";import{formatTokenAmount as i}from"../../../../shared/format/formatTokenAmount.js";import{ProcessingState as a}from"../../../../shared/widgets/processing-state/compound/ProcessingState.js";import"../../../../shared/widgets/processing-state/compound/index.js";import{toAssetDescriptor as o}from"../../../../shared/widgets/asset-descriptor.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";function l(l){let u=t(),d=r(),{close:f}=n(),{_:p,i18n:m}=e(),h=u.settlement,g=(h.status===`ready`||h.status===`stale`)&&h.payload.kind===`pending`?h.payload:void 0;if(d.name!==`inProgress`)return null;let _=d.ctx.input,v=g?.txHash?.formatted,y=g?.txExplorerUrl,b=g?.recipient.formatted,x=g?.receiveAsset,S=g?.receiveAmount,C=S&&S.value>0?S.formatted:i(_.amount,m,{...x?.decimals===void 0?{}:{maxDecimals:x.decimals}}),w=x?.symbol??_.receiveTokenSymbol,T=o(x)??{symbol:w},E=v?{hash:v,explorerUrl:y}:void 0;return c(a,{...l,headerTitle:p({id:`w-2VR9`,message:`Withdrawal in progress…`}),amount:C,creditedAsset:T,creditedTo:b,sourceTx:E,submittedAt:g?.submittedAt.formatted,onClose:f,children:[s(a.Header,{}),c(a.Body,{children:[s(a.Hero,{}),s(a.StatusPill,{}),c(a.Details,{children:[s(a.SourceTxRow,{label:p({id:`60ahSE`,message:`Withdrawal tx`})}),s(a.SubmittedAtRow,{})]})]}),s(a.Actions,{})]})}export{l as WithdrawInProgress};
1
+ "use client";import{useLingui as e}from"../../../../shared/i18n/useLingui.js";import"../../../../i18n/index.js";import{useWithdrawSnapshot as t}from"../../driver/context.js";import{useWithdrawActions as n,useWithdrawEffectiveState as r}from"../../orchestrator/controller.js";import{formatTokenAmount as i}from"../../../../shared/format/formatTokenAmount.js";import{ProcessingState as a}from"../../../../shared/widgets/processing-state/compound/ProcessingState.js";import"../../../../shared/widgets/processing-state/compound/index.js";import{toAssetDescriptor as o}from"../../../../shared/widgets/asset-descriptor.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";function l(l){let u=t(),d=r(),{close:f}=n(),{_:p,i18n:m}=e(),h=u.settlement,g=(h.status===`ready`||h.status===`stale`)&&h.payload.kind===`pending`?h.payload:void 0;if(d.name!==`inProgress`)return null;let _=d.ctx.input,v=g?.txHash?.formatted,y=g?.txExplorerUrl,b=g?.recipient.formatted,x=g?.receiveAsset,S=g?.receiveAmount,C=S&&S.value>0?S.formatted:i(_.amount,m,{...x?.decimals===void 0?{}:{maxDecimals:x.decimals}}),w=x?.symbol??_.receiveTokenSymbol,T=o(x)??{symbol:w},E=u.quote,D=E.status===`ready`||E.status===`stale`?E.payload:void 0,O=g?.receiveAmountUsd?.formatted??D?.receiveAmountUsd?.formatted,k=v?{hash:v,explorerUrl:y}:void 0;return c(a,{...l,headerTitle:p({id:`w-2VR9`,message:`Withdrawal in progress…`}),amount:C,...O?{amountUsd:O}:{},creditedAsset:T,creditedTo:b,sourceTx:k,submittedAt:g?.submittedAt.formatted,onClose:f,children:[s(a.Header,{}),c(a.Body,{children:[s(a.Hero,{}),s(a.StatusPill,{}),c(a.Details,{children:[s(a.SourceTxRow,{label:p({id:`60ahSE`,message:`Withdrawal tx`})}),s(a.SubmittedAtRow,{})]})]}),s(a.Actions,{})]})}export{l as WithdrawInProgress};
package/dist/package.js CHANGED
@@ -1 +1 @@
1
- var e=`0.1.0-alpha.21`;export{e as version};
1
+ var e=`0.1.0-alpha.23`;export{e as version};
@@ -1 +1 @@
1
- import{create as e}from"./QrCode.js";import*as t from"react";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";const a=e=>Math.max(0,Math.min(1,e));function o(e){let{arena:t,...n}=e;return i(o.Root,{...n,children:[r(o.Finder,{}),r(o.Cells,{}),t&&r(o.Arena,{children:typeof t==`string`?r(`img`,{alt:`Arena`,src:t,style:{borderRadius:1,height:`100%`,objectFit:`cover`,width:`100%`}}):t})]})}(function(o){let s=o.Context=t.createContext(null);function c(n){let{children:a,size:o=`100%`,value:c,version:l,errorCorrection:u,...d}=n,f=t.useMemo(()=>(t.Children.map(a,e=>!t.isValidElement(e)||typeof e.type==`string`?null:`displayName`in e.type&&e.type.displayName===`Arena`?!0:null)??[]).some(Boolean),[a]),p=t.useMemo(()=>{let t=u;return f&&u===`low`&&(t=`medium`),e(c,{errorCorrection:t,version:l})},[c,f,u,l]),m=p.edgeLength*1,h=p.finderLength*1/2,g=f?Math.floor(m/4):0,_=t.useMemo(()=>({arenaSize:g,cellSize:1,edgeSize:m,qrcode:p,finderSize:h}),[g,m,p,h]);return r(s.Provider,{value:_,children:i(`svg`,{...d,width:o,height:o,viewBox:`0 0 ${m} ${m}`,xmlns:`http://www.w3.org/2000/svg`,children:[r(`title`,{children:`QR Code`}),a]})})}o.Root=c,(function(e){e.displayName=`Root`})(c||=o.Root||={});function l(e){let{className:o,fill:c,innerClassName:l,radius:u=.25,stroke:d}=e,{cellSize:f,edgeSize:p,finderSize:m}=t.useContext(s),h=a(u);function g({position:e}){let t=m-(m-f)-f/2;e===`top-right`&&(t=p-m-(m-f)-f/2);let a=m-(m-f)-f/2;e===`bottom-left`&&(a=p-m-(m-f)-f/2);let s=m-f*1.5;e===`top-right`&&(s=p-m-f*1.5);let u=m-f*1.5;return e===`bottom-left`&&(u=p-m-f*1.5),i(n,{children:[r(`rect`,{className:o,stroke:d??c??`currentColor`,fill:`transparent`,x:t,y:a,width:f+(m-f)*2,height:f+(m-f)*2,rx:2*h*(m-f),ry:2*h*(m-f),strokeWidth:f}),r(`rect`,{className:l,fill:c??`currentColor`,x:s,y:u,width:f*3,height:f*3,rx:2*h*f,ry:2*h*f})]})}return i(n,{children:[r(g,{position:`top-left`}),r(g,{position:`top-right`}),r(g,{position:`bottom-left`})]})}o.Finder=l,(function(e){e.displayName=`Finder`})(l||=o.Finder||={});function u(e){let{className:n,fill:i=`currentColor`,inset:o=!0,radius:c=1}=e,{arenaSize:l,cellSize:u,qrcode:d}=t.useContext(s),{edgeLength:f,finderLength:p}=d,m=a(c);return r(`path`,{className:n,d:t.useMemo(()=>{let e=``;for(let t=0;t<d.grid.length;t++){let n=d.grid[t];if(n)for(let r=0;r<n.length;r++){if(!n[r])continue;let i=f/2-l/2,a=i+l;if(t>=i&&t<=a&&r>=i&&r<=a)continue;let s=t<p&&r<p,c=t<p&&r>=f-p,d=t>=f-p&&r<p;if(s||c||d)continue;let h=(u-(o?u*.1:0)*2)/2,g=r*u+u/2,_=t*u+u/2,v=g-h,y=g+h,b=_-h,x=_+h,S=m*h;e+=[`M ${v+S},${b}`,`L ${y-S},${b}`,`A ${S},${S} 0 0,1 ${y},${b+S}`,`L ${y},${x-S}`,`A ${S},${S} 0 0,1 ${y-S},${x}`,`L ${v+S},${x}`,`A ${S},${S} 0 0,1 ${v},${x-S}`,`L ${v},${b+S}`,`A ${S},${S} 0 0,1 ${v+S},${b}`,`z`].join(` `)}}return e},[l,u,f,p,d.grid,o,m]),fill:i})}o.Cells=u,(function(e){e.displayName=`Cells`})(u||=o.Cells||={});function d(e){let{children:n}=e,{arenaSize:i,cellSize:a,edgeSize:o}=t.useContext(s),c=i,l=(o-c)/2;return r(`foreignObject`,{x:l,y:l,width:c,height:c,children:r(`div`,{style:{alignItems:`center`,display:`flex`,fontSize:1,justifyContent:`center`,height:`100%`,overflow:`hidden`,width:`100%`,padding:a/2,boxSizing:`border-box`},children:n})})}o.Arena=d,(function(e){e.displayName=`Arena`})(d||=o.Arena||={})})(o||={});export{o as Cuer};
1
+ import{create as e}from"./QrCode.js";import*as t from"react";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";const a=e=>Math.max(0,Math.min(1,e));function o(e){let{arena:t,...n}=e;return i(o.Root,{...n,children:[r(o.Finder,{}),r(o.Cells,{}),t&&r(o.Arena,{href:t})]})}(function(o){let s=o.Context=t.createContext(null);function c(n){let{children:a,size:o=`100%`,value:c,version:l,errorCorrection:u,...d}=n,f=t.useMemo(()=>(t.Children.map(a,e=>!t.isValidElement(e)||typeof e.type==`string`?null:`displayName`in e.type&&e.type.displayName===`Arena`?!0:null)??[]).some(Boolean),[a]),p=t.useMemo(()=>{let t=u;return f&&u===`low`&&(t=`medium`),e(c,{errorCorrection:t,version:l})},[c,f,u,l]),m=p.edgeLength*1,h=p.finderLength*1/2,g=f?Math.floor(m/4):0,_=(m-g)/2,v=t.useMemo(()=>({arenaSize:g,arenaStart:_,cellSize:1,edgeSize:m,qrcode:p,finderSize:h}),[g,_,m,p,h]);return r(s.Provider,{value:v,children:i(`svg`,{...d,width:o,height:o,viewBox:`0 0 ${m} ${m}`,xmlns:`http://www.w3.org/2000/svg`,children:[r(`title`,{children:`QR Code`}),a]})})}o.Root=c,(function(e){e.displayName=`Root`})(c||=o.Root||={});function l(e){let{className:o,fill:c,innerClassName:l,radius:u=.25,stroke:d}=e,{cellSize:f,edgeSize:p,finderSize:m}=t.useContext(s),h=a(u);function g({position:e}){let t=m-(m-f)-f/2;e===`top-right`&&(t=p-m-(m-f)-f/2);let a=m-(m-f)-f/2;e===`bottom-left`&&(a=p-m-(m-f)-f/2);let s=m-f*1.5;e===`top-right`&&(s=p-m-f*1.5);let u=m-f*1.5;return e===`bottom-left`&&(u=p-m-f*1.5),i(n,{children:[r(`rect`,{className:o,stroke:d??c??`currentColor`,fill:`transparent`,x:t,y:a,width:f+(m-f)*2,height:f+(m-f)*2,rx:2*h*(m-f),ry:2*h*(m-f),strokeWidth:f}),r(`rect`,{className:l,fill:c??`currentColor`,x:s,y:u,width:f*3,height:f*3,rx:2*h*f,ry:2*h*f})]})}return i(n,{children:[r(g,{position:`top-left`}),r(g,{position:`top-right`}),r(g,{position:`bottom-left`})]})}o.Finder=l,(function(e){e.displayName=`Finder`})(l||=o.Finder||={});function u(e){let{className:n,fill:i=`currentColor`,inset:o=!0,radius:c=1}=e,{arenaSize:l,arenaStart:u,cellSize:d,qrcode:f}=t.useContext(s),{edgeLength:p,finderLength:m}=f,h=a(c);return r(`path`,{className:n,d:t.useMemo(()=>{let e=``,t=u+l;for(let n=0;n<f.grid.length;n++){let r=f.grid[n];if(r)for(let i=0;i<r.length;i++){if(!r[i])continue;if(l>0){let e=(i+.5)*d,r=(n+.5)*d;if(e>=u&&e<=t&&r>=u&&r<=t)continue}let a=n<m&&i<m,s=n<m&&i>=p-m,c=n>=p-m&&i<m;if(a||s||c)continue;let f=(d-(o?d*.1:0)*2)/2,g=i*d+d/2,_=n*d+d/2,v=g-f,y=g+f,b=_-f,x=_+f,S=h*f;e+=[`M ${v+S},${b}`,`L ${y-S},${b}`,`A ${S},${S} 0 0,1 ${y},${b+S}`,`L ${y},${x-S}`,`A ${S},${S} 0 0,1 ${y-S},${x}`,`L ${v+S},${x}`,`A ${S},${S} 0 0,1 ${v},${x-S}`,`L ${v},${b+S}`,`A ${S},${S} 0 0,1 ${v+S},${b}`,`z`].join(` `)}}return e},[l,u,d,p,m,f.grid,o,h]),fill:i})}o.Cells=u,(function(e){e.displayName=`Cells`})(u||=o.Cells||={});function d(e){let{href:n,preserveAspectRatio:i=`xMidYMid meet`,...a}=e,{arenaSize:o,arenaStart:c,cellSize:l}=t.useContext(s),u=l/2,d=c+u,f=o-u*2;return r(`image`,{href:n,...a,x:d,y:d,width:f,height:f,preserveAspectRatio:i})}o.Arena=d,(function(e){e.displayName=`Arena`})(d||=o.Arena||={})})(o||={});export{o as Cuer};
@@ -1 +1 @@
1
- "use client";import{DialogShell as e}from"../../../dialog/DialogShell.js";import{Card as t}from"../../../ui/Card/Card.js";import"../../../../ui/index.js";import{Frame as n}from"../../../dialog/Frame.js";import{TxHashValue as r}from"../../../primitives/TxHashValue/TxHashValue.js";import"../../../primitives/TxHashValue/index.js";import{WalletValue as i}from"../../../primitives/WalletValue/WalletValue.js";import"../../../primitives/WalletValue/index.js";import{ProcessingStateContext as a}from"./context.js";import{PROCESSING_STATE_SLOTS as o}from"./ProcessingState.slots.js";import{styles as s}from"./ProcessingState.styles.js";import{ProcessingStateActions as c}from"./components/Actions.js";import{ProcessingStateDetail as l}from"./components/Detail.js";import{ProcessingStateDetails as u}from"./components/Details.js";import{ProcessingStateHeader as d}from"./components/Header.js";import{ProcessingStateHero as f}from"./components/Hero.js";import{ProcessingStateDetectedAtRow as p,ProcessingStateSourceRow as m,ProcessingStateSourceTxRow as h,ProcessingStateSubmittedAtRow as g}from"./components/Rows.js";import{ProcessingStateStatusPill as _}from"./components/StatusPill.js";import{useMemo as v}from"react";import{jsx as y}from"react/jsx-runtime";import*as b from"@stylexjs/stylex";function x(e){let{amount:t,creditedAsset:r,creditedTo:i,loading:c,headerTitle:l,onBack:u,statusPillLabel:d,sourceWallet:f,sourceTx:p,submittedAt:m,detectedAt:h,onClose:g,closeLabel:_,children:x}=e,S=v(()=>({amount:t,creditedAsset:r,creditedTo:i,...c?{loading:!0}:{},headerTitle:l,onBack:u,statusPillLabel:d,sourceWallet:f,sourceTx:p,submittedAt:m,detectedAt:h,onClose:g,closeLabel:_}),[t,r,i,c,l,u,d,f,p,m,h,g,_]);return y(a.Provider,{value:S,children:y(n,{"data-stridge-slot":o.root,...b.props(s.root),children:x})})}function S(e){return y(t.Body,{"data-stridge-slot":o.body,...e})}function C({open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:a,...o}){return y(e,{open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:y(x,{...o,children:a})})}(function(e){e.Header=d,e.Body=S,e.Hero=f,e.StatusPill=_,e.Details=u,e.Detail=l,e.Actions=c,e.SourceRow=m,e.SourceTxRow=h,e.SubmittedAtRow=g,e.DetectedAtRow=p,e.WalletValue=i,e.TxHashValue=r,e.Dialog=C})(x||={});export{x as ProcessingState};
1
+ "use client";import{DialogShell as e}from"../../../dialog/DialogShell.js";import{Card as t}from"../../../ui/Card/Card.js";import"../../../../ui/index.js";import{Frame as n}from"../../../dialog/Frame.js";import{TxHashValue as r}from"../../../primitives/TxHashValue/TxHashValue.js";import"../../../primitives/TxHashValue/index.js";import{WalletValue as i}from"../../../primitives/WalletValue/WalletValue.js";import"../../../primitives/WalletValue/index.js";import{ProcessingStateContext as a}from"./context.js";import{PROCESSING_STATE_SLOTS as o}from"./ProcessingState.slots.js";import{styles as s}from"./ProcessingState.styles.js";import{ProcessingStateActions as c}from"./components/Actions.js";import{ProcessingStateDetail as l}from"./components/Detail.js";import{ProcessingStateDetails as u}from"./components/Details.js";import{ProcessingStateHeader as d}from"./components/Header.js";import{ProcessingStateHero as f}from"./components/Hero.js";import{ProcessingStateDetectedAtRow as p,ProcessingStateSourceRow as m,ProcessingStateSourceTxRow as h,ProcessingStateSubmittedAtRow as g}from"./components/Rows.js";import{ProcessingStateStatusPill as _}from"./components/StatusPill.js";import{useMemo as v}from"react";import{jsx as y}from"react/jsx-runtime";import*as b from"@stylexjs/stylex";function x(e){let{amount:t,amountUsd:r,creditedAsset:i,creditedTo:c,loading:l,headerTitle:u,onBack:d,statusPillLabel:f,sourceWallet:p,sourceTx:m,submittedAt:h,detectedAt:g,onClose:_,closeLabel:x,children:S}=e,C=v(()=>({amount:t,...r?{amountUsd:r}:{},creditedAsset:i,creditedTo:c,...l?{loading:!0}:{},headerTitle:u,onBack:d,statusPillLabel:f,sourceWallet:p,sourceTx:m,submittedAt:h,detectedAt:g,onClose:_,closeLabel:x}),[t,r,i,c,l,u,d,f,p,m,h,g,_,x]);return y(a.Provider,{value:C,children:y(n,{"data-stridge-slot":o.root,...b.props(s.root),children:S})})}function S(e){return y(t.Body,{"data-stridge-slot":o.body,...e})}function C({open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:a,...o}){return y(e,{open:t,defaultOpen:n,onOpenChange:r,trigger:i,children:y(x,{...o,children:a})})}(function(e){e.Header=d,e.Body=S,e.Hero=f,e.StatusPill=_,e.Details=u,e.Detail=l,e.Actions=c,e.SourceRow=m,e.SourceTxRow=h,e.SubmittedAtRow=g,e.DetectedAtRow=p,e.WalletValue=i,e.TxHashValue=r,e.Dialog=C})(x||={});export{x as ProcessingState};
@@ -1 +1 @@
1
- const e={root:{"ProcessingState__styles.root":`ProcessingState__styles.root`,"position-kVAEAm":`x1n2onr6`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x17fpy1y`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:26`},header:{"ProcessingState__styles.header":`ProcessingState__styles.header`,"justifyContent-kjj79g":`x1qughib`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:34`},headerLeft:{"ProcessingState__styles.headerLeft":`ProcessingState__styles.headerLeft`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1v2ro7d`,"minWidth-k7Eaqz":`xeuugli`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:37`},closeIcon:{"ProcessingState__styles.closeIcon":`ProcessingState__styles.closeIcon`,"width-kzqmXN":`xsmyaan`,"height-kZKoxP":`x1kpxq89`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xdksllq`,"strokeWidth-kfJifR":`x1k315e8`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:44`},backIcon:{"ProcessingState__styles.backIcon":`ProcessingState__styles.backIcon`,"width-kzqmXN":`x6jxa94`,"height-kZKoxP":`x1v9usgg`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xdksllq`,"strokeWidth-kfJifR":`xhxwl1`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:51`},hero:{"ProcessingState__styles.hero":`ProcessingState__styles.hero`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1v2ro7d`,"paddingTop-kLKAdn":`x1miatn0`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`xwib8y2`,"paddingInlineStart-kZCmMZ":`xz7312c`,"animationName-kKVMdj":`xv305lp`,"animationDuration-k44tkh":`xmprevt x1s1fvk8`,"animationTimingFunction-kyAemX":`xa3vuyk`,"animationFillMode-kWV6AL":`x1u6ievf`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:59`},heroAmountRow:{"ProcessingState__styles.heroAmountRow":`ProcessingState__styles.heroAmountRow`,"display-k1xSpc":`x3nfvp2`,"alignItems-kGNEyG":`x1pha0wt`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x883omv`,"marginTop-keoZOQ":`xdj266r`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:76`},heroAmountIcon:{"ProcessingState__styles.heroAmountIcon":`ProcessingState__styles.heroAmountIcon`,"alignSelf-kSGwAc":`xamitd3`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:83`},statusPillWrap:{"ProcessingState__styles.statusPillWrap":`ProcessingState__styles.statusPillWrap`,"display-k1xSpc":`x78zum5`,"justifyContent-kjj79g":`xl56j7k`,"paddingTop-kLKAdn":`xyinxu5`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1t4gjm`,"paddingInlineStart-kZCmMZ":`xz7312c`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:87`},statusPill:{"ProcessingState__styles.statusPill":`ProcessingState__styles.statusPill`,"display-k1xSpc":`x3nfvp2`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x883omv`,"paddingBlock-k8WAf4":`x1vvogim`,"paddingInlineStart-kZCmMZ":`x1g0dm76`,"paddingInlineEnd-kwRFfy":`x1pic42t`,"borderRadius-kaIpWk":`x1npxkrn`,"backgroundColor-kWkggS":`x407w7c`,"borderWidth-kMzoRj":`xmkeg23`,"borderStyle-ksu8eU":`x1y0btm7`,"borderColor-kVAM5u":`x1bue7yx`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:95`},statusPillIcon:{"ProcessingState__styles.statusPillIcon":`ProcessingState__styles.statusPillIcon`,"display-k1xSpc":`x1lliihq`,"width-kzqmXN":`x6jxa94`,"height-kZKoxP":`xmix8c7`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`x1me39qh`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:109`},statusPillDot:{"ProcessingState__styles.statusPillDot":`ProcessingState__styles.statusPillDot`,"animationName-kKVMdj":`x194e4vk x1aquc0h`,"animationDuration-k44tkh":`x1m9vv7p`,"animationIterationCount-ko0y90":`xa4qsjk`,"animationTimingFunction-kyAemX":`x4hg4is`,"opacity-kSiTet":`x197sbye`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:116`},statusPillDotDelay0:{"ProcessingState__styles.statusPillDotDelay0":`ProcessingState__styles.statusPillDotDelay0`,"animationDelay-kKxzle":`x1uzojwf`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:126`},statusPillDotDelay1:{"ProcessingState__styles.statusPillDotDelay1":`ProcessingState__styles.statusPillDotDelay1`,"animationDelay-kKxzle":`x1k0bccz`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:129`},statusPillDotDelay2:{"ProcessingState__styles.statusPillDotDelay2":`ProcessingState__styles.statusPillDotDelay2`,"animationDelay-kKxzle":`x1t83zlg`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:132`},statusPillDotDelay3:{"ProcessingState__styles.statusPillDotDelay3":`ProcessingState__styles.statusPillDotDelay3`,"animationDelay-kKxzle":`x1x1c4bx`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:135`},statusPillDotDelay4:{"ProcessingState__styles.statusPillDotDelay4":`ProcessingState__styles.statusPillDotDelay4`,"animationDelay-kKxzle":`x1xwhvez`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:138`},statusPillDotDelay5:{"ProcessingState__styles.statusPillDotDelay5":`ProcessingState__styles.statusPillDotDelay5`,"animationDelay-kKxzle":`xfjzax6`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:141`},detailsSection:{"ProcessingState__styles.detailsSection":`ProcessingState__styles.detailsSection`,"marginInlineStart-keTefX":`xnzr9dm`,"marginInlineEnd-k71WvV":`xnqxrjt`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:151`},actions:{"ProcessingState__styles.actions":`ProcessingState__styles.actions`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x1qjc9v5`,"gap-kOIVth":`x1v2ro7d`,"paddingTop-kLKAdn":`x1xy6bms`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1t4gjm`,"paddingInlineStart-kZCmMZ":`xz7312c`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:156`},closeCta:{"ProcessingState__styles.closeCta":`ProcessingState__styles.closeCta`,"width-kzqmXN":`xh8yej3`,":focus-visible_boxShadow-kEtg5x":`xhatipn`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:174`},closeCtaInteractive:{"ProcessingState__styles.closeCtaInteractive":`ProcessingState__styles.closeCtaInteractive`,"cursor-kkrTdU":`x1ypdohk`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:180`},closeCtaInert:{"ProcessingState__styles.closeCtaInert":`ProcessingState__styles.closeCtaInert`,"cursor-kkrTdU":`xt0e3qv`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:183`}};export{e as styles};
1
+ const e={root:{"ProcessingState__styles.root":`ProcessingState__styles.root`,"position-kVAEAm":`x1n2onr6`,"width-kzqmXN":`xh8yej3`,"maxWidth-ks0D6T":`x17fpy1y`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:26`},header:{"ProcessingState__styles.header":`ProcessingState__styles.header`,"justifyContent-kjj79g":`x1qughib`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:34`},headerLeft:{"ProcessingState__styles.headerLeft":`ProcessingState__styles.headerLeft`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1v2ro7d`,"minWidth-k7Eaqz":`xeuugli`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:37`},closeIcon:{"ProcessingState__styles.closeIcon":`ProcessingState__styles.closeIcon`,"width-kzqmXN":`xsmyaan`,"height-kZKoxP":`x1kpxq89`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xdksllq`,"strokeWidth-kfJifR":`x1k315e8`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:44`},backIcon:{"ProcessingState__styles.backIcon":`ProcessingState__styles.backIcon`,"width-kzqmXN":`x6jxa94`,"height-kZKoxP":`x1v9usgg`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`xdksllq`,"strokeWidth-kfJifR":`xhxwl1`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:51`},hero:{"ProcessingState__styles.hero":`ProcessingState__styles.hero`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x1v2ro7d`,"paddingTop-kLKAdn":`x1miatn0`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`xwib8y2`,"paddingInlineStart-kZCmMZ":`xz7312c`,"animationName-kKVMdj":`xv305lp`,"animationDuration-k44tkh":`xmprevt x1s1fvk8`,"animationTimingFunction-kyAemX":`xa3vuyk`,"animationFillMode-kWV6AL":`x1u6ievf`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:59`},heroAmountRow:{"ProcessingState__styles.heroAmountRow":`ProcessingState__styles.heroAmountRow`,"display-k1xSpc":`x3nfvp2`,"alignItems-kGNEyG":`x1pha0wt`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x883omv`,"marginTop-keoZOQ":`xdj266r`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:76`},heroAmountIcon:{"ProcessingState__styles.heroAmountIcon":`ProcessingState__styles.heroAmountIcon`,"alignSelf-kSGwAc":`xamitd3`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:83`},heroSubLine:{"ProcessingState__styles.heroSubLine":`ProcessingState__styles.heroSubLine`,"display-k1xSpc":`x3nfvp2`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"justifyContent-kjj79g":`xl56j7k`,"gap-kOIVth":`x17d4w8g`,"marginTop-keoZOQ":`xr9ek0c`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:87`},heroSubLineIcon:{"ProcessingState__styles.heroSubLineIcon":`ProcessingState__styles.heroSubLineIcon`,"flexShrink-kmuXW":`x2lah0s`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:95`},statusPillWrap:{"ProcessingState__styles.statusPillWrap":`ProcessingState__styles.statusPillWrap`,"display-k1xSpc":`x78zum5`,"justifyContent-kjj79g":`xl56j7k`,"paddingTop-kLKAdn":`xyinxu5`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1t4gjm`,"paddingInlineStart-kZCmMZ":`xz7312c`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:99`},statusPill:{"ProcessingState__styles.statusPill":`ProcessingState__styles.statusPill`,"display-k1xSpc":`x3nfvp2`,"flexDirection-kXwgrk":`x1q0g3np`,"alignItems-kGNEyG":`x6s0dn4`,"gap-kOIVth":`x883omv`,"paddingBlock-k8WAf4":`x1vvogim`,"paddingInlineStart-kZCmMZ":`x1g0dm76`,"paddingInlineEnd-kwRFfy":`x1pic42t`,"borderRadius-kaIpWk":`x1npxkrn`,"backgroundColor-kWkggS":`x407w7c`,"borderWidth-kMzoRj":`xmkeg23`,"borderStyle-ksu8eU":`x1y0btm7`,"borderColor-kVAM5u":`x1bue7yx`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:107`},statusPillIcon:{"ProcessingState__styles.statusPillIcon":`ProcessingState__styles.statusPillIcon`,"display-k1xSpc":`x1lliihq`,"width-kzqmXN":`x6jxa94`,"height-kZKoxP":`xmix8c7`,"flexShrink-kmuXW":`x2lah0s`,"color-kMwMTN":`x1me39qh`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:121`},statusPillDot:{"ProcessingState__styles.statusPillDot":`ProcessingState__styles.statusPillDot`,"animationName-kKVMdj":`x194e4vk x1aquc0h`,"animationDuration-k44tkh":`x1m9vv7p`,"animationIterationCount-ko0y90":`xa4qsjk`,"animationTimingFunction-kyAemX":`x4hg4is`,"opacity-kSiTet":`x197sbye`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:128`},statusPillDotDelay0:{"ProcessingState__styles.statusPillDotDelay0":`ProcessingState__styles.statusPillDotDelay0`,"animationDelay-kKxzle":`x1uzojwf`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:138`},statusPillDotDelay1:{"ProcessingState__styles.statusPillDotDelay1":`ProcessingState__styles.statusPillDotDelay1`,"animationDelay-kKxzle":`x1k0bccz`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:141`},statusPillDotDelay2:{"ProcessingState__styles.statusPillDotDelay2":`ProcessingState__styles.statusPillDotDelay2`,"animationDelay-kKxzle":`x1t83zlg`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:144`},statusPillDotDelay3:{"ProcessingState__styles.statusPillDotDelay3":`ProcessingState__styles.statusPillDotDelay3`,"animationDelay-kKxzle":`x1x1c4bx`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:147`},statusPillDotDelay4:{"ProcessingState__styles.statusPillDotDelay4":`ProcessingState__styles.statusPillDotDelay4`,"animationDelay-kKxzle":`x1xwhvez`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:150`},statusPillDotDelay5:{"ProcessingState__styles.statusPillDotDelay5":`ProcessingState__styles.statusPillDotDelay5`,"animationDelay-kKxzle":`xfjzax6`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:153`},detailsSection:{"ProcessingState__styles.detailsSection":`ProcessingState__styles.detailsSection`,"marginInlineStart-keTefX":`xnzr9dm`,"marginInlineEnd-k71WvV":`xnqxrjt`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:163`},actions:{"ProcessingState__styles.actions":`ProcessingState__styles.actions`,"display-k1xSpc":`x78zum5`,"flexDirection-kXwgrk":`xdt5ytf`,"alignItems-kGNEyG":`x1qjc9v5`,"gap-kOIVth":`x1v2ro7d`,"paddingTop-kLKAdn":`x1xy6bms`,"paddingInlineEnd-kwRFfy":`x1o5r3ls`,"paddingBottom-kGO01o":`x1t4gjm`,"paddingInlineStart-kZCmMZ":`xz7312c`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:168`},closeCta:{"ProcessingState__styles.closeCta":`ProcessingState__styles.closeCta`,"width-kzqmXN":`xh8yej3`,":focus-visible_boxShadow-kEtg5x":`xhatipn`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:186`},closeCtaInteractive:{"ProcessingState__styles.closeCtaInteractive":`ProcessingState__styles.closeCtaInteractive`,"cursor-kkrTdU":`x1ypdohk`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:192`},closeCtaInert:{"ProcessingState__styles.closeCtaInert":`ProcessingState__styles.closeCtaInert`,"cursor-kkrTdU":`xt0e3qv`,$$css:`@stridge/kit:src/shared/widgets/processing-state/compound/ProcessingState.styles.ts:195`}};export{e as styles};
@@ -2,14 +2,18 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/shared/widgets/processing-state/compound/components/Hero.d.ts
4
4
  /**
5
- * Hero block: uppercase "CREDITING" caption, the token amount row, and a destination subcaption. Reads its data
6
- * from the `ProcessingState` root context.
5
+ * Hero block: uppercase "CREDITING" caption, the amount row, and a destination subcaption. Reads
6
+ * its data from the `ProcessingState` root context.
7
7
  *
8
- * When `loading=true`, the amount span is omitted entirely so the row reads `[icon] USDC` instead
9
- * of `[icon] 0 USDC` or a shimmer placeholder. Used by the transfer-crypto path where the
10
- * credited amount isn't known until the indexer settles showing a literal `0` reads as
11
- * "credited zero", and a shimmer over a number we never had reads as a fake placeholder.
12
- * Surfacing only the symbol is the truthful UX.
8
+ * Two amount layouts:
9
+ *
10
+ * - **Token hero** (default) `[icon] <amount> <symbol>`. When `loading=true` the amount span is
11
+ * omitted entirely so the row reads `[icon] USDC` instead of `[icon] 0 USDC` or a shimmer
12
+ * placeholder (the transfer-crypto path waits on the indexer for the credited figure; a literal
13
+ * `0` reads as "credited zero" and a shimmer over a number we never had reads as fake).
14
+ * - **USD hero** — when `amountUsd` is set, the fiat figure becomes the primary line and
15
+ * `[icon] <amount> <symbol>` is demoted to a subline beneath it. Mirrors the deposit confirm
16
+ * screen's hero treatment.
13
17
  */
14
18
  declare function ProcessingStateHero(): _$react_jsx_runtime0.JSX.Element;
15
19
  //#endregion
@@ -1 +1 @@
1
- "use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{text as t}from"../../../../ui/Text/Text.js";import{TokenLogo as n}from"../../../../ui/TokenLogo/TokenLogo.js";import"../../../../ui/TokenLogo/index.js";import"../../../../../ui/index.js";import{useProcessingStateContext as r}from"../context.js";import{PROCESSING_STATE_SLOTS as i}from"../ProcessingState.slots.js";import{styles as a}from"../ProcessingState.styles.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";import*as c from"@stylexjs/stylex";function l(){let l=r(`ProcessingState.Hero`),{_:u}=e(),d=l.creditedTo??l.creditedAsset.symbol;return s(`div`,{"data-stridge-slot":i.hero,...c.props(a.hero),children:[o(t.span,{size:`caption`,fontWeight:`semibold`,leading:`tight`,tracking:`widest`,transform:`uppercase`,align:`center`,color:`tertiary`,children:u({id:`zYD5xm`,message:`Crediting`})}),s(`div`,{dir:`ltr`,...c.props(a.heroAmountRow),children:[o(n,{size:30,symbol:l.creditedAsset.symbol,...l.creditedAsset.chainId===void 0?{}:{chainId:l.creditedAsset.chainId},...l.creditedAsset.address===void 0?{}:{address:l.creditedAsset.address},...l.creditedAsset.isNative===void 0?{}:{isNative:l.creditedAsset.isNative},...l.creditedAsset.logoUrl===void 0?{}:{logoUrl:l.creditedAsset.logoUrl},hideChainBadge:!0,...c.props(a.heroAmountIcon)}),l.loading?null:o(t.span,{size:`4xl`,fontWeight:`semibold`,leading:`none`,tracking:`tight`,children:l.amount}),o(t.span,{size:l.loading?`4xl`:`xl`,fontWeight:`semibold`,leading:`none`,tracking:`tight`,children:l.creditedAsset.symbol})]}),o(t.span,{size:`meta`,fontWeight:`medium`,leading:`tight`,align:`center`,color:`subdued`,children:d})]})}export{l as ProcessingStateHero};
1
+ "use client";import{useLingui as e}from"../../../../i18n/useLingui.js";import"../../../../../i18n/index.js";import{text as t}from"../../../../ui/Text/Text.js";import{TokenLogo as n}from"../../../../ui/TokenLogo/TokenLogo.js";import"../../../../ui/TokenLogo/index.js";import"../../../../../ui/index.js";import{useProcessingStateContext as r}from"../context.js";import{PROCESSING_STATE_SLOTS as i}from"../ProcessingState.slots.js";import{styles as a}from"../ProcessingState.styles.js";import{splitAmount as o}from"./splitAmount.js";import{Fragment as s,jsx as c,jsxs as l}from"react/jsx-runtime";import*as u from"@stylexjs/stylex";function d(){let d=r(`ProcessingState.Hero`),{_:f}=e(),p=d.creditedTo??d.creditedAsset.symbol,m={symbol:d.creditedAsset.symbol,...d.creditedAsset.chainId===void 0?{}:{chainId:d.creditedAsset.chainId},...d.creditedAsset.address===void 0?{}:{address:d.creditedAsset.address},...d.creditedAsset.isNative===void 0?{}:{isNative:d.creditedAsset.isNative},...d.creditedAsset.logoUrl===void 0?{}:{logoUrl:d.creditedAsset.logoUrl}},h=d.amountUsd?o(d.amountUsd):void 0;return l(`div`,{"data-stridge-slot":i.hero,...u.props(a.hero),children:[c(t.span,{size:`caption`,fontWeight:`semibold`,leading:`tight`,tracking:`widest`,transform:`uppercase`,align:`center`,color:`tertiary`,children:f({id:`zYD5xm`,message:`Crediting`})}),h?l(s,{children:[l(`div`,{dir:`ltr`,...u.props(a.heroAmountRow),children:[h.glyph?c(t.span,{size:`2xl`,fontWeight:`semibold`,leading:`none`,tracking:`tight`,children:h.glyph}):null,c(t.span,{size:`4xl`,fontWeight:`semibold`,leading:`none`,tracking:`tight`,children:h.digits})]}),l(`div`,{dir:`ltr`,...u.props(a.heroSubLine),children:[c(n,{size:18,...m,hideChainBadge:!0,...u.props(a.heroSubLineIcon)}),l(t.span,{size:`sm`,fontWeight:`medium`,leading:`tight`,tracking:`tight`,color:`subdued`,children:[d.amount,` `,d.creditedAsset.symbol]})]})]}):l(`div`,{dir:`ltr`,...u.props(a.heroAmountRow),children:[c(n,{size:30,...m,hideChainBadge:!0,...u.props(a.heroAmountIcon)}),d.loading?null:c(t.span,{size:`4xl`,fontWeight:`semibold`,leading:`none`,tracking:`tight`,children:d.amount}),c(t.span,{size:d.loading?`4xl`:`xl`,fontWeight:`semibold`,leading:`none`,tracking:`tight`,children:d.creditedAsset.symbol})]}),c(t.span,{size:`meta`,fontWeight:`medium`,leading:`tight`,align:`center`,color:`subdued`,children:p})]})}export{d as ProcessingStateHero};
@@ -0,0 +1 @@
1
+ function e(e){let t=e.charAt(0);return!t||/[0-9<]/.test(t)?{glyph:``,digits:e}:{glyph:t,digits:e.slice(1)}}export{e as splitAmount};
@@ -58,6 +58,12 @@ type ProcessingStateDialogProps = ProcessingStateProps & DialogShellControls;
58
58
  interface ProcessingStateProps {
59
59
  /** Pre-formatted hero amount string (e.g. `"1.99580"`). Pure layout — no widget-side format. */
60
60
  amount: string;
61
+ /**
62
+ * Optional pre-formatted USD hero figure (e.g. `"$4.01"`, `"< $0.01"`). When set, the Hero
63
+ * promotes it to the primary line and demotes `amount` + `creditedAsset.symbol` to a subline.
64
+ * When omitted, the Hero renders the token amount as the primary line (default).
65
+ */
66
+ amountUsd?: string;
61
67
  /**
62
68
  * The asset that's crediting. Drives the Hero icon, the Hero amount-line symbol, and the default destination
63
69
  * caption.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stridge/kit",
3
- "version": "0.1.0-alpha.21",
3
+ "version": "0.1.0-alpha.23",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [