1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7459],{17459:function(t,e,i){var r,a,o=i(59476),s=i(15712),n=i(27591),c=i(54237),l=i(66573),p=i(18373),u=i(44353),d=i(22806),h=i(35991),g=i(44649),w=i(27817);i(49059),i(59715),i(74043),i(91347);var y=i(95718);i(877),i(31734),i(58437);var x=i(41619);(r=a||(a={})).approve="approved",r.bought="bought",r.borrow="borrowed",r.burn="burnt",r.cancel="canceled",r.claim="claimed",r.deploy="deployed",r.deposit="deposited",r.execute="executed",r.mint="minted",r.receive="received",r.repay="repaid",r.send="sent",r.sell="sold",r.stake="staked",r.trade="swapped",r.unstake="unstaked",r.withdraw="withdrawn";var m=i(17167);i(16954),i(60539);var f=(0,o.iv)` 2 :host > wui-flex { 3 display: flex; 4 justify-content: center; 5 align-items: center; 6 position: relative; 7 width: 40px; 8 height: 40px; 9 box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-005); 10 background-color: var(--wui-color-gray-glass-005); 11 } 12 13 :host > wui-flex wui-image { 14 display: block; 15 } 16 17 :host > wui-flex, 18 :host > wui-flex wui-image, 19 .swap-images-container, 20 .swap-images-container.nft, 21 wui-image.nft { 22 border-top-left-radius: var(--local-left-border-radius); 23 border-top-right-radius: var(--local-right-border-radius); 24 border-bottom-left-radius: var(--local-left-border-radius); 25 border-bottom-right-radius: var(--local-right-border-radius); 26 } 27 28 wui-icon { 29 width: 20px; 30 height: 20px; 31 } 32 33 wui-icon-box { 34 position: absolute; 35 right: 0; 36 bottom: 0; 37 transform: translate(20%, 20%); 38 } 39 40 .swap-images-container { 41 position: relative; 42 width: 40px; 43 height: 40px; 44 overflow: hidden; 45 } 46 47 .swap-images-container wui-image:first-child { 48 position: absolute; 49 width: 40px; 50 height: 40px; 51 top: 0; 52 left: 0%; 53 clip-path: inset(0px calc(50% + 2px) 0px 0%); 54 } 55 56 .swap-images-container wui-image:last-child { 57 clip-path: inset(0px 0px 0px calc(50% + 2px)); 58 } 59`,b=function(t,e,i,r){var a,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,r);else for(var n=t.length-1;n>=0;n--)(a=t[n])&&(s=(o<3?a(s):o>3?a(e,i,s):a(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};let v=class extends o.oi{constructor(){super(...arguments),this.images=[],this.secondImage={type:void 0,url:""}}render(){let[t,e]=this.images,i=t?.type==="NFT",r=e?.url?"NFT"===e.type:i;return this.style.cssText=` 60 --local-left-border-radius: ${i?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)"}; 61 --local-right-border-radius: ${r?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)"}; 62 `,(0,o.dy)`<wui-flex> ${this.templateVisual()} ${this.templateIcon()} </wui-flex>`}templateVisual(){let[t,e]=this.images,i=t?.type;return 2===this.images.length&&(t?.url||e?.url)?(0,o.dy)`<div class="swap-images-container"> 63 ${t?.url?(0,o.dy)`<wui-image src=${t.url} alt="Transaction image"></wui-image>`:null} 64 ${e?.url?(0,o.dy)`<wui-image src=${e.url} alt="Transaction image"></wui-image>`:null} 65 </div>`:t?.url?(0,o.dy)`<wui-image src=${t.url} alt="Transaction image"></wui-image>`:"NFT"===i?(0,o.dy)`<wui-icon size="inherit" color="fg-200" name="nftPlaceholder"></wui-icon>`:(0,o.dy)`<wui-icon size="inherit" color="fg-200" name="coinPlaceholder"></wui-icon>`}templateIcon(){let t,e="accent-100";return(t=this.getIcon(),this.status&&(e=this.getStatusColor()),t)?(0,o.dy)` 66 <wui-icon-box 67 size="xxs" 68 iconColor=${e} 69 backgroundColor=${e} 70 background="opaque" 71 icon=${t} 72 ?border=${!0} 73 borderColor="wui-color-bg-125" 74 ></wui-icon-box> 75 `:null}getDirectionIcon(){switch(this.direction){case"in":return"arrowBottom";case"out":return"arrowTop";default:return}}getIcon(){return this.onlyDirectionIcon?this.getDirectionIcon():"trade"===this.type?"swapHorizontalBold":"approve"===this.type?"checkmark":"cancel"===this.type?"close":this.getDirectionIcon()}getStatusColor(){switch(this.status){case"confirmed":return"success-100";case"failed":return"error-100";
75case"pending":return"inverse-100";default:return"accent-100"}}};v.styles=[f],b([(0,s.Cb)()],v.prototype,"type",void 0),b([(0,s.Cb)()],v.prototype,"status",void 0),b([(0,s.Cb)()],v.prototype,"direction",void 0),b([(0,s.Cb)({type:Boolean})],v.prototype,"onlyDirectionIcon",void 0),b([(0,s.Cb)({type:Array})],v.prototype,"images",void 0),b([(0,s.Cb)({type:Object})],v.prototype,"secondImage",void 0),v=b([(0,m.M)("wui-transaction-visual")],v);var $=(0,o.iv)` 76 :host > wui-flex:first-child { 77 align-items: center; 78 column-gap: var(--wui-spacing-s); 79 padding: 6.5px var(--wui-spacing-xs) 6.5px var(--wui-spacing-xs); 80 width: 100%; 81 } 82 83 :host > wui-flex:first-child wui-text:nth-child(1) { 84 text-transform: capitalize; 85 } 86 87 wui-transaction-visual { 88 width: 40px; 89 height: 40px; 90 } 91 92 wui-flex { 93 flex: 1; 94 } 95 96 :host wui-flex wui-flex { 97 overflow: hidden; 98 } 99 100 :host .description-container wui-text span { 101 word-break: break-all; 102 } 103 104 :host .description-container wui-text { 105 overflow: hidden; 106 } 107 108 :host .description-separator-icon { 109 margin: 0px 6px; 110 } 111 112 :host wui-text > span { 113 overflow: hidden; 114 display: -webkit-box; 115 -webkit-box-orient: vertical; 116 -webkit-line-clamp: 1; 117 } 118`,C=function(t,e,i,r){var a,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,r);else for(var n=t.length-1;n>=0;n--)(a=t[n])&&(s=(o<3?a(s):o>3?a(e,i,s):a(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};let T=class extends o.oi{constructor(){super(...arguments),this.type="approve",this.onlyDirectionIcon=!1,this.images=[],this.price=[],this.amount=[],this.symbol=[]}render(){return(0,o.dy)` 119 <wui-flex> 120 <wui-transaction-visual 121 .status=${this.status} 122 direction=${(0,y.o)(this.direction)} 123 type=${this.type} 124 onlyDirectionIcon=${(0,y.o)(this.onlyDirectionIcon)} 125 .images=${this.images} 126 ></wui-transaction-visual> 127 <wui-flex flexDirection="column" gap="3xs"> 128 <wui-text variant="paragraph-600" color="fg-100"> 129 ${a[this.type]||this.type} 130 </wui-text> 131 <wui-flex class="description-container"> 132 ${this.templateDescription()} ${this.templateSecondDescription()} 133 </wui-flex> 134 </wui-flex> 135 <wui-text variant="micro-700" color="fg-300"><span>${this.date}</span></wui-text> 136 </wui-flex> 137 `}templateDescription(){let t=this.descriptions?.[0];return t?(0,o.dy)` 138 <wui-text variant="small-500" color="fg-200"> 139 <span>${t}</span> 140 </wui-text> 141 `:null}templateSecondDescription(){let t=this.descriptions?.[1];return t?(0,o.dy)` 142 <wui-icon class="description-separator-icon" size="xxs" name="arrowRight"></wui-icon> 143 <wui-text variant="small-400" color="fg-200"> 144 <span>${t}</span> 145 </wui-text> 146 `:null}};T.styles=[x.ET,$],C([(0,s.Cb)()],T.prototype,"type",void 0),C([(0,s.Cb)({type:Array})],T.prototype,"descriptions",void 0),C([(0,s.Cb)()],T.prototype,"date",void 0),C([(0,s.Cb)({type:Boolean})],T.prototype,"onlyDirectionIcon",void 0),C([(0,s.Cb)()],T.prototype,"status",void 0),C([(0,s.Cb)()],T.prototype,"direction",void 0),C([(0,s.Cb)({type:Array})],T.prototype,"images",void 0),C([(0,s.Cb)({type:Array})],T.prototype,"price",void 0),C([(0,s.Cb)({type:Array})],T.prototype,"amount",void 0),C([(0,s.Cb)({type:Array})],T.prototype,"symbol",void 0),T=C([(0,m.M)("wui-transaction-list-item")],T),i(13491);var A=i(16333),k=(0,o.iv)` 147 :host { 148 min-height: 100%; 149 } 150 151 .group-container[last-group='true'] { 152 padding-bottom: var(--wui-spacing-m); 153 } 154 155 .contentContainer { 156 height: 280px; 157 } 158 159 .contentContainer > wui-icon-box { 160 width: 40px; 161 height: 40px; 162 border-radius: var(--wui-border-radius-xxs); 163 } 164 165 .contentContainer > .textContent { 166 width: 65%; 167 } 168 169 .emptyContainer { 170 height: 100%; 171 } 172`,I=function(t,e,i,r){var a,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,r);else for(var n=t.length-1;n>=0;n--)(a=t[n])&&(s=(o<3?a(s):o>3?a(e,i,s):a(e,i))||s);return o>3&&s&&Object.defineProperty(e,i,s),s};let D="last-transaction",O=class extends o.oi{constructor(){super(),this.unsubscribe=[],this.paginationObserver=void 0,this.page="activity",this.caipAddress=c.R.state.activeCaipAddress,this.transactionsByYear=l.s.state.transactionsByYear,this.loading=l.s.state.loading,this.empty=l.s.state.empty,this.next=l.s.state.next,l.s.clearCursor(
172),this.unsubscribe.push(c.R.subscribeKey("activeCaipAddress",t=>{t&&this.caipAddress!==t&&(l.s.resetTransactions(),l.s.fetchTransactions(t)),this.caipAddress=t}),c.R.subscribeKey("activeCaipNetwork",()=>{this.updateTransactionView()}),l.s.subscribe(t=>{this.transactionsByYear=t.transactionsByYear,this.loading=t.loading,this.empty=t.empty,this.next=t.next}))}firstUpdated(){this.updateTransactionView(),this.createPaginationObserver()}updated(){this.setPaginationObserver()}disconnectedCallback(){this.unsubscribe.forEach(t=>t())}render(){return(0,o.dy)` ${this.empty?null:this.templateTransactionsByYear()} 173 ${this.loading?this.templateLoading():null} 174 ${!this.loading&&this.empty?this.templateEmpty():null}`}updateTransactionView(){l.s.resetTransactions(),this.caipAddress&&l.s.fetchTransactions(p.j.getPlainAddress(this.caipAddress))}templateTransactionsByYear(){return Object.keys(this.transactionsByYear).sort().reverse().map(t=>{let e=parseInt(t,10),i=Array(12).fill(null).map((t,i)=>({groupTitle:w.AI.getTransactionGroupTitle(e,i),transactions:this.transactionsByYear[e]?.[i]})).filter(({transactions:t})=>t).reverse();return i.map(({groupTitle:t,transactions:e},r)=>{let a=r===i.length-1;return e?(0,o.dy)` 175 <wui-flex 176 flexDirection="column" 177 class="group-container" 178 last-group="${a?"true":"false"}" 179 data-testid="month-indexes" 180 > 181 <wui-flex 182 alignItems="center" 183 flexDirection="row" 184 .padding=${["xs","s","s","s"]} 185 > 186 <wui-text variant="paragraph-500" color="fg-200" data-testid="group-title" 187 >${t}</wui-text 188 > 189 </wui-flex> 190 <wui-flex flexDirection="column" gap="xs"> 191 ${this.templateTransactions(e,a)} 192 </wui-flex> 193 </wui-flex> 194 `:null})})}templateRenderTransaction(t,e){let{date:i,descriptions:r,direction:a,isAllNFT:s,images:n,status:c,transfers:l,type:p}=this.getTransactionListItemProps(t),u=l?.length>1;return l?.length!==2||s?u?l.map((t,r)=>{let a=w.AI.getTransferDescription(t),s=e&&r===l.length-1;return(0,o.dy)` <wui-transaction-list-item 195 date=${i} 196 direction=${t.direction} 197 id=${s&&this.next?D:""} 198 status=${c} 199 type=${p} 200 .onlyDirectionIcon=${!0} 201 .images=${[n[r]]} 202 .descriptions=${[a]} 203 ></wui-transaction-list-item>`}):(0,o.dy)` 204 <wui-transaction-list-item 205 date=${i} 206 .direction=${a} 207 id=${e&&this.next?D:""} 208 status=${c} 209 type=${p} 210 .images=${n} 211 .descriptions=${r} 212 ></wui-transaction-list-item> 213 `:(0,o.dy)` 214 <wui-transaction-list-item 215 date=${i} 216 .direction=${a} 217 id=${e&&this.next?D:""} 218 status=${c} 219 type=${p} 220 .images=${n} 221 .descriptions=${r} 222 ></wui-transaction-list-item> 223 `}templateTransactions(t,e){return t.map((i,r)=>{let a=e&&r===t.length-1;return(0,o.dy)`${this.templateRenderTransaction(i,a)}`})}emptyStateActivity(){return(0,o.dy)`<wui-flex 224 class="emptyContainer" 225 flexGrow="1" 226 flexDirection="column" 227 justifyContent="center" 228 alignItems="center" 229 .padding=${["3xl","xl","3xl","xl"]} 230 gap="xl" 231 data-testid="empty-activity-state" 232 > 233 <wui-icon-box 234 backgroundColor="gray-glass-005" 235 background="gray" 236 iconColor="fg-200" 237 icon="wallet" 238 size="lg" 239 ?border=${!0} 240 borderColor="wui-color-bg-125" 241 ></wui-icon-box> 242 <wui-flex flexDirection="column" alignItems="center" gap="xs"> 243 <wui-text align="center" variant="paragraph-500" color="fg-100" 244 >No Transactions yet</wui-text 245 > 246 <wui-text align="center" variant="small-500" color="fg-200" 247 >Start trading on dApps <br /> 248 to grow your wallet!</wui-text 249 > 250 </wui-flex> 251 </wui-flex>`}emptyStateAccount(){return(0,o.dy)`<wui-flex 252 class="contentContainer" 253 alignItems="center" 254 justifyContent="center" 255 flexDirection="column" 256 gap="l" 257 data-testid="empty-account-state" 258 > 259 <wui-icon-box 260 icon="swapHorizontal" 261 size="inherit" 262 iconColor="fg-200" 263 backgroundColor="fg-200" 264 iconSize="lg" 265 ></wui-icon-box> 266 <wui-flex 267 class="textContent" 268 gap="xs" 269 flexDirection="column" 270 justifyContent="center" 271 flexDirection="column" 272 > 273 <wui-text variant="paragraph-500" align="center" color="fg-100">No activity yet</wui-text> 274 <wui-text variant="small-400" align="center" color="fg-200" 275 >Your next transactions will appear here</wui-text 276 > 277 </wui-flex> 278 <wui-link @click=${this.onReceiveClick.bind(this)}>Trade</wui-link> 279 </wui-flex>`}templateEmpty(){return"account"===this.page?(0,o.dy)`${this.emptyStateAccount()}`:(0,o.dy)`${this.emptyStateActivity()}`}templateLoading(){return"activity"===this.page?Array(7).fill((0,o.dy)` <wui-transaction-list-item-loader></wui-transaction-list-item-loader> `).map(t=>t):null}onReceiveClick(){u.RouterController.push("WalletReceive")}createPaginationObserver(){let{projectId:t}=d.OptionsController.state;this.paginationObserver=new IntersectionObserver(([e])=>{e?.isIntersecting&&!this.loading&&(l.s.fetchTransactions(p.j.getPlainAddress(this.caipAddress)),h.X.sendEvent({type:"track",event:"LOAD_MORE_TRANSACTIONS",properties:{address:p.j.getPlainAddress(this.caipAddress),projectId:t,cursor:this.next,isSmartAccount:(0,g.r9)(c.R.state.activeChain)===A.y_.ACCOUNT_TYPES.SMART_ACCOUNT}}))},{}),this.setPaginationObserver()}setPaginationObserver(){this.paginationObserver?.disconnect();let t=this.shadowRoot?.querySelector(`#${D}`);t&&this.paginationObserver?.observe(t)}getTransactionListItemProps(t){let e=n.E.formatDate(t?.metadata?.minedAt),i=w.AI.getTransactionDescriptions(t),r=t?.transfers,a=t?.transfers?.[0],o=!!a&&t?.transfers?.every(t=>!!t.nft_info),s=w.AI.getTransactionImages(r);return{date:e,direction:a?.direction,descriptions:i,isAllNFT:o,images:s,status:t.metadata?.status,transfers:r,type:t.metadata?.operationType}}};O.styles=k,I([(0,s.Cb)()],O.prototype,"page",void 0),I([(0,s.SB)()],O.prototype,"caipAddress",void 0),I([(0,s.SB)()],O.prototype,"transactionsByYear",void 0),I([(0,s.SB)()],O.prototype,"loading",void 0),I([(0,s.SB)()],O.prototype,"empty",void 0),I([(0,s.SB)()],O.prototype,"next",void 0),I([(0,w.Mo)("w3m-activity-list")],O)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.