@canton-network/example-portfolio 0.1.0 → 0.18.0

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
- import{Q as H,q as v,v as E,w as D,x as M,y as V,j as e,z as F,r as x,A as w,C as m,E as p,h as y,F as C,f as O,G as b,H as U,J as I,K as q}from"./index-JKRS33AS.js";import{u as Q,a as B,b as L,c as W,d as $}from"./useWithdrawAllocation--Q3GXEV4.js";var K=class extends H{constructor(t,s){super(t,s)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t){super.setOptions({...t,behavior:v()})}getOptimisticResult(t){return t.behavior=v(),super.getOptimisticResult(t)}fetchNextPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,s){const{state:r}=t,a=super.createResult(t,s),{isFetching:i,isRefetching:l,isError:o,isRefetchError:n}=a,c=r.fetchMeta?.fetchMore?.direction,u=o&&c==="forward",d=i&&c==="forward",g=o&&c==="backward",j=i&&c==="backward";return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:D(s,r.data),hasPreviousPage:E(s,r.data),isFetchNextPageError:u,isFetchingNextPage:d,isFetchPreviousPageError:g,isFetchingPreviousPage:j,isRefetchError:n&&!u&&!g,isRefetching:l&&!d&&!j}}};function G(t,s){return M(t,K)}const f=({name:t,amount:s,instrument:r})=>{const a=V(r),i=`${r.id} from admin ${r.admin}`;return e.jsxs("span",{children:[t&&e.jsx("span",{children:t}),e.jsx("strong",{children:s}),a?e.jsxs("span",{title:i,children:[" ",a.instrument.symbol]}):e.jsxs("span",{title:i,children:[" ",r.id," (warning: unknown instrument)"]})]})},T=({value:t,onChange:s})=>{const r=F(),a=new Map;let i="";for(const[c,u]of r)for(const d of u){if(a.has(d.symbol))throw new Error(`duplicate symbol: ${d.symbol}`);a.set(d.symbol,{admin:c,id:d.id}),d.id===t?.id&&c===t?.admin&&(i=d.symbol)}const l=[...a.keys()].sort(),[o,n]=x.useState(i);return e.jsxs("select",{className:"select-instrument",value:o,onChange:c=>{n(c.target.value),s(a.get(c.target.value))},children:[e.jsx("option",{value:"",children:"Select an option..."},""),l.map(c=>e.jsx("option",{value:c,children:c},c))]})},J=()=>{const t=w().status?.session?.accessToken,s=m()?.partyId,{listHoldings:r,tap:a}=p(),i=y(),[l,o]=x.useState(void 0),[n,c]=x.useState(void 0),[u,d]=x.useState(1e4),g=new Date,j=x.useCallback(async()=>{if(s){const h=await r({party:s});o(h)}else o(void 0)},[s,r]);return x.useEffect(()=>{let h=!1;return(async()=>{if(s){const N=await r({party:s});h||o(N)}else o(void 0)})(),()=>{h=!0}},[s,r]),e.jsxs("div",{children:[e.jsxs("form",{onSubmit:h=>h.preventDefault(),className:"tap",children:[e.jsx(T,{value:n,onChange:h=>c(h)}),e.jsx("input",{type:"number",value:u,onChange:h=>d(Number(h.target.value))}),e.jsx("button",{type:"submit",disabled:!t||!s||!n,onClick:()=>{a({registryUrls:i,party:s,sessionToken:t,instrumentId:n,amount:u}).then(()=>j())},children:"TAP"})]}),e.jsx("ul",{children:l?.map(h=>e.jsxs("li",{children:[C.isHoldingLocked(h,g)&&e.jsx("span",{children:"🔒"}),e.jsx(f,{amount:h.amount,instrument:h.instrumentId})]},h.contractId))})]})},X=()=>{const t=O(),s=y(),[r,a]=x.useState(""),[i,l]=x.useState(""),o=[...s.keys()];return o.sort(),e.jsxs("div",{children:[e.jsx("h2",{children:"Registries"}),e.jsxs("table",{children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Party ID"}),e.jsx("th",{children:"Registry URL"})]})}),e.jsx("tbody",{children:o.map(n=>e.jsxs("tr",{children:[e.jsx("td",{children:n}),e.jsx("td",{children:s.get(n)}),e.jsx("td",{children:e.jsx("button",{type:"submit",onClick:()=>t.deleteRegistryUrl(n),children:"🗑️"})})]},n))})]}),e.jsx("h2",{children:"Add new registry"}),e.jsxs("form",{onSubmit:n=>n.preventDefault(),children:[e.jsx("p",{children:"The party ID is optional and will be retrieved from the URL if not specified. Note that in this case you need to trust the URL to provide the right information."}),e.jsx("label",{htmlFor:"partyId",children:"Party ID: "}),e.jsx("input",{id:"partyId",value:r,onChange:n=>a(n.target.value)}),e.jsx("br",{}),e.jsx("label",{htmlFor:"url",children:"Registry URL: "}),e.jsx("input",{id:"url",value:i,onChange:n=>l(n.target.value)}),e.jsx("br",{}),e.jsx("button",{type:"submit",onClick:async()=>t.setRegistryUrl(r&&void 0,i),children:"Add registry"})]})]})},z=()=>{const t=m()?.partyId;return b(Q(t))},A=({party:t,contractId:s,transferInstructionView:r})=>{const a=y(),{exerciseTransfer:i}=p(),l=r.transfer,o=r.status,{meta:n}=l,c=n.values[C.MEMO_KEY],u="tag"in o?o.tag:o.current?.tag;return e.jsxs("div",{children:["status: ",e.jsx("strong",{children:u})," ",e.jsx("br",{}),"sender: ",e.jsx("strong",{children:l.sender})," ",e.jsx("br",{}),"receiver: ",e.jsx("strong",{children:l.receiver})," ",e.jsx("br",{}),c&&e.jsxs("span",{children:["message: ",e.jsx("strong",{children:c})," ",e.jsx("br",{})]}),e.jsx(f,{amount:l.amount,instrument:l.instrumentId}),u==="TransferPendingReceiverAcceptance"&&l.receiver===t&&e.jsxs("div",{children:[e.jsx("button",{disabled:!s,onClick:()=>{i({registryUrls:a,party:t,contractId:s,instrumentId:l.instrumentId,instructionChoice:"Accept"})},children:"Accept"}),e.jsx("button",{disabled:!s,onClick:()=>{i({registryUrls:a,party:t,contractId:s,instrumentId:l.instrumentId,instructionChoice:"Reject"})},children:"Reject"})]}),l.status=="pending"&&!l.incoming&&e.jsx("button",{onClick:()=>{i({registryUrls:a,party:t,contractId:l.contractId,instrumentId:l.instrumentId,instructionChoice:"Withdraw"})},children:"Withdraw"})]})},Y=()=>{const t=m()?.partyId,{data:s}=z();return e.jsxs("div",{children:[e.jsx("h2",{children:"Pending transfers"}),t&&e.jsx("ul",{children:s?.map(r=>e.jsx("li",{children:e.jsx(A,{party:t,contractId:r.contractId,transferInstructionView:r.interfaceViewValue})},r.contractId))})]})},_=()=>{const t=m()?.partyId,{mutate:s}=U(),[r,a]=x.useState(""),[i,l]=x.useState(100),[o,n]=x.useState(""),[c,u]=x.useState(void 0);return e.jsxs("form",{onSubmit:d=>d.preventDefault(),children:[e.jsx("label",{htmlFor:"instrument",children:"Instrument "}),e.jsx(T,{value:c,onChange:d=>u(d)}),e.jsx("br",{}),e.jsx("label",{htmlFor:"receiver",children:"Receiver: "}),e.jsx("input",{id:"receiver",value:r,onChange:d=>a(d.target.value)}),e.jsx("br",{}),e.jsx("label",{htmlFor:"amount",children:"Amount to transfer: "}),e.jsx("input",{id:"amount",type:"number",value:i,onChange:d=>l(Number(d.target.value))}),e.jsx("br",{}),e.jsx("label",{htmlFor:"memo",children:"Message for receiver: "}),e.jsx("input",{id:"memo",value:o,onChange:d=>n(d.target.value)}),e.jsx("br",{}),e.jsx("button",{type:"submit",disabled:!t||!c,onClick:()=>{s({instrumentId:c,sender:t,receiver:r,amount:`${i}`,expiry:new Date(Date.now()+1440*60*1e3),memo:o||void 0})},children:"Transfer"})]})},S=()=>{const t=m()?.partyId,{getTransactionHistory:s}=p();return G({initialPageParam:null,queryKey:q.getTransactionHistory.forParty(t),queryFn:({pageParam:r})=>t?s({party:t,request:r}):I,getNextPageParam:r=>{if(r!==I&&!r.beginIsLedgerStart)return{endInclusive:r.beginExclusive}},staleTime:1/0})},Z=()=>{const{data:t}=S();return x.useMemo(()=>{const s=new Set,r=[];for(const a of t?.pages??[])for(const i of a?.transactions??[])s.has(i.offset)||(s.add(i.offset),i.events.length>0&&r.push(i));return r},[t])},P=({change:t})=>e.jsxs("span",{children:["In:",e.jsx(f,{instrument:t.instrumentId,amount:t.inputAmount}),", Out:",e.jsx(f,{instrument:t.instrumentId,amount:t.outputAmount}),", Change:",e.jsx(f,{instrument:t.instrumentId,amount:t.amountChange})]}),ee=()=>{const t=m()?.partyId,{status:s,fetchNextPage:r,isFetchingNextPage:a,hasNextPage:i}=S(),l=Z();return e.jsxs("div",{children:[e.jsx("h2",{children:"Transaction History"}),t&&l.map(o=>e.jsxs("div",{children:[e.jsxs("code",{children:["At ",o.offset," (",o.recordTime,")"]}),e.jsx("br",{}),o.events.map((n,c)=>e.jsx("div",{children:n.transferInstruction?e.jsx(A,{party:t,transferInstructionView:n.transferInstruction}):e.jsxs("div",{children:[e.jsx("strong",{children:n.label.type}),n.lockedHoldingsChangeSummaries.length>0&&e.jsxs("div",{children:[e.jsx("strong",{children:"Locked:"}),n.lockedHoldingsChangeSummaries.map((u,d)=>e.jsx(P,{change:u},d))]}),n.unlockedHoldingsChangeSummaries.length>0&&e.jsxs("div",{children:[e.jsx("strong",{children:"Locked:"}),n.unlockedHoldingsChangeSummaries.map((u,d)=>e.jsx(P,{change:u},d))]})]})},c))]},o.updateId)),!i&&e.jsx("span",{children:"(end)"}),s==="pending"&&e.jsx("span",{children:"⏳"}),!a&&i&&t&&e.jsx("button",{disabled:a||!i||!t,onClick:()=>r(),children:"load more"})]})},te=()=>{const{error:t,status:s,connect:r,open:a,disconnect:i}=w(),l=s?.isConnected,o=m()?.partyId;return e.jsxs("div",{className:"card",children:[!l&&e.jsx("button",{onClick:()=>r(),children:"connect to Wallet Gateway"}),l&&e.jsx("button",{onClick:()=>i(),children:"disconnect"}),e.jsx("button",{onClick:()=>a(),children:"open Wallet Gateway"}),t&&e.jsxs("p",{className:"error",children:[e.jsx("b",{children:"Error:"})," ",e.jsx("i",{children:t})]}),e.jsx("br",{}),l&&e.jsxs("div",{children:["Party: ",o,e.jsx("br",{}),"SessionToken: ",s?.session?.accessToken?"ok":"nope"]})]})},se=()=>{const t=m()?.partyId;return b(B(t))},k=()=>{const t=m()?.partyId;return b(L(t))},R=({transferLegId:t,transferLeg:s})=>e.jsxs("div",{children:[e.jsxs("h3",{children:["Transfer leg ",t]}),e.jsx("strong",{children:"sender:"})," ",s.sender,e.jsx("br",{}),e.jsx("strong",{children:"receiver:"})," ",s.receiver,e.jsx("br",{}),e.jsx(f,{amount:s.amount,instrument:s.instrumentId})]}),ne=({party:t,contractId:s,allocation:r})=>{const{settlement:a,transferLeg:i,transferLegId:l}=r.allocation,o=y(),{withdrawAllocation:n}=p(),{refetch:c}=k();return e.jsxs("div",{children:[e.jsx("h3",{children:"Settlement"}),e.jsx("strong",{children:"executor:"})," ",a.executor,e.jsx("br",{}),e.jsx("strong",{children:"allocateBefore:"})," ",a.allocateBefore,new Date(a.allocateBefore)<=new Date&&"(EXPIRED!)",e.jsx("br",{}),e.jsx(R,{transferLegId:l,transferLeg:i}),i.sender===t&&e.jsx("button",{onClick:async()=>{await n({registryUrls:o,party:t,instrumentId:i.instrumentId,contractId:s}),c()},children:"Withdraw"})]})},re=({settlementInfo:t})=>e.jsxs("div",{children:[e.jsx("h3",{children:"Settlement"}),e.jsx("strong",{children:"executor:"})," ",t.executor,e.jsx("br",{}),e.jsx("strong",{children:"allocateBefore:"})," ",t.allocateBefore,new Date(t.allocateBefore)<=new Date&&"(EXPIRED!)",e.jsx("br",{})]}),ie=({party:t,allocationRequest:s,allocationsByTransferLegId:r})=>{const{settlement:a,transferLegs:i}=s,{mutate:l}=W(),{mutate:o}=$();return e.jsxs("div",{children:[e.jsx(re,{settlementInfo:a}),e.jsx("h3",{children:"Transfer Legs"}),Object.entries(i).map(([n,c])=>e.jsxs("div",{children:[e.jsx(R,{transferLegId:n,transferLeg:c}),c.sender===t&&e.jsx("button",{onClick:()=>l({party:t,allocationSpecification:{settlement:a,transferLegId:n,transferLeg:c}}),children:"Create Allocation"}),r?.get(n)?.map(u=>e.jsxs("div",{children:[e.jsx("span",{children:"Allocation Made"}),c.sender===t&&e.jsx("button",{onClick:()=>o({party:t,instrumentId:c.instrumentId,contractId:u.contractId}),children:"Withdraw Allocation"})]},u.contractId))]},n))]})},oe=()=>{const t=p(),s=m()?.partyId,{data:r}=se(),{data:a}=k(),i=x.useCallback((n,c)=>JSON.stringify([n.settlementRef.id,n.settlementRef.cid,c]),[]),[l,o]=x.useMemo(()=>{const n=new Map,c=[];for(const u of r??[]){const{settlement:d,transferLegs:g}=u.interfaceViewValue;for(const j in g){const h=i(d,j);n.set(h,[])}}for(const u of a??[]){const{settlement:d,transferLegId:g}=u.interfaceViewValue.allocation,j=i(d,g);n.has(j)?n.get(j).push(u):(console.log(n),c.push(u))}return[n,c]},[r,a,i]);return x.useEffect(()=>{s&&(async()=>{const n=await t.listAllocationInstructions({party:s});console.log("allocationInstructions",n)})()},[t,s]),e.jsxs("div",{children:[e.jsx("h2",{children:"Allocation requests"}),s&&r?.map(n=>e.jsx("div",{children:e.jsx(ie,{party:s,allocationRequest:n.interfaceViewValue,allocationsByTransferLegId:new Map(Object.keys(n.interfaceViewValue.transferLegs).map(c=>[c,l.get(i(n.interfaceViewValue.settlement,c))??[]]))})},n.contractId)),e.jsx("h2",{children:"Unknown Allocations"}),s&&o?.map(n=>e.jsx("div",{children:e.jsx(ne,{party:s,contractId:n.contractId,allocation:n.interfaceViewValue})},n.contractId))]})},ae=({tabs:t,initialValue:s})=>{const r=s??t[0]?.value,[a,i]=x.useState(r),l=t.find(o=>o.value===a);return e.jsxs("div",{children:[e.jsx("div",{role:"tablist",className:"flex gap-2 border-b",children:t.map(o=>e.jsx("button",{role:"tab","aria-selected":a===o.value,className:`${a===o.value?"bg-blue-500":"opacity-60"}`,onClick:()=>i(o.value),children:a===o.value?`[${o.label}]`:o.label},o.value))}),e.jsx("div",{role:"tabpanel",children:l?.content})]})};function ue(){return e.jsxs(e.Fragment,{children:[e.jsx("h1",{children:"dApp Portfolio"}),e.jsx(te,{}),e.jsx(ae,{tabs:[{label:"Holdings",value:"holdings",content:e.jsx(J,{})},{label:"Transfer",value:"twoStepTransfer",content:e.jsx(_,{})},{label:"Pending Transfers",value:"pendingTransfers",content:e.jsx(Y,{})},{label:"Transaction History",value:"transactionHistory",content:e.jsx(ee,{})},{label:"Allocations",value:"allocations",content:e.jsx(oe,{})},{label:"Registry Settings",value:"registries",content:e.jsx(X,{})}]})]})}export{ue as component};
1
+ import{Q as H,q as v,v as E,w as D,x as M,y as V,j as e,z as F,r as x,A as w,C as m,E as p,h as y,F as C,f as O,G as b,H as U,J as I,K as q}from"./index-CYRjFua4.js";import{u as Q,a as B,b as L,c as W,d as $}from"./useWithdrawAllocation-B9p5ztjm.js";var K=class extends H{constructor(t,s){super(t,s)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t){super.setOptions({...t,behavior:v()})}getOptimisticResult(t){return t.behavior=v(),super.getOptimisticResult(t)}fetchNextPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,s){const{state:r}=t,a=super.createResult(t,s),{isFetching:i,isRefetching:l,isError:o,isRefetchError:n}=a,c=r.fetchMeta?.fetchMore?.direction,u=o&&c==="forward",d=i&&c==="forward",g=o&&c==="backward",j=i&&c==="backward";return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:D(s,r.data),hasPreviousPage:E(s,r.data),isFetchNextPageError:u,isFetchingNextPage:d,isFetchPreviousPageError:g,isFetchingPreviousPage:j,isRefetchError:n&&!u&&!g,isRefetching:l&&!d&&!j}}};function G(t,s){return M(t,K)}const f=({name:t,amount:s,instrument:r})=>{const a=V(r),i=`${r.id} from admin ${r.admin}`;return e.jsxs("span",{children:[t&&e.jsx("span",{children:t}),e.jsx("strong",{children:s}),a?e.jsxs("span",{title:i,children:[" ",a.instrument.symbol]}):e.jsxs("span",{title:i,children:[" ",r.id," (warning: unknown instrument)"]})]})},T=({value:t,onChange:s})=>{const r=F(),a=new Map;let i="";for(const[c,u]of r)for(const d of u){if(a.has(d.symbol))throw new Error(`duplicate symbol: ${d.symbol}`);a.set(d.symbol,{admin:c,id:d.id}),d.id===t?.id&&c===t?.admin&&(i=d.symbol)}const l=[...a.keys()].sort(),[o,n]=x.useState(i);return e.jsxs("select",{className:"select-instrument",value:o,onChange:c=>{n(c.target.value),s(a.get(c.target.value))},children:[e.jsx("option",{value:"",children:"Select an option..."},""),l.map(c=>e.jsx("option",{value:c,children:c},c))]})},J=()=>{const t=w().status?.session?.accessToken,s=m()?.partyId,{listHoldings:r,tap:a}=p(),i=y(),[l,o]=x.useState(void 0),[n,c]=x.useState(void 0),[u,d]=x.useState(1e4),g=new Date,j=x.useCallback(async()=>{if(s){const h=await r({party:s});o(h)}else o(void 0)},[s,r]);return x.useEffect(()=>{let h=!1;return(async()=>{if(s){const N=await r({party:s});h||o(N)}else o(void 0)})(),()=>{h=!0}},[s,r]),e.jsxs("div",{children:[e.jsxs("form",{onSubmit:h=>h.preventDefault(),className:"tap",children:[e.jsx(T,{value:n,onChange:h=>c(h)}),e.jsx("input",{type:"number",value:u,onChange:h=>d(Number(h.target.value))}),e.jsx("button",{type:"submit",disabled:!t||!s||!n,onClick:()=>{a({registryUrls:i,party:s,sessionToken:t,instrumentId:n,amount:u}).then(()=>j())},children:"TAP"})]}),e.jsx("ul",{children:l?.map(h=>e.jsxs("li",{children:[C.isHoldingLocked(h,g)&&e.jsx("span",{children:"🔒"}),e.jsx(f,{amount:h.amount,instrument:h.instrumentId})]},h.contractId))})]})},X=()=>{const t=O(),s=y(),[r,a]=x.useState(""),[i,l]=x.useState(""),o=[...s.keys()];return o.sort(),e.jsxs("div",{children:[e.jsx("h2",{children:"Registries"}),e.jsxs("table",{children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Party ID"}),e.jsx("th",{children:"Registry URL"})]})}),e.jsx("tbody",{children:o.map(n=>e.jsxs("tr",{children:[e.jsx("td",{children:n}),e.jsx("td",{children:s.get(n)}),e.jsx("td",{children:e.jsx("button",{type:"submit",onClick:()=>t.deleteRegistryUrl(n),children:"🗑️"})})]},n))})]}),e.jsx("h2",{children:"Add new registry"}),e.jsxs("form",{onSubmit:n=>n.preventDefault(),children:[e.jsx("p",{children:"The party ID is optional and will be retrieved from the URL if not specified. Note that in this case you need to trust the URL to provide the right information."}),e.jsx("label",{htmlFor:"partyId",children:"Party ID: "}),e.jsx("input",{id:"partyId",value:r,onChange:n=>a(n.target.value)}),e.jsx("br",{}),e.jsx("label",{htmlFor:"url",children:"Registry URL: "}),e.jsx("input",{id:"url",value:i,onChange:n=>l(n.target.value)}),e.jsx("br",{}),e.jsx("button",{type:"submit",onClick:async()=>t.setRegistryUrl(r&&void 0,i),children:"Add registry"})]})]})},z=()=>{const t=m()?.partyId;return b(Q(t))},A=({party:t,contractId:s,transferInstructionView:r})=>{const a=y(),{exerciseTransfer:i}=p(),l=r.transfer,o=r.status,{meta:n}=l,c=n.values[C.MEMO_KEY],u="tag"in o?o.tag:o.current?.tag;return e.jsxs("div",{children:["status: ",e.jsx("strong",{children:u})," ",e.jsx("br",{}),"sender: ",e.jsx("strong",{children:l.sender})," ",e.jsx("br",{}),"receiver: ",e.jsx("strong",{children:l.receiver})," ",e.jsx("br",{}),c&&e.jsxs("span",{children:["message: ",e.jsx("strong",{children:c})," ",e.jsx("br",{})]}),e.jsx(f,{amount:l.amount,instrument:l.instrumentId}),u==="TransferPendingReceiverAcceptance"&&l.receiver===t&&e.jsxs("div",{children:[e.jsx("button",{disabled:!s,onClick:()=>{i({registryUrls:a,party:t,contractId:s,instrumentId:l.instrumentId,instructionChoice:"Accept"})},children:"Accept"}),e.jsx("button",{disabled:!s,onClick:()=>{i({registryUrls:a,party:t,contractId:s,instrumentId:l.instrumentId,instructionChoice:"Reject"})},children:"Reject"})]}),l.status=="pending"&&!l.incoming&&e.jsx("button",{onClick:()=>{i({registryUrls:a,party:t,contractId:l.contractId,instrumentId:l.instrumentId,instructionChoice:"Withdraw"})},children:"Withdraw"})]})},Y=()=>{const t=m()?.partyId,{data:s}=z();return e.jsxs("div",{children:[e.jsx("h2",{children:"Pending transfers"}),t&&e.jsx("ul",{children:s?.map(r=>e.jsx("li",{children:e.jsx(A,{party:t,contractId:r.contractId,transferInstructionView:r.interfaceViewValue})},r.contractId))})]})},_=()=>{const t=m()?.partyId,{mutate:s}=U(),[r,a]=x.useState(""),[i,l]=x.useState(100),[o,n]=x.useState(""),[c,u]=x.useState(void 0);return e.jsxs("form",{onSubmit:d=>d.preventDefault(),children:[e.jsx("label",{htmlFor:"instrument",children:"Instrument "}),e.jsx(T,{value:c,onChange:d=>u(d)}),e.jsx("br",{}),e.jsx("label",{htmlFor:"receiver",children:"Receiver: "}),e.jsx("input",{id:"receiver",value:r,onChange:d=>a(d.target.value)}),e.jsx("br",{}),e.jsx("label",{htmlFor:"amount",children:"Amount to transfer: "}),e.jsx("input",{id:"amount",type:"number",value:i,onChange:d=>l(Number(d.target.value))}),e.jsx("br",{}),e.jsx("label",{htmlFor:"memo",children:"Message for receiver: "}),e.jsx("input",{id:"memo",value:o,onChange:d=>n(d.target.value)}),e.jsx("br",{}),e.jsx("button",{type:"submit",disabled:!t||!c,onClick:()=>{s({instrumentId:c,sender:t,receiver:r,amount:`${i}`,expiry:new Date(Date.now()+1440*60*1e3),memo:o||void 0})},children:"Transfer"})]})},S=()=>{const t=m()?.partyId,{getTransactionHistory:s}=p();return G({initialPageParam:null,queryKey:q.getTransactionHistory.forParty(t),queryFn:({pageParam:r})=>t?s({party:t,request:r}):I,getNextPageParam:r=>{if(r!==I&&!r.beginIsLedgerStart)return{endInclusive:r.beginExclusive}},staleTime:1/0})},Z=()=>{const{data:t}=S();return x.useMemo(()=>{const s=new Set,r=[];for(const a of t?.pages??[])for(const i of a?.transactions??[])s.has(i.offset)||(s.add(i.offset),i.events.length>0&&r.push(i));return r},[t])},P=({change:t})=>e.jsxs("span",{children:["In:",e.jsx(f,{instrument:t.instrumentId,amount:t.inputAmount}),", Out:",e.jsx(f,{instrument:t.instrumentId,amount:t.outputAmount}),", Change:",e.jsx(f,{instrument:t.instrumentId,amount:t.amountChange})]}),ee=()=>{const t=m()?.partyId,{status:s,fetchNextPage:r,isFetchingNextPage:a,hasNextPage:i}=S(),l=Z();return e.jsxs("div",{children:[e.jsx("h2",{children:"Transaction History"}),t&&l.map(o=>e.jsxs("div",{children:[e.jsxs("code",{children:["At ",o.offset," (",o.recordTime,")"]}),e.jsx("br",{}),o.events.map((n,c)=>e.jsx("div",{children:n.transferInstruction?e.jsx(A,{party:t,transferInstructionView:n.transferInstruction}):e.jsxs("div",{children:[e.jsx("strong",{children:n.label.type}),n.lockedHoldingsChangeSummaries.length>0&&e.jsxs("div",{children:[e.jsx("strong",{children:"Locked:"}),n.lockedHoldingsChangeSummaries.map((u,d)=>e.jsx(P,{change:u},d))]}),n.unlockedHoldingsChangeSummaries.length>0&&e.jsxs("div",{children:[e.jsx("strong",{children:"Locked:"}),n.unlockedHoldingsChangeSummaries.map((u,d)=>e.jsx(P,{change:u},d))]})]})},c))]},o.updateId)),!i&&e.jsx("span",{children:"(end)"}),s==="pending"&&e.jsx("span",{children:"⏳"}),!a&&i&&t&&e.jsx("button",{disabled:a||!i||!t,onClick:()=>r(),children:"load more"})]})},te=()=>{const{error:t,status:s,connect:r,open:a,disconnect:i}=w(),l=s?.isConnected,o=m()?.partyId;return e.jsxs("div",{className:"card",children:[!l&&e.jsx("button",{onClick:()=>r(),children:"connect to Wallet Gateway"}),l&&e.jsx("button",{onClick:()=>i(),children:"disconnect"}),e.jsx("button",{onClick:()=>a(),children:"open Wallet Gateway"}),t&&e.jsxs("p",{className:"error",children:[e.jsx("b",{children:"Error:"})," ",e.jsx("i",{children:t})]}),e.jsx("br",{}),l&&e.jsxs("div",{children:["Party: ",o,e.jsx("br",{}),"SessionToken: ",s?.session?.accessToken?"ok":"nope"]})]})},se=()=>{const t=m()?.partyId;return b(B(t))},k=()=>{const t=m()?.partyId;return b(L(t))},R=({transferLegId:t,transferLeg:s})=>e.jsxs("div",{children:[e.jsxs("h3",{children:["Transfer leg ",t]}),e.jsx("strong",{children:"sender:"})," ",s.sender,e.jsx("br",{}),e.jsx("strong",{children:"receiver:"})," ",s.receiver,e.jsx("br",{}),e.jsx(f,{amount:s.amount,instrument:s.instrumentId})]}),ne=({party:t,contractId:s,allocation:r})=>{const{settlement:a,transferLeg:i,transferLegId:l}=r.allocation,o=y(),{withdrawAllocation:n}=p(),{refetch:c}=k();return e.jsxs("div",{children:[e.jsx("h3",{children:"Settlement"}),e.jsx("strong",{children:"executor:"})," ",a.executor,e.jsx("br",{}),e.jsx("strong",{children:"allocateBefore:"})," ",a.allocateBefore,new Date(a.allocateBefore)<=new Date&&"(EXPIRED!)",e.jsx("br",{}),e.jsx(R,{transferLegId:l,transferLeg:i}),i.sender===t&&e.jsx("button",{onClick:async()=>{await n({registryUrls:o,party:t,instrumentId:i.instrumentId,contractId:s}),c()},children:"Withdraw"})]})},re=({settlementInfo:t})=>e.jsxs("div",{children:[e.jsx("h3",{children:"Settlement"}),e.jsx("strong",{children:"executor:"})," ",t.executor,e.jsx("br",{}),e.jsx("strong",{children:"allocateBefore:"})," ",t.allocateBefore,new Date(t.allocateBefore)<=new Date&&"(EXPIRED!)",e.jsx("br",{})]}),ie=({party:t,allocationRequest:s,allocationsByTransferLegId:r})=>{const{settlement:a,transferLegs:i}=s,{mutate:l}=W(),{mutate:o}=$();return e.jsxs("div",{children:[e.jsx(re,{settlementInfo:a}),e.jsx("h3",{children:"Transfer Legs"}),Object.entries(i).map(([n,c])=>e.jsxs("div",{children:[e.jsx(R,{transferLegId:n,transferLeg:c}),c.sender===t&&e.jsx("button",{onClick:()=>l({party:t,allocationSpecification:{settlement:a,transferLegId:n,transferLeg:c}}),children:"Create Allocation"}),r?.get(n)?.map(u=>e.jsxs("div",{children:[e.jsx("span",{children:"Allocation Made"}),c.sender===t&&e.jsx("button",{onClick:()=>o({party:t,instrumentId:c.instrumentId,contractId:u.contractId}),children:"Withdraw Allocation"})]},u.contractId))]},n))]})},oe=()=>{const t=p(),s=m()?.partyId,{data:r}=se(),{data:a}=k(),i=x.useCallback((n,c)=>JSON.stringify([n.settlementRef.id,n.settlementRef.cid,c]),[]),[l,o]=x.useMemo(()=>{const n=new Map,c=[];for(const u of r??[]){const{settlement:d,transferLegs:g}=u.interfaceViewValue;for(const j in g){const h=i(d,j);n.set(h,[])}}for(const u of a??[]){const{settlement:d,transferLegId:g}=u.interfaceViewValue.allocation,j=i(d,g);n.has(j)?n.get(j).push(u):(console.log(n),c.push(u))}return[n,c]},[r,a,i]);return x.useEffect(()=>{s&&(async()=>{const n=await t.listAllocationInstructions({party:s});console.log("allocationInstructions",n)})()},[t,s]),e.jsxs("div",{children:[e.jsx("h2",{children:"Allocation requests"}),s&&r?.map(n=>e.jsx("div",{children:e.jsx(ie,{party:s,allocationRequest:n.interfaceViewValue,allocationsByTransferLegId:new Map(Object.keys(n.interfaceViewValue.transferLegs).map(c=>[c,l.get(i(n.interfaceViewValue.settlement,c))??[]]))})},n.contractId)),e.jsx("h2",{children:"Unknown Allocations"}),s&&o?.map(n=>e.jsx("div",{children:e.jsx(ne,{party:s,contractId:n.contractId,allocation:n.interfaceViewValue})},n.contractId))]})},ae=({tabs:t,initialValue:s})=>{const r=s??t[0]?.value,[a,i]=x.useState(r),l=t.find(o=>o.value===a);return e.jsxs("div",{children:[e.jsx("div",{role:"tablist",className:"flex gap-2 border-b",children:t.map(o=>e.jsx("button",{role:"tab","aria-selected":a===o.value,className:`${a===o.value?"bg-blue-500":"opacity-60"}`,onClick:()=>i(o.value),children:a===o.value?`[${o.label}]`:o.label},o.value))}),e.jsx("div",{role:"tabpanel",children:l?.content})]})};function ue(){return e.jsxs(e.Fragment,{children:[e.jsx("h1",{children:"dApp Portfolio"}),e.jsx(te,{}),e.jsx(ae,{tabs:[{label:"Holdings",value:"holdings",content:e.jsx(J,{})},{label:"Transfer",value:"twoStepTransfer",content:e.jsx(_,{})},{label:"Pending Transfers",value:"pendingTransfers",content:e.jsx(Y,{})},{label:"Transaction History",value:"transactionHistory",content:e.jsx(ee,{})},{label:"Allocations",value:"allocations",content:e.jsx(oe,{})},{label:"Registry Settings",value:"registries",content:e.jsx(X,{})}]})]})}export{ue as component};
@@ -1,2 +1,2 @@
1
- import{g as y,a as x,r as d,u as b,j as s,c as h,b as m,s as v,P as E,m as $,d as f,e as J,f as X,h as G,i as K,t as P,T as U,B as j,k as A,l as Q,D as Y,I as Z,o as _,n as tt,p as et}from"./index-JKRS33AS.js";import{C as ot}from"./copyable-identifier-JPGZUjeF.js";function st(t){return y("MuiCard",t)}x("MuiCard",["root"]);const at=t=>{const{classes:o}=t;return m({root:["root"]},st,o)},rt=v(E,{name:"MuiCard",slot:"Root"})({overflow:"hidden"}),nt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiCard"}),{className:i,raised:e=!1,...n}=r,l={...r,raised:e},c=at(l);return s.jsx(rt,{className:h(c.root,i),elevation:e?8:void 0,ref:a,ownerState:l,...n})});function lt(t){return y("MuiCardContent",t)}x("MuiCardContent",["root"]);const it=t=>{const{classes:o}=t;return m({root:["root"]},lt,o)},ct=v("div",{name:"MuiCardContent",slot:"Root"})({padding:16,"&:last-child":{paddingBottom:24}}),dt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiCardContent"}),{className:i,component:e="div",...n}=r,l={...r,component:e},c=it(l);return s.jsx(ct,{as:e,className:h(c.root,i),ownerState:l,ref:a,...n})}),V=d.createContext();function pt(t){return y("MuiTable",t)}x("MuiTable",["root","stickyHeader"]);const ut=t=>{const{classes:o,stickyHeader:a}=t;return m({root:["root",a&&"stickyHeader"]},pt,o)},gt=v("table",{name:"MuiTable",slot:"Root",overridesResolver:(t,o)=>{const{ownerState:a}=t;return[o.root,a.stickyHeader&&o.stickyHeader]}})($(({theme:t})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:o})=>o.stickyHeader,style:{borderCollapse:"separate"}}]}))),D="table",yt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTable"}),{className:i,component:e=D,padding:n="normal",size:l="medium",stickyHeader:c=!1,...u}=r,p={...r,component:e,padding:n,size:l,stickyHeader:c},T=ut(p),k=d.useMemo(()=>({padding:n,size:l,stickyHeader:c}),[n,l,c]);return s.jsx(V.Provider,{value:k,children:s.jsx(gt,{as:e,role:e===D?null:"table",ref:a,className:h(T.root,i),ownerState:p,...u})})}),S=d.createContext();function xt(t){return y("MuiTableBody",t)}x("MuiTableBody",["root"]);const bt=t=>{const{classes:o}=t;return m({root:["root"]},xt,o)},ht=v("tbody",{name:"MuiTableBody",slot:"Root"})({display:"table-row-group"}),mt={variant:"body"},L="tbody",vt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTableBody"}),{className:i,component:e=L,...n}=r,l={...r,component:e},c=bt(l);return s.jsx(S.Provider,{value:mt,children:s.jsx(ht,{className:h(c.root,i),as:e,ref:a,role:e===L?null:"rowgroup",ownerState:l,...n})})});function Ct(t){return y("MuiTableCell",t)}const ft=x("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),Tt=t=>{const{classes:o,variant:a,align:r,padding:i,size:e,stickyHeader:n}=t,l={root:["root",a,n&&"stickyHeader",r!=="inherit"&&`align${f(r)}`,i!=="normal"&&`padding${f(i)}`,`size${f(e)}`]};return m(l,Ct,o)},Rt=v("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(t,o)=>{const{ownerState:a}=t;return[o.root,o[a.variant],o[`size${f(a.size)}`],a.padding!=="normal"&&o[`padding${f(a.padding)}`],a.align!=="inherit"&&o[`align${f(a.align)}`],a.stickyHeader&&o.stickyHeader]}})($(({theme:t})=>({...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?`1px solid ${t.vars.palette.TableCell.border}`:`1px solid
1
+ import{g as y,a as x,r as d,u as b,j as s,c as h,b as m,s as v,P as E,m as $,d as f,e as J,f as X,h as G,i as K,t as P,T as U,B as j,k as A,l as Q,D as Y,I as Z,o as _,n as tt,p as et}from"./index-CYRjFua4.js";import{C as ot}from"./copyable-identifier-ItJqhPOL.js";function st(t){return y("MuiCard",t)}x("MuiCard",["root"]);const at=t=>{const{classes:o}=t;return m({root:["root"]},st,o)},rt=v(E,{name:"MuiCard",slot:"Root"})({overflow:"hidden"}),nt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiCard"}),{className:i,raised:e=!1,...n}=r,l={...r,raised:e},c=at(l);return s.jsx(rt,{className:h(c.root,i),elevation:e?8:void 0,ref:a,ownerState:l,...n})});function lt(t){return y("MuiCardContent",t)}x("MuiCardContent",["root"]);const it=t=>{const{classes:o}=t;return m({root:["root"]},lt,o)},ct=v("div",{name:"MuiCardContent",slot:"Root"})({padding:16,"&:last-child":{paddingBottom:24}}),dt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiCardContent"}),{className:i,component:e="div",...n}=r,l={...r,component:e},c=it(l);return s.jsx(ct,{as:e,className:h(c.root,i),ownerState:l,ref:a,...n})}),V=d.createContext();function pt(t){return y("MuiTable",t)}x("MuiTable",["root","stickyHeader"]);const ut=t=>{const{classes:o,stickyHeader:a}=t;return m({root:["root",a&&"stickyHeader"]},pt,o)},gt=v("table",{name:"MuiTable",slot:"Root",overridesResolver:(t,o)=>{const{ownerState:a}=t;return[o.root,a.stickyHeader&&o.stickyHeader]}})($(({theme:t})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:o})=>o.stickyHeader,style:{borderCollapse:"separate"}}]}))),D="table",yt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTable"}),{className:i,component:e=D,padding:n="normal",size:l="medium",stickyHeader:c=!1,...u}=r,p={...r,component:e,padding:n,size:l,stickyHeader:c},T=ut(p),k=d.useMemo(()=>({padding:n,size:l,stickyHeader:c}),[n,l,c]);return s.jsx(V.Provider,{value:k,children:s.jsx(gt,{as:e,role:e===D?null:"table",ref:a,className:h(T.root,i),ownerState:p,...u})})}),S=d.createContext();function xt(t){return y("MuiTableBody",t)}x("MuiTableBody",["root"]);const bt=t=>{const{classes:o}=t;return m({root:["root"]},xt,o)},ht=v("tbody",{name:"MuiTableBody",slot:"Root"})({display:"table-row-group"}),mt={variant:"body"},L="tbody",vt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTableBody"}),{className:i,component:e=L,...n}=r,l={...r,component:e},c=bt(l);return s.jsx(S.Provider,{value:mt,children:s.jsx(ht,{className:h(c.root,i),as:e,ref:a,role:e===L?null:"rowgroup",ownerState:l,...n})})});function Ct(t){return y("MuiTableCell",t)}const ft=x("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),Tt=t=>{const{classes:o,variant:a,align:r,padding:i,size:e,stickyHeader:n}=t,l={root:["root",a,n&&"stickyHeader",r!=="inherit"&&`align${f(r)}`,i!=="normal"&&`padding${f(i)}`,`size${f(e)}`]};return m(l,Ct,o)},Rt=v("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(t,o)=>{const{ownerState:a}=t;return[o.root,o[a.variant],o[`size${f(a.size)}`],a.padding!=="normal"&&o[`padding${f(a.padding)}`],a.align!=="inherit"&&o[`align${f(a.align)}`],a.stickyHeader&&o.stickyHeader]}})($(({theme:t})=>({...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?`1px solid ${t.vars.palette.TableCell.border}`:`1px solid
2
2
  ${t.palette.mode==="light"?t.lighten(t.alpha(t.palette.divider,1),.88):t.darken(t.alpha(t.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(t.vars||t).palette.text.primary,lineHeight:t.typography.pxToRem(24),fontWeight:t.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(t.vars||t).palette.text.primary}},{props:{variant:"footer"},style:{color:(t.vars||t).palette.text.secondary,lineHeight:t.typography.pxToRem(21),fontSize:t.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${ft.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}}},{props:{padding:"checkbox"},style:{width:48,padding:"0 0 0 4px"}},{props:{padding:"none"},style:{padding:0}},{props:{align:"left"},style:{textAlign:"left"}},{props:{align:"center"},style:{textAlign:"center"}},{props:{align:"right"},style:{textAlign:"right",flexDirection:"row-reverse"}},{props:{align:"justify"},style:{textAlign:"justify"}},{props:({ownerState:o})=>o.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(t.vars||t).palette.background.default}}]}))),C=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTableCell"}),{align:i="inherit",className:e,component:n,padding:l,scope:c,size:u,sortDirection:p,variant:T,...k}=r,g=d.useContext(V),w=d.useContext(S),z=w&&w.variant==="head";let R;n?R=n:R=z?"th":"td";let M=c;R==="td"?M=void 0:!M&&z&&(M="col");const B=T||w&&w.variant,I={...r,align:i,component:R,padding:l||(g&&g.padding?g.padding:"normal"),size:u||(g&&g.size?g.size:"medium"),sortDirection:p,stickyHeader:B==="head"&&g&&g.stickyHeader,variant:B},q=Tt(I);let N=null;return p&&(N=p==="asc"?"ascending":"descending"),s.jsx(Rt,{as:R,ref:a,className:h(q.root,e),"aria-sort":N,scope:M,ownerState:I,...k})});function jt(t){return y("MuiTableContainer",t)}x("MuiTableContainer",["root"]);const wt=t=>{const{classes:o}=t;return m({root:["root"]},jt,o)},Mt=v("div",{name:"MuiTableContainer",slot:"Root"})({width:"100%",overflowX:"auto"}),Ut=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTableContainer"}),{className:i,component:e="div",...n}=r,l={...r,component:e},c=wt(l);return s.jsx(Mt,{ref:a,as:e,className:h(c.root,i),ownerState:l,...n})});function St(t){return y("MuiTableHead",t)}x("MuiTableHead",["root"]);const kt=t=>{const{classes:o}=t;return m({root:["root"]},St,o)},Ht=v("thead",{name:"MuiTableHead",slot:"Root"})({display:"table-header-group"}),$t={variant:"head"},W="thead",zt=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTableHead"}),{className:i,component:e=W,...n}=r,l={...r,component:e},c=kt(l);return s.jsx(S.Provider,{value:$t,children:s.jsx(Ht,{as:e,className:h(c.root,i),ref:a,role:e===W?null:"rowgroup",ownerState:l,...n})})});function Bt(t){return y("MuiTableRow",t)}const F=x("MuiTableRow",["root","selected","hover","head","footer"]),It=t=>{const{classes:o,selected:a,hover:r,head:i,footer:e}=t;return m({root:["root",a&&"selected",r&&"hover",i&&"head",e&&"footer"]},Bt,o)},Nt=v("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(t,o)=>{const{ownerState:a}=t;return[o.root,a.head&&o.head,a.footer&&o.footer]}})($(({theme:t})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${F.hover}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${F.selected}`]:{backgroundColor:t.alpha((t.vars||t).palette.primary.main,(t.vars||t).palette.action.selectedOpacity),"&:hover":{backgroundColor:t.alpha((t.vars||t).palette.primary.main,`${(t.vars||t).palette.action.selectedOpacity} + ${(t.vars||t).palette.action.hoverOpacity}`)}}}))),O="tr",H=d.forwardRef(function(o,a){const r=b({props:o,name:"MuiTableRow"}),{className:i,component:e=O,hover:n=!1,selected:l=!1,...c}=r,u=d.useContext(S),p={...r,component:e,hover:n,selected:l,head:u&&u.variant==="head",footer:u&&u.variant==="footer"},T=It(p);return s.jsx(Nt,{as:e,ref:a,className:h(T.root,i),role:e===O?null:"row",ownerState:p,...c})}),Pt=J(s.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"})),At=_({partyId:et().min(1,"Party ID is required"),registryUrl:tt("Must be a valid URL")});function Dt(){const t=X(),o=G(),a=Array.from(o.entries()).map(([e,n])=>({partyId:e,registryUrl:n})),r=K({defaultValues:{partyId:"",registryUrl:""},onSubmit:async({value:e})=>{const n=e.partyId.trim()===""?void 0:e.partyId;t.setRegistryUrl(n,e.registryUrl),P.success("Registry URL set"),r.reset()},validators:{onChange:At}}),i=e=>{t.deleteRegistryUrl(e),P.success("Registry URL deleted")};return s.jsx(nt,{sx:{mb:3},children:s.jsxs(dt,{children:[s.jsx(U,{variant:"h6",component:"h2",gutterBottom:!0,children:"Registries"}),s.jsx(U,{variant:"body2",color:"text.secondary",sx:{mb:3},children:"The API URLs provided by the party managing the token standard compliant instruments"}),s.jsx(j,{sx:{mb:3},children:s.jsx("form",{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),r.handleSubmit()},children:s.jsxs(j,{sx:{display:"flex",gap:2,mb:2},children:[s.jsx(r.Field,{name:"partyId",children:e=>s.jsx(A,{label:"Party ID",value:e.state.value,onChange:n=>e.handleChange(n.target.value),onBlur:e.handleBlur,error:e.state.meta.isTouched&&e.state.meta.errors.length>0,helperText:e.state.meta.isTouched&&e.state.meta.errors[0]?.message,fullWidth:!0,size:"small"})}),s.jsx(r.Field,{name:"registryUrl",children:e=>s.jsx(A,{label:"Registry URL",value:e.state.value,onChange:n=>e.handleChange(n.target.value),onBlur:e.handleBlur,error:e.state.meta.isTouched&&e.state.meta.errors.length>0,helperText:e.state.meta.isTouched&&e.state.meta.errors[0]?.message,fullWidth:!0,size:"small"})}),s.jsx(r.Subscribe,{selector:e=>({canSubmit:e.canSubmit,isSubmitting:e.isSubmitting}),children:({canSubmit:e,isSubmitting:n})=>s.jsx(Q,{type:"submit",variant:"contained",disabled:!e||n,children:n?"Submitting...":"Add"})})]})})}),s.jsx(Y,{sx:{mb:3}}),s.jsx(Ut,{component:E,variant:"outlined",sx:{borderRadius:1},children:s.jsxs(yt,{size:"medium",children:[s.jsx(zt,{children:s.jsxs(H,{sx:{backgroundColor:"action.hover"},children:[s.jsx(C,{sx:{py:2,px:3,fontWeight:"medium"},children:"Party ID"}),s.jsx(C,{sx:{py:2,px:3,fontWeight:"medium"},children:"Registry URL"}),s.jsx(C,{sx:{py:2,px:3,fontWeight:"medium"},children:"Actions"})]})}),s.jsx(vt,{children:a.length>0?a.map(e=>s.jsxs(H,{sx:{"&:hover":{backgroundColor:"action.hover"}},children:[s.jsx(C,{sx:{py:2.5,px:3},children:s.jsx(ot,{value:e.partyId,maxLength:30})}),s.jsx(C,{sx:{py:2.5,px:3},children:e.registryUrl}),s.jsx(C,{sx:{py:2.5,px:3},children:s.jsx(j,{sx:{display:"flex",gap:1},children:s.jsx(Z,{size:"small",onClick:()=>i(e.partyId),color:"error",children:s.jsx(Pt,{fontSize:"small"})})})})]},e.partyId)):s.jsx(H,{children:s.jsx(C,{colSpan:3,sx:{py:4,px:3},children:s.jsx(j,{sx:{textAlign:"center"},children:s.jsx(U,{variant:"body1",color:"text.secondary",children:"No registries configured"})})})})})]})})]})})}function Ft(){return s.jsxs(j,{sx:{mt:4},children:[s.jsx(U,{variant:"h4",component:"h1",gutterBottom:!0,children:"Settings"}),s.jsx(Dt,{})]})}export{Ft as component};
@@ -1 +1 @@
1
- import{E as n,K as r,h as a,O as l,R as u}from"./index-JKRS33AS.js";const y=s=>{const{listPendingTransfers:e}=n();return{retry:10,queryKey:r.listPendingTransfers.forParty(s),queryFn:async()=>s?e({party:s}):[]}},q=s=>{const{listAllocationRequests:e}=n();return{queryKey:r.listAllocationRequests.forParty(s),queryFn:()=>e({party:s}),enabled:!!s}},A=s=>{const{listAllocations:e}=n();return{queryKey:r.listAllocations.forParty(s),queryFn:()=>e({party:s}),enabled:!!s}},f=()=>{const{createAllocation:s}=n(),e=a(),o=l();return u({mutationFn:t=>s({registryUrls:e,...t}),onSuccess:async(t,i)=>{await o.invalidateQueries({queryKey:r.listAllocations.forParty(i.party)})}})},d=()=>{const{withdrawAllocation:s}=n(),e=a(),o=l();return u({mutationFn:async t=>s({registryUrls:e,...t}),onSuccess:async(t,i)=>{await o.invalidateQueries({queryKey:r.listAllocations.forParty(i.party)})}})};export{q as a,A as b,f as c,d,y as u};
1
+ import{E as n,K as r,h as a,O as l,R as u}from"./index-CYRjFua4.js";const y=s=>{const{listPendingTransfers:e}=n();return{retry:10,queryKey:r.listPendingTransfers.forParty(s),queryFn:async()=>s?e({party:s}):[]}},q=s=>{const{listAllocationRequests:e}=n();return{queryKey:r.listAllocationRequests.forParty(s),queryFn:()=>e({party:s}),enabled:!!s}},A=s=>{const{listAllocations:e}=n();return{queryKey:r.listAllocations.forParty(s),queryFn:()=>e({party:s}),enabled:!!s}},f=()=>{const{createAllocation:s}=n(),e=a(),o=l();return u({mutationFn:t=>s({registryUrls:e,...t}),onSuccess:async(t,i)=>{await o.invalidateQueries({queryKey:r.listAllocations.forParty(i.party)})}})},d=()=>{const{withdrawAllocation:s}=n(),e=a(),o=l();return u({mutationFn:async t=>s({registryUrls:e,...t}),onSuccess:async(t,i)=>{await o.invalidateQueries({queryKey:r.listAllocations.forParty(i.party)})}})};export{q as a,A as b,f as c,d,y as u};
@@ -1 +1 @@
1
- import{g as J,a as X,r as p,u as Y,a0 as jt,a1 as At,a2 as Rt,a3 as It,a4 as Pt,M as v,c as O,j as o,b as Z,s as C,m as L,a5 as at,a6 as Tt,P as ct,a7 as Et,e as st,z as Mt,G as $t,a8 as kt,a9 as Wt,aa as zt,K as Dt,F as Nt,B as m,T as S,ab as Lt,$ as Ft,l as Ht,_ as Bt}from"./index-JKRS33AS.js";import{C as dt}from"./copyable-identifier-JPGZUjeF.js";import{A as Gt,S as lt}from"./Avatar-BcrMcSiO.js";function Ut(t){return J("MuiCollapse",t)}X("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const Vt=t=>{const{orientation:e,classes:n}=t,r={root:["root",`${e}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${e}`],wrapperInner:["wrapperInner",`${e}`]};return Z(r,Ut,n)},qt=C("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:n}=t;return[e.root,e[n.orientation],n.state==="entered"&&e.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&e.hidden]}})(L(({theme:t})=>({height:0,overflow:"hidden",transition:t.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:t.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>e.state==="exited"&&!e.in&&e.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),Ot=C("div",{name:"MuiCollapse",slot:"Wrapper"})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Kt=C("div",{name:"MuiCollapse",slot:"WrapperInner"})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),nt=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiCollapse"}),{addEndListener:i,children:a,className:u,collapsedSize:c="0px",component:b,easing:l,in:h,onEnter:F,onEntered:$,onEntering:H,onExit:k,onExited:B,onExiting:x,orientation:w="vertical",slots:j={},slotProps:A={},style:W,timeout:g=jt.standard,TransitionComponent:R=At,...z}=r,I={...r,orientation:w,collapsedSize:c},P=Vt(I),d=Rt(),G=It(),T=p.useRef(null),K=p.useRef(),U=typeof c=="number"?`${c}px`:c,D=w==="horizontal",N=D?"width":"height",V=p.useRef(null),tt=Pt(n,V),M=s=>f=>{if(s){const y=V.current;f===void 0?s(y):s(y,f)}},ot=()=>T.current?T.current[D?"clientWidth":"clientHeight"]:0,ut=M((s,f)=>{T.current&&D&&(T.current.style.position="absolute"),s.style[N]=U,F&&F(s,f)}),xt=M((s,f)=>{const y=ot();T.current&&D&&(T.current.style.position="");const{duration:E,easing:Q}=at({style:W,timeout:g,easing:l},{mode:"enter"});if(g==="auto"){const it=d.transitions.getAutoHeightDuration(y);s.style.transitionDuration=`${it}ms`,K.current=it}else s.style.transitionDuration=typeof E=="string"?E:`${E}ms`;s.style[N]=`${y}px`,s.style.transitionTimingFunction=Q,H&&H(s,f)}),mt=M((s,f)=>{s.style[N]="auto",$&&$(s,f)}),ht=M(s=>{s.style[N]=`${ot()}px`,k&&k(s)}),gt=M(B),ft=M(s=>{const f=ot(),{duration:y,easing:E}=at({style:W,timeout:g,easing:l},{mode:"exit"});if(g==="auto"){const Q=d.transitions.getAutoHeightDuration(f);s.style.transitionDuration=`${Q}ms`,K.current=Q}else s.style.transitionDuration=typeof y=="string"?y:`${y}ms`;s.style[N]=U,s.style.transitionTimingFunction=E,x&&x(s)}),yt=s=>{g==="auto"&&G.start(K.current||0,s),i&&i(V.current,s)},et={slots:j,slotProps:A,component:b},[bt,rt]=v("root",{ref:tt,className:O(P.root,u),elementType:qt,externalForwardedProps:et,ownerState:I,additionalProps:{style:{[D?"minWidth":"minHeight"]:U,...W}}}),[wt,St]=v("wrapper",{ref:T,className:P.wrapper,elementType:Ot,externalForwardedProps:et,ownerState:I}),[vt,Ct]=v("wrapperInner",{className:P.wrapperInner,elementType:Kt,externalForwardedProps:et,ownerState:I});return o.jsx(R,{in:h,onEnter:ut,onEntered:mt,onEntering:xt,onExit:ht,onExited:gt,onExiting:ft,addEndListener:yt,nodeRef:V,timeout:g==="auto"?null:g,...z,children:(s,{ownerState:f,...y})=>{const E={...I,state:s};return o.jsx(bt,{...rt,className:O(rt.className,{entered:P.entered,exited:!h&&U==="0px"&&P.hidden}[s]),ownerState:E,...y,children:o.jsx(wt,{...St,ownerState:E,children:o.jsx(vt,{...Ct,ownerState:E,children:a})})})}})});nt&&(nt.muiSupportAuto=!0);const pt=p.createContext({});function Qt(t){return J("MuiAccordion",t)}const _=X("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),_t=t=>{const{classes:e,square:n,expanded:r,disabled:i,disableGutters:a}=t;return Z({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},Qt,e)},Jt=C(ct,{name:"MuiAccordion",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:n}=t;return[{[`& .${_.region}`]:e.region},e.root,!n.square&&e.rounded,!n.disableGutters&&e.gutters]}})(L(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{position:"relative",transition:t.transitions.create(["margin"],e),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(t.vars||t).palette.divider,transition:t.transitions.create(["opacity","background-color"],e)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${_.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${_.disabled}`]:{backgroundColor:(t.vars||t).palette.action.disabledBackground}}}),L(({theme:t})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${_.expanded}`]:{margin:"16px 0"}}}]}))),Xt=C("h3",{name:"MuiAccordion",slot:"Heading"})({all:"unset"}),Yt=C("div",{name:"MuiAccordion",slot:"Region"})({}),Zt=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiAccordion"}),{children:i,className:a,defaultExpanded:u=!1,disabled:c=!1,disableGutters:b=!1,expanded:l,onChange:h,slots:F={},slotProps:$={},TransitionComponent:H,TransitionProps:k,...B}=r,[x,w]=Tt({controlled:l,default:u,name:"Accordion",state:"expanded"}),j=p.useCallback(M=>{w(!x),h&&h(M,!x)},[x,h,w]),[A,...W]=p.Children.toArray(i),g=p.useMemo(()=>({expanded:x,disabled:c,disableGutters:b,toggle:j}),[x,c,b,j]),R={...r,disabled:c,disableGutters:b,expanded:x},z=_t(R),I={transition:H,...F},P={transition:k,...$},d={slots:I,slotProps:P},[G,T]=v("root",{elementType:Jt,externalForwardedProps:{...d,...B},className:O(z.root,a),shouldForwardComponentProp:!0,ownerState:R,ref:n}),[K,U]=v("heading",{elementType:Xt,externalForwardedProps:d,className:z.heading,ownerState:R}),[D,N]=v("transition",{elementType:nt,externalForwardedProps:d,ownerState:R}),[V,tt]=v("region",{elementType:Yt,externalForwardedProps:d,ownerState:R,className:z.region,additionalProps:{"aria-labelledby":A.props.id,id:A.props["aria-controls"],role:"region"}});return o.jsxs(G,{...T,children:[o.jsx(K,{...U,children:o.jsx(pt.Provider,{value:g,children:A})}),o.jsx(D,{in:x,timeout:"auto",...N,children:o.jsx(V,{...tt,children:W})})]})});function to(t){return J("MuiAccordionDetails",t)}X("MuiAccordionDetails",["root"]);const oo=t=>{const{classes:e}=t;return Z({root:["root"]},to,e)},eo=C("div",{name:"MuiAccordionDetails",slot:"Root"})(L(({theme:t})=>({padding:t.spacing(1,2,2)}))),no=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiAccordionDetails"}),{className:i,...a}=r,u=r,c=oo(u);return o.jsx(eo,{className:O(c.root,i),ref:n,ownerState:u,...a})});function so(t){return J("MuiAccordionSummary",t)}const q=X("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),ro=t=>{const{classes:e,expanded:n,disabled:r,disableGutters:i}=t;return Z({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},so,e)},io=C(Et,{name:"MuiAccordionSummary",slot:"Root"})(L(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:t.spacing(0,2),transition:t.transitions.create(["min-height","background-color"],e),[`&.${q.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${q.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`&:hover:not(.${q.disabled})`]:{cursor:"pointer"},variants:[{props:n=>!n.disableGutters,style:{[`&.${q.expanded}`]:{minHeight:64}}}]}})),ao=C("span",{name:"MuiAccordionSummary",slot:"Content"})(L(({theme:t})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest}),[`&.${q.expanded}`]:{margin:"20px 0"}}}]}))),lo=C("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper"})(L(({theme:t})=>({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),[`&.${q.expanded}`]:{transform:"rotate(180deg)"}}))),co=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiAccordionSummary"}),{children:i,className:a,expandIcon:u,focusVisibleClassName:c,onClick:b,slots:l,slotProps:h,...F}=r,{disabled:$=!1,disableGutters:H,expanded:k,toggle:B}=p.useContext(pt),x=d=>{B&&B(d),b&&b(d)},w={...r,expanded:k,disabled:$,disableGutters:H},j=ro(w),A={slots:l,slotProps:h},[W,g]=v("root",{ref:n,shouldForwardComponentProp:!0,className:O(j.root,a),elementType:io,externalForwardedProps:{...A,...F},ownerState:w,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:$,"aria-expanded":k,focusVisibleClassName:O(j.focusVisible,c)},getSlotProps:d=>({...d,onClick:G=>{d.onClick?.(G),x(G)}})}),[R,z]=v("content",{className:j.content,elementType:ao,externalForwardedProps:A,ownerState:w}),[I,P]=v("expandIconWrapper",{className:j.expandIconWrapper,elementType:lo,externalForwardedProps:A,ownerState:w});return o.jsxs(W,{...g,children:[o.jsx(R,{...z,children:i}),u&&o.jsx(I,{...P,children:u})]})}),po=st(o.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"})),uo=t=>{const e=Mt(),n=$t({queryKey:Dt.listHoldings.forParty(t),queryFn:()=>zt({party:t}),enabled:!!t});return{instruments:p.useMemo(()=>n.data?kt(Wt(n.data),e):[],[n.data,e]),holdings:n.data??[],isLoading:n.isLoading,isError:n.isError,error:n.error,refetch:n.refetch}},xo=st(o.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"})),mo=st(o.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"})),ho=({holding:t,symbol:e})=>{const n=Nt.isHoldingLocked(t,new Date);return o.jsxs(m,{sx:{py:1.5,px:2,display:"flex",alignItems:"center",justifyContent:"space-between","&:not(:last-child)":{borderBottom:r=>`1px solid ${r.palette.divider}`}},children:[o.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:1},children:[o.jsxs(S,{variant:"body2",children:[t.amount," ",e]}),n&&o.jsx(mo,{fontSize:"small",color:"warning",sx:{fontSize:16}})]}),o.jsx(dt,{value:t.contractId,maxLength:12})]})},go=({aggregatedHolding:t,holdings:e})=>{const n=t.instrument?.symbol??t.instrumentId.id,r=t.instrument?.name??t.instrumentId.id,i=t.lockedAmount!=="0";return o.jsxs(Zt,{disableGutters:!0,sx:{"&:before":{display:"none"},boxShadow:"none","&:not(:last-child)":{borderBottom:a=>`1px solid ${a.palette.divider}`}},children:[o.jsx(co,{expandIcon:o.jsx(xo,{}),sx:{"&:hover":{backgroundColor:"action.hover"}},children:o.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:2,width:"100%",pr:2},children:[o.jsx(Gt,{sx:{width:32,height:32,fontSize:14},children:n[0]}),o.jsxs(m,{sx:{flexGrow:1},children:[o.jsx(S,{variant:"body2",color:"textSecondary",sx:{maxWidth:"150px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r}),o.jsxs(S,{variant:"body1",fontWeight:"bold",children:[t.totalAmount," ",n]})]}),i&&o.jsxs(m,{sx:{textAlign:"right"},children:[o.jsxs(S,{variant:"body2",color:"success.main",children:[t.availableAmount," available"]}),o.jsxs(S,{variant:"body2",color:"textSecondary",children:[t.lockedAmount," locked"]})]})]})}),o.jsxs(no,{sx:{p:0,pl:6},children:[o.jsxs(S,{variant:"caption",color:"textSecondary",sx:{px:2,pt:1,display:"block",textTransform:"uppercase",letterSpacing:.5},children:[t.numOfHoldings," holding",t.numOfHoldings!==1?"s":""]}),o.jsx(m,{children:e.map(a=>o.jsx(ho,{holding:a,symbol:n},a.contractId))})]})]})};function wo(){const{walletId:t}=Lt.useParams(),r=Ft().find(l=>l.partyId===t)?.hint??"Unknown Wallet",{instruments:i,holdings:a,isLoading:u,isError:c}=uo(t),b=l=>a.filter(h=>h.instrumentId.admin===l.admin&&h.instrumentId.id===l.id);return o.jsxs(m,{sx:{my:4},children:[o.jsx(Ht,{component:Bt,to:"/",startIcon:o.jsx(po,{}),sx:{mb:2},children:"Back to Dashboard"}),o.jsxs(m,{sx:{mb:4},children:[o.jsx(S,{variant:"h4",component:"h1",fontWeight:"bold",children:r}),o.jsx(m,{sx:{mt:1},children:o.jsx(dt,{value:t,maxLength:16})})]}),o.jsx(S,{variant:"h6",sx:{mb:2,textTransform:"uppercase"},fontWeight:"bold",children:"Holdings"}),o.jsx(ct,{variant:"outlined",children:u?o.jsxs(m,{sx:{p:2},children:[o.jsx(lt,{variant:"rectangular",height:60}),o.jsx(lt,{variant:"rectangular",height:60,sx:{mt:1}})]}):c?o.jsx(m,{sx:{p:4,textAlign:"center"},children:o.jsx(S,{color:"error",children:"Failed to load holdings"})}):i.length===0?o.jsx(m,{sx:{p:4,textAlign:"center"},children:o.jsx(S,{color:"textSecondary",children:"No holdings in this wallet"})}):i.map(l=>o.jsx(go,{aggregatedHolding:l,holdings:b(l.instrumentId)},`${l.instrumentId.admin}::${l.instrumentId.id}`))})]})}export{wo as component};
1
+ import{g as J,a as X,r as p,u as Y,a0 as jt,a1 as At,a2 as Rt,a3 as It,a4 as Pt,M as v,c as O,j as o,b as Z,s as C,m as L,a5 as at,a6 as Tt,P as ct,a7 as Et,e as st,z as Mt,G as $t,a8 as kt,a9 as Wt,aa as zt,K as Dt,F as Nt,B as m,T as S,ab as Lt,$ as Ft,l as Ht,_ as Bt}from"./index-CYRjFua4.js";import{C as dt}from"./copyable-identifier-ItJqhPOL.js";import{A as Gt,S as lt}from"./Avatar-CeFJWY-s.js";function Ut(t){return J("MuiCollapse",t)}X("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const Vt=t=>{const{orientation:e,classes:n}=t,r={root:["root",`${e}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${e}`],wrapperInner:["wrapperInner",`${e}`]};return Z(r,Ut,n)},qt=C("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:n}=t;return[e.root,e[n.orientation],n.state==="entered"&&e.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&e.hidden]}})(L(({theme:t})=>({height:0,overflow:"hidden",transition:t.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:t.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>e.state==="exited"&&!e.in&&e.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),Ot=C("div",{name:"MuiCollapse",slot:"Wrapper"})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Kt=C("div",{name:"MuiCollapse",slot:"WrapperInner"})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),nt=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiCollapse"}),{addEndListener:i,children:a,className:u,collapsedSize:c="0px",component:b,easing:l,in:h,onEnter:F,onEntered:$,onEntering:H,onExit:k,onExited:B,onExiting:x,orientation:w="vertical",slots:j={},slotProps:A={},style:W,timeout:g=jt.standard,TransitionComponent:R=At,...z}=r,I={...r,orientation:w,collapsedSize:c},P=Vt(I),d=Rt(),G=It(),T=p.useRef(null),K=p.useRef(),U=typeof c=="number"?`${c}px`:c,D=w==="horizontal",N=D?"width":"height",V=p.useRef(null),tt=Pt(n,V),M=s=>f=>{if(s){const y=V.current;f===void 0?s(y):s(y,f)}},ot=()=>T.current?T.current[D?"clientWidth":"clientHeight"]:0,ut=M((s,f)=>{T.current&&D&&(T.current.style.position="absolute"),s.style[N]=U,F&&F(s,f)}),xt=M((s,f)=>{const y=ot();T.current&&D&&(T.current.style.position="");const{duration:E,easing:Q}=at({style:W,timeout:g,easing:l},{mode:"enter"});if(g==="auto"){const it=d.transitions.getAutoHeightDuration(y);s.style.transitionDuration=`${it}ms`,K.current=it}else s.style.transitionDuration=typeof E=="string"?E:`${E}ms`;s.style[N]=`${y}px`,s.style.transitionTimingFunction=Q,H&&H(s,f)}),mt=M((s,f)=>{s.style[N]="auto",$&&$(s,f)}),ht=M(s=>{s.style[N]=`${ot()}px`,k&&k(s)}),gt=M(B),ft=M(s=>{const f=ot(),{duration:y,easing:E}=at({style:W,timeout:g,easing:l},{mode:"exit"});if(g==="auto"){const Q=d.transitions.getAutoHeightDuration(f);s.style.transitionDuration=`${Q}ms`,K.current=Q}else s.style.transitionDuration=typeof y=="string"?y:`${y}ms`;s.style[N]=U,s.style.transitionTimingFunction=E,x&&x(s)}),yt=s=>{g==="auto"&&G.start(K.current||0,s),i&&i(V.current,s)},et={slots:j,slotProps:A,component:b},[bt,rt]=v("root",{ref:tt,className:O(P.root,u),elementType:qt,externalForwardedProps:et,ownerState:I,additionalProps:{style:{[D?"minWidth":"minHeight"]:U,...W}}}),[wt,St]=v("wrapper",{ref:T,className:P.wrapper,elementType:Ot,externalForwardedProps:et,ownerState:I}),[vt,Ct]=v("wrapperInner",{className:P.wrapperInner,elementType:Kt,externalForwardedProps:et,ownerState:I});return o.jsx(R,{in:h,onEnter:ut,onEntered:mt,onEntering:xt,onExit:ht,onExited:gt,onExiting:ft,addEndListener:yt,nodeRef:V,timeout:g==="auto"?null:g,...z,children:(s,{ownerState:f,...y})=>{const E={...I,state:s};return o.jsx(bt,{...rt,className:O(rt.className,{entered:P.entered,exited:!h&&U==="0px"&&P.hidden}[s]),ownerState:E,...y,children:o.jsx(wt,{...St,ownerState:E,children:o.jsx(vt,{...Ct,ownerState:E,children:a})})})}})});nt&&(nt.muiSupportAuto=!0);const pt=p.createContext({});function Qt(t){return J("MuiAccordion",t)}const _=X("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),_t=t=>{const{classes:e,square:n,expanded:r,disabled:i,disableGutters:a}=t;return Z({root:["root",!n&&"rounded",r&&"expanded",i&&"disabled",!a&&"gutters"],heading:["heading"],region:["region"]},Qt,e)},Jt=C(ct,{name:"MuiAccordion",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:n}=t;return[{[`& .${_.region}`]:e.region},e.root,!n.square&&e.rounded,!n.disableGutters&&e.gutters]}})(L(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{position:"relative",transition:t.transitions.create(["margin"],e),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(t.vars||t).palette.divider,transition:t.transitions.create(["opacity","background-color"],e)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${_.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${_.disabled}`]:{backgroundColor:(t.vars||t).palette.action.disabledBackground}}}),L(({theme:t})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${_.expanded}`]:{margin:"16px 0"}}}]}))),Xt=C("h3",{name:"MuiAccordion",slot:"Heading"})({all:"unset"}),Yt=C("div",{name:"MuiAccordion",slot:"Region"})({}),Zt=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiAccordion"}),{children:i,className:a,defaultExpanded:u=!1,disabled:c=!1,disableGutters:b=!1,expanded:l,onChange:h,slots:F={},slotProps:$={},TransitionComponent:H,TransitionProps:k,...B}=r,[x,w]=Tt({controlled:l,default:u,name:"Accordion",state:"expanded"}),j=p.useCallback(M=>{w(!x),h&&h(M,!x)},[x,h,w]),[A,...W]=p.Children.toArray(i),g=p.useMemo(()=>({expanded:x,disabled:c,disableGutters:b,toggle:j}),[x,c,b,j]),R={...r,disabled:c,disableGutters:b,expanded:x},z=_t(R),I={transition:H,...F},P={transition:k,...$},d={slots:I,slotProps:P},[G,T]=v("root",{elementType:Jt,externalForwardedProps:{...d,...B},className:O(z.root,a),shouldForwardComponentProp:!0,ownerState:R,ref:n}),[K,U]=v("heading",{elementType:Xt,externalForwardedProps:d,className:z.heading,ownerState:R}),[D,N]=v("transition",{elementType:nt,externalForwardedProps:d,ownerState:R}),[V,tt]=v("region",{elementType:Yt,externalForwardedProps:d,ownerState:R,className:z.region,additionalProps:{"aria-labelledby":A.props.id,id:A.props["aria-controls"],role:"region"}});return o.jsxs(G,{...T,children:[o.jsx(K,{...U,children:o.jsx(pt.Provider,{value:g,children:A})}),o.jsx(D,{in:x,timeout:"auto",...N,children:o.jsx(V,{...tt,children:W})})]})});function to(t){return J("MuiAccordionDetails",t)}X("MuiAccordionDetails",["root"]);const oo=t=>{const{classes:e}=t;return Z({root:["root"]},to,e)},eo=C("div",{name:"MuiAccordionDetails",slot:"Root"})(L(({theme:t})=>({padding:t.spacing(1,2,2)}))),no=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiAccordionDetails"}),{className:i,...a}=r,u=r,c=oo(u);return o.jsx(eo,{className:O(c.root,i),ref:n,ownerState:u,...a})});function so(t){return J("MuiAccordionSummary",t)}const q=X("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),ro=t=>{const{classes:e,expanded:n,disabled:r,disableGutters:i}=t;return Z({root:["root",n&&"expanded",r&&"disabled",!i&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!i&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},so,e)},io=C(Et,{name:"MuiAccordionSummary",slot:"Root"})(L(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:t.spacing(0,2),transition:t.transitions.create(["min-height","background-color"],e),[`&.${q.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${q.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`&:hover:not(.${q.disabled})`]:{cursor:"pointer"},variants:[{props:n=>!n.disableGutters,style:{[`&.${q.expanded}`]:{minHeight:64}}}]}})),ao=C("span",{name:"MuiAccordionSummary",slot:"Content"})(L(({theme:t})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest}),[`&.${q.expanded}`]:{margin:"20px 0"}}}]}))),lo=C("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper"})(L(({theme:t})=>({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),[`&.${q.expanded}`]:{transform:"rotate(180deg)"}}))),co=p.forwardRef(function(e,n){const r=Y({props:e,name:"MuiAccordionSummary"}),{children:i,className:a,expandIcon:u,focusVisibleClassName:c,onClick:b,slots:l,slotProps:h,...F}=r,{disabled:$=!1,disableGutters:H,expanded:k,toggle:B}=p.useContext(pt),x=d=>{B&&B(d),b&&b(d)},w={...r,expanded:k,disabled:$,disableGutters:H},j=ro(w),A={slots:l,slotProps:h},[W,g]=v("root",{ref:n,shouldForwardComponentProp:!0,className:O(j.root,a),elementType:io,externalForwardedProps:{...A,...F},ownerState:w,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:$,"aria-expanded":k,focusVisibleClassName:O(j.focusVisible,c)},getSlotProps:d=>({...d,onClick:G=>{d.onClick?.(G),x(G)}})}),[R,z]=v("content",{className:j.content,elementType:ao,externalForwardedProps:A,ownerState:w}),[I,P]=v("expandIconWrapper",{className:j.expandIconWrapper,elementType:lo,externalForwardedProps:A,ownerState:w});return o.jsxs(W,{...g,children:[o.jsx(R,{...z,children:i}),u&&o.jsx(I,{...P,children:u})]})}),po=st(o.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"})),uo=t=>{const e=Mt(),n=$t({queryKey:Dt.listHoldings.forParty(t),queryFn:()=>zt({party:t}),enabled:!!t});return{instruments:p.useMemo(()=>n.data?kt(Wt(n.data),e):[],[n.data,e]),holdings:n.data??[],isLoading:n.isLoading,isError:n.isError,error:n.error,refetch:n.refetch}},xo=st(o.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"})),mo=st(o.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"})),ho=({holding:t,symbol:e})=>{const n=Nt.isHoldingLocked(t,new Date);return o.jsxs(m,{sx:{py:1.5,px:2,display:"flex",alignItems:"center",justifyContent:"space-between","&:not(:last-child)":{borderBottom:r=>`1px solid ${r.palette.divider}`}},children:[o.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:1},children:[o.jsxs(S,{variant:"body2",children:[t.amount," ",e]}),n&&o.jsx(mo,{fontSize:"small",color:"warning",sx:{fontSize:16}})]}),o.jsx(dt,{value:t.contractId,maxLength:12})]})},go=({aggregatedHolding:t,holdings:e})=>{const n=t.instrument?.symbol??t.instrumentId.id,r=t.instrument?.name??t.instrumentId.id,i=t.lockedAmount!=="0";return o.jsxs(Zt,{disableGutters:!0,sx:{"&:before":{display:"none"},boxShadow:"none","&:not(:last-child)":{borderBottom:a=>`1px solid ${a.palette.divider}`}},children:[o.jsx(co,{expandIcon:o.jsx(xo,{}),sx:{"&:hover":{backgroundColor:"action.hover"}},children:o.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:2,width:"100%",pr:2},children:[o.jsx(Gt,{sx:{width:32,height:32,fontSize:14},children:n[0]}),o.jsxs(m,{sx:{flexGrow:1},children:[o.jsx(S,{variant:"body2",color:"textSecondary",sx:{maxWidth:"150px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r}),o.jsxs(S,{variant:"body1",fontWeight:"bold",children:[t.totalAmount," ",n]})]}),i&&o.jsxs(m,{sx:{textAlign:"right"},children:[o.jsxs(S,{variant:"body2",color:"success.main",children:[t.availableAmount," available"]}),o.jsxs(S,{variant:"body2",color:"textSecondary",children:[t.lockedAmount," locked"]})]})]})}),o.jsxs(no,{sx:{p:0,pl:6},children:[o.jsxs(S,{variant:"caption",color:"textSecondary",sx:{px:2,pt:1,display:"block",textTransform:"uppercase",letterSpacing:.5},children:[t.numOfHoldings," holding",t.numOfHoldings!==1?"s":""]}),o.jsx(m,{children:e.map(a=>o.jsx(ho,{holding:a,symbol:n},a.contractId))})]})]})};function wo(){const{walletId:t}=Lt.useParams(),r=Ft().find(l=>l.partyId===t)?.hint??"Unknown Wallet",{instruments:i,holdings:a,isLoading:u,isError:c}=uo(t),b=l=>a.filter(h=>h.instrumentId.admin===l.admin&&h.instrumentId.id===l.id);return o.jsxs(m,{sx:{my:4},children:[o.jsx(Ht,{component:Bt,to:"/",startIcon:o.jsx(po,{}),sx:{mb:2},children:"Back to Dashboard"}),o.jsxs(m,{sx:{mb:4},children:[o.jsx(S,{variant:"h4",component:"h1",fontWeight:"bold",children:r}),o.jsx(m,{sx:{mt:1},children:o.jsx(dt,{value:t,maxLength:16})})]}),o.jsx(S,{variant:"h6",sx:{mb:2,textTransform:"uppercase"},fontWeight:"bold",children:"Holdings"}),o.jsx(ct,{variant:"outlined",children:u?o.jsxs(m,{sx:{p:2},children:[o.jsx(lt,{variant:"rectangular",height:60}),o.jsx(lt,{variant:"rectangular",height:60,sx:{mt:1}})]}):c?o.jsx(m,{sx:{p:4,textAlign:"center"},children:o.jsx(S,{color:"error",children:"Failed to load holdings"})}):i.length===0?o.jsx(m,{sx:{p:4,textAlign:"center"},children:o.jsx(S,{color:"textSecondary",children:"No holdings in this wallet"})}):i.map(l=>o.jsx(go,{aggregatedHolding:l,holdings:b(l.instrumentId)},`${l.instrumentId.admin}::${l.instrumentId.id}`))})]})}export{wo as component};
package/dist/index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>dApp Portfolio</title>
7
- <script type="module" crossorigin src="/assets/index-JKRS33AS.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-CYRjFua4.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-Cs7nV1m0.css">
9
9
  </head>
10
10
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canton-network/example-portfolio",
3
- "version": "0.1.0",
3
+ "version": "0.18.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -10,11 +10,11 @@
10
10
  "otc-trade": "tsx ./scripts/otc-trade.ts"
11
11
  },
12
12
  "dependencies": {
13
- "@canton-network/core-ledger-client": "^0.26.0",
14
- "@canton-network/core-splice-client": "^0.20.0",
15
- "@canton-network/core-token-standard": "^0.18.0",
16
- "@canton-network/core-types": "^0.17.0",
17
- "@canton-network/dapp-sdk": "^0.20.0",
13
+ "@canton-network/core-ledger-client": "^0.27.0",
14
+ "@canton-network/core-splice-client": "^0.21.0",
15
+ "@canton-network/core-token-standard": "^0.19.0",
16
+ "@canton-network/core-types": "^0.18.0",
17
+ "@canton-network/dapp-sdk": "^0.21.0",
18
18
  "@emotion/react": "^11.14.0",
19
19
  "@emotion/styled": "^11.14.1",
20
20
  "@mui/icons-material": "^7.3.7",
@@ -40,7 +40,7 @@
40
40
  "zod": "^4.3.5"
41
41
  },
42
42
  "devDependencies": {
43
- "@canton-network/core-wallet-test-utils": "^0.2.0",
43
+ "@canton-network/core-wallet-test-utils": "^0.3.0",
44
44
  "@canton-network/wallet-sdk": "^0.20.0",
45
45
  "@eslint/js": "^9.39.2",
46
46
  "@playwright/test": "^1.57.0",