PageSourceSearch

https://aurora-bridgetonear-org.onrender.com/index.html

html aurora-bridgetonear-org.onrender.com collected 2026-10-03 11:39:03 UTC 63,877 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Bridge Ethereum to NEAR and back again</title><meta property="og:title" content="🌈 Rainbow Bridge 🌈"><meta property="og:description" content="Bridge Ethereum to NEAR and back again"><meta property="og:image" content="https://near.github.io/rainbow-bridge-frontend/bridge-fb.png"><meta name="twitter:image" content="https://near.github.io/rainbow-bridge-frontend/bridge-tw.png"><meta property="og:url" content="https://ethereum.bridgetonear.org/"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:creator" content="@NEARProtocol"><link rel="apple-touch-icon" sizes="57x57" href="apple-icon-57x57.ae996f7e.png"><link rel="apple-touch-icon" sizes="60x60" href="apple-icon-60x60.d65c9a28.png"><link rel="apple-touch-icon" sizes="72x72" href="apple-icon-72x72.29aaa63f.png"><link rel="apple-touch-icon" sizes="76x76" href="apple-icon-76x76.3cf4276c.png"><link rel="apple-touch-icon" sizes="114x114" href="apple-icon-114x114.ea4f5076.png"><link rel="apple-touch-icon" sizes="120x120" href="apple-icon-120x120.bab4b2f7.png"><link rel="apple-touch-icon" sizes="144x144" href="apple-icon-144x144.cff7adb6.png"><link rel="apple-touch-icon" sizes="152x152" href="apple-icon-152x152.88c6db51.png"><link rel="apple-touch-icon" sizes="180x180" href="apple-icon-180x180.bafe8161.png"><link rel="icon" type="image/png" sizes="192x192" href="android-icon-192x192.db8619ca.png"><link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.936cab43.png"><link rel="icon" type="image/png" sizes="96x96" href="favicon-96x96.16e9fdba.png"><link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.88d8dbe7.png"><link rel="manifest" href="img/icons/manifest.js"><meta name="msapplication-TileColor" content="#ffffff"><meta name="msapplication-TileImage" content="ms-icon-144x144.cff7adb6.png"><meta name="theme-color" content="#ffffff"><link rel="preconnect" href="https://rsms.me"><link rel="preconnect" href="https://fonts.gstatic.com"><link rel="prerender" href="https://wallet.testnet.near.org"><link href="https://rsms.me/inter/inter.css" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap" rel="stylesheet"><link rel="stylesheet" href="global.107a4a8d.css"></head><body>   <div style="display:flex;flex-direction:column;min-height:100vh;position:relative;"> <div data-behavior="unsupportedNetworkModal" class="modal" style="display:none"> <div class="modal__container" style="text-align:center;"> <div class="modal-image__container"> </div> <h1 class="modal__heading">Incorrect Wallet Network</h1> <div data-behavior="modalMessage" class="modal__message"></div> <p class="modal__cta">Switch your active wallet network to Aurora.</p> <button class="button-size--small button-variant--secondary" data-behavior="switchAurora"> Switch Network </button> </div> </div> <nav class="site-nav"> <div class="site-nav__wrapper"> <a class="navLogo" data-behavior="navLogo" href="index.html" title="Home">Home<span class="beta-tag">Beta</span></a> <div data-behavior="bridgesDropdown" class="bridges-nav"> <div id="bridge-dropdown" class="bridge-dropdown dropdown" aria-live="polite"> <button aria-controls="bridge-dropdown" class="dropdown-trigger"> <span class="bridge-indicator" style="background-color:var(--aurora-green)"> <span class="visually-hidden">Connected</span> </span> <span data-behavior="bridgeName">Aurora ↔︎ NEAR</span> </button> <div class="dropdown-list" data-behavior="dropdownList"></div> </div> </div> </div> <div class="site-nav__wrapper"> <div data-behavior="accountsDropdown" class="accounts-nav" style="display:none"> <div id="accounts-dropdown" class="account-dropdown dropdown" aria-live="polite"> <button aria-controls="accounts-dropdown" class="dropdown-trigger"> <img data-behavior="ethConnected" style="width:1.5rem" alt="Aurora" src="aurora.116f42df.svg"> <img style="width:1.5rem" alt="NEAR" src="near.0b26889d.svg"> </button> <div class="dropdown-list right"> <label class="dropdown-list__heading">Connected Accounts</label> <div data-behavior="ethConnected" class="dropdown-list__item"> <span class="account-with-icon aurora reverse" data-behavior="ethUser"></span> <button class="button-size--small button-variant--secondary" data-behavior="disconnectEthereum"> Disconnect </button> </div> <div data-behavior="nearConnected" class="dropdown-list__item"> <span class="account-with-icon near reverse" data-behavior="nearUser"></span> <button class="button-size--small button-variant--secondary" data-behavior="disconnectNear"> Disconnect </button> </div> </div> </div> </div> </div> </nav><style>.site-nav,.site-nav__wrapper{display:flex;align-items:center}.site-nav{background-color:var(--white);justify-content:space-between;
1height:var(--header-height);padding:0 var(--spacing-m);position:fixed;width:100%;top:0;border-bottom:1px solid var(--gray-200);z-index:2}.navLogo{background:url(rainbow-bridge.e14f3fa2.svg) no-repeat;height:32px;width:51px;display:block;margin-right:var(--spacing-xxl);text-indent:-999px;position:relative;padding-right:104px}.navLogo .beta-tag{position:absolute;top:50%;right:0;text-indent:0;transform:translateY(-50%)}.dropdown{font-size:var(--fs-micro);position:relative;z-index:1}.dropdown-trigger{background-color:var(--white);border:1px solid var(--gray-200);color:var(--gray-700);display:flex;align-items:center;height:48px;width:100%;font-weight:var(--fw-regular);padding-right:var(--spacing-xxl)}.dropdown-trigger:after{content:" ";background-image:url(chevron-down.fd75c987.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;width:16px;position:absolute;right:var(--spacing-m);top:0;bottom:0}.dropdown-trigger:hover{background-color:var(--gray-100)}.dropdown-list{width:24em;display:none;background-color:var(--white);border:1px solid var(--gray-300);box-shadow:0 2px 4px rgba(0,0,0,.05);margin:0;overflow:hidden;padding-top:var(--base-spacing);padding-bottom:var(--base-spacing);text-align:left;min-width:100%}.dropdown-list__heading{padding:var(--spacing-s) var(--spacing-m) 0}.dropdown-list__item{border-radius:0;display:flex;align-items:center;padding:var(--spacing-m);font-weight:400}.dropdown-list__item .arrow-divider{color:var(--gray-500);padding:0 var(--spacing-s)}.bridge-dropdown .dropdown-list__item{height:40px}.account-dropdown .dropdown-list__item{justify-content:space-between;padding-top:var(--spacing-s);padding-bottom:var(--spacing-s)}.dropdown-list__item:hover{background-color:var(--gray-100)}.account-dropdown .dropdown-list__item:hover{background-color:initial}button.dropdown-list__item{border:none;background-color:initial;color:var(--gray-700);width:100%}.bridge-indicator{width:10px;height:10px;margin-right:var(--spacing-m)}.bridge-dropdown .testnet-options{border-top:1px solid var(--gray-200);margin-top:var(--spacing-s);padding:var(--spacing-m);padding-bottom:var(--spacing-s)}.dropdown-trigger img:last-child{margin-left:-4px}.dropdown.active .dropdown-list{display:block;position:absolute;border-radius:.5rem;margin-top:var(--spacing-s);z-index:1}.dropdown.active .dropdown-list.right{right:0}@media (max-width:600px){.bridges-nav{position:fixed}}.landing{margin-bottom:140px}.landing-blurb{padding:0 var(--spacing-xl)}.panel{background-color:var(--white);border-radius:1em;box-shadow:0 51px 121px rgba(0,0,0,.05),0 21.3066px 50.5509px rgba(0,0,0,.0359427),0 11.3915px 27.0269px rgba(0,0,0,.0298054),0 6.38599px 15.1511px rgba(0,0,0,.025),0 3.39155px 8.04662px rgba(0,0,0,.0201946),0 1.4113px 3.34838px rgba(0,0,0,.0140573);margin:80px var(--spacing-m);margin-bottom:var(--spacing-l)}.create-account,.panel{padding:var(--spacing-m)}.create-account{font-size:var(--fs-small);border:1px solid var(--gray-300);border-radius:var(--br-base);margin:0 var(--spacing-m)}@media (min-width:928px){.landing{background:url(landing-bg-left.24f92058.svg) no-repeat,url(landing-bg-right.95130647.svg) no-repeat;background-position:top 22em left calc(50% - 22em),top 31em right calc(50% - 21em)}.panel{margin:80px auto;margin-bottom:var(--spacing-l)}.create-account{margin:0}}.cta-container{margin-top:var(--spacing-xxl)}.cta-container .button--missing-transfer{font-size:var(--fs-body);font-weight:var(--fw-regular);margin-top:.5em}.transfers{padding:5rem 0;width:100%;margin:0 auto 2em}.transfers__header{padding:0 5rem;margin:0 auto var(--spacing-xxl);text-align:center}.transfers__heading{font-size:var(--fs-heading-2)}.transfers__header .subheading{margin-bottom:0}.transfers__header .button--missing-transfer{margin-bottom:var(--spacing-s);font-size:var(--fs-small);font-weight:var(--fw-regular);text-decoration:underline}.transfers__wrapper .button-wrapper{padding:0 var(--spacing-m)}@media (min-width:600px){.transfers__wrapper .button-wrapper{padding:0}}.transfers__wrapper .button--new-transfer{margin-bottom:var(--spacing-m)}.transfer.in-progress{--color--transfer-header:var(--orange-300);
1--color--transfer-amount:var(--orange-800);--color--transfer-status:var(--orange-700);--color--transfer-actions--cta:var(--orange-600);--color--transfer-actions--delete:var(--orange-200);--color--transfer-actions--delete__icon:var(--orange-700);--color--accounts-container:var(--orange-100);--color--accounts-label:var(--orange-700);--color--accounts-divider:var(--orange-200);--color--footer:var(--orange-200);--color--footer-text:var(--orange-700);--color--footer-caret:var(--orange-500)}.transfer.completed{--color--transfer-header:var(--green-300);--color--transfer-amount:var(--green-800);--color--transfer-status:var(--green-700);--color--transfer-actions--cta:var(--green-600);--color--transfer-actions--delete:var(--green-200);--color--transfer-actions--delete__icon:var(--green-700);--color--accounts-container:var(--green-100);--color--accounts-label:var(--green-700);--color--accounts-divider:var(--green-200);--color--footer:var(--green-200);--color--footer-text:var(--green-600);--color--footer-caret:var(--green-500)}.transfer.failed{--color--transfer-header:var(--red-300);--color--transfer-amount:var(--red-800);--color--transfer-status:var(--red-700);--color--transfer-actions--cta:var(--red-600);--color--transfer-actions--delete:var(--red-200);--color--transfer-actions--delete__icon:var(--red-700);--color--accounts-container:var(--red-100);--color--accounts-label:var(--red-700);--color--accounts-divider:var(--red-200);--color--footer:var(--red-200);--color--footer-text:var(--red-600);--color--footer-caret:var(--red-500)}.transfer.action-needed{--color--transfer-header:var(--blue-300);--color--transfer-amount:var(--blue-800);--color--transfer-status:var(--blue-700);--color--transfer-actions--cta:var(--blue-500);--color--transfer-actions--delete:var(--blue-200);--color--transfer-actions--delete__icon:var(--blue-700);--color--accounts-container:var(--blue-100);--color--accounts-label:var(--blue-700);--color--accounts-divider:var(--blue-200);--color--footer:var(--blue-200);--color--footer-text:var(--blue-500);--color--footer-caret:var(--blue-500)}.transfer{overflow:hidden;margin-bottom:var(--spacing-m)}@media (min-width:600px){.transfer{border-radius:var(--br-small)}}.transfer__header{background-color:var(--color--transfer-header);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-m)}.transfer__header .transfer__amount{color:var(--color--transfer-amount);font-size:var(--fs-heading-4);margin-bottom:var(--spacing-xs)}.transfer__status{color:var(--color--transfer-status);display:flex;align-items:center;font-size:var(--fs-micro)}.transfer__status .icon{margin-right:var(--spacing-s);background-size:contain;background-position:50%;width:var(--spacing-m);height:var(--spacing-m)}.transfer.failed>header .transfer__status .icon{background-image:url(alert-circle.f3c6f587.svg)}.transfer.completed>header .transfer__status .icon{background-image:url(completed.e9b7f9ed.svg)}.transfer.action-needed>header .transfer__status .icon:before{content:"→"}.transfer.in-progress>header .transfer__status .icon{margin-right:.8em;position:relative;width:.8em;height:.8em}.transfer.in-progress>header .transfer__status .icon:before{animation:spin 1.5s ease-in-out infinite;border-radius:50%;border:1px solid transparent;border-top:1px solid var(--color--transfer-status);content:" ";position:absolute;top:0;right:0;bottom:0;left:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.transfer__actions{display:flex;height:2.4em}.transfer__actions .button--cta{background-color:var(--color--transfer-actions--cta);color:#fff}.transfer__actions .button--delete{display:flex;align-items:center;justify-content:center;background-color:var(--color--transfer-actions--delete)!important;margin-left:var(--spacing-s);padding:0;width:var(--input-height--small)}.transfer__actions .button--delete svg path{stroke:var(--color--transfer-actions--delete__icon)}.transfer__accounts-container{background-color:var(--color--accounts-container);display:flex;flex-direction:column;font-size:var(--fs-small)}.transfer__account{border-top:1px solid var(--color--accounts-divider);display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-s) var(--spacing-m)}.transfer__account label{font-size:var(--fs-micro);padding:0;margin:0}.transfer__account .account-with-icon,.transfer__account label{color:var(--color--accounts-label)}.transfer__footer{position:relative;height:var(--input-height--small)}.transfer__footer button{color:var(--color--footer-text);text-align:center;border-radius:0;position:absolute;bottom:0;z-index:1;font-size:var(--fs-micro);background-color:var(--color--footer)}.transfer__details{background-color:var(--gray-800);color:var(--gray-500);list-style:none;margin:0;padding:1.5rem 1rem;position:absolute;width:100%}.transfer__details li{position:relative;margin-bottom:var(--spacing-m);font-size:var(--fs-micro)}.transfer__details li:last-child{padding-bottom:0}
1.transfer__details li span{display:flex}.transfer__details li span:before{content:"•";width:1rem;height:1rem;background-repeat:no-repeat;background-size:contain;background-position:50%;margin-right:.5rem;text-align:center;font-size:var(--fs-heading-3);line-height:.7;z-index:1;flex-shrink:0}.transfer__details li p{color:var(--gray-500);background-color:var(--black);border-radius:4px;font-size:.9em;margin:1rem 0 0 1.5rem;padding:1rem}.transfer__details li.completed+li.pending span,.transfer__details li.pending:first-child span{color:#fff}.transfer__details li.completed+li.pending span:before,.transfer__details li.pending:first-child span:before{color:#2b9af4}.transfer__details li.failed span:before{background-image:url(alert-circle.f3c6f587.svg);content:" "}.transfer__details li.completed span:before{background-image:url(checkmark-48DBA7.28ab5a96.svg);content:" "}.transfer__details li:after{content:" ";width:1px;border-left:1px solid var(--gray-700);padding:var(--spacing-m) 0;position:absolute;top:var(--spacing-m);bottom:0;left:7px}@media (min-width:600px){.transfers{max-width:440px}}.landing{padding-bottom:1em}.confirm-delete{padding:3em;display:flex;text-align:center;flex-direction:column;justify-content:space-between}.confirm-delete>img{margin-left:40%;margin-right:40%}.confirm-delete>h4{font-weight:800;line-height:1.5;margin-top:2em;margin-bottom:1em}.confirm-delete button{margin-top:1.2em}.confirm-delete-buttons{margin:var(--spacing-xxl) 0 var(--spacing-m)}.confirm-delete-buttons :first-child{background-color:var(--red-500);color:var(--white)}.button--swap{background-color:var(--white);border-radius:50px;border:1px solid var(--gray-200);background-image:url(swap-vert.a8401589.svg);background-position:50%;background-repeat:no-repeat;background-size:1.3em;box-shadow:0 2px 4px rgba(0,0,0,.04);height:2em;width:3.5em;margin-top:1.4em}.network--ethereum{color:#627eea}.network--near{color:var(--black)}.network-indicator{margin-right:var(--spacing-s)}.connected-account{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;max-width:124px}.authenticated-accounts-input+.authenticated-account label:after{content:"Transfer from"}.authenticated-accounts-button+.authenticated-account label:after{content:"To"}.authenticated-account{font-size:var(--fs-small)}.authenticated-account__details{border:1px solid var(--gray-200);border-radius:var(--br-base);padding:var(--spacing-m);display:flex;flex-direction:row;height:64px;align-items:center}.authenticated-account__details>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;margin-right:var(--spacing-l);text-align:left}.authenticated-account label{margin-left:calc(1em + 1px);text-align:left}.new-transfer__container{display:flex;flex-direction:column;align-items:center;background-color:var(--gray-100);padding:var(--spacing-m)}@media (min-width:600px){.new-transfer__container{border-radius:var(--br-small)}}.new-transfer__container .authenticated-account__details{background-color:var(--white)}.new-transfer__container .authenticated-account{align-self:stretch;width:100%}.new-transfer__container .button--swap{margin:var(--spacing-m) 0 0}.restore{max-width:25em;margin:5rem auto 0;padding:1em}.restore header{text-align:center;margin-bottom:5em}.restore input{margin-top:.5em}.restore footer{margin-top:2em}.restore button{margin-top:1em}.restoredTransfer.in-progress{--color--transfer-header:var(--orange-300);--color--transfer-amount:var(--orange-800);--color--accounts-container:var(--orange-100);--color--accounts-label:var(--orange-700)}.restoredTransfer.completed{--color--transfer-header:var(--green-300);--color--transfer-amount:var(--green-800);--color--accounts-container:var(--green-100);--color--accounts-label:var(--green-700)}.restoredTransfer.action-needed{--color--transfer-header:var(--blue-300);--color--transfer-amount:var(--blue-800);--color--accounts-container:var(--blue-100);--color--accounts-label:var(--blue-700)}.restoredTransfer.completed>header .transfer__status .icon{background-image:url(completed.e9b7f9ed.svg)}.restoredTransfer.action-needed>header .transfer__status .icon:before{content:"→"}.restoredTransfer.in-progress>header .transfer__status .icon{margin-right:.8em;position:relative;width:.8em;height:.8em}.restoredTransfer.in-progress>header .transfer__status .icon:before{animation:spin 1.5s ease-in-out infinite;border-radius:50%;border:1px solid transparent;border-top:1px solid var(--color--transfer-status);content:" ";position:absolute;top:0;right:0;bottom:0;left:0}.restoredTransfer{overflow:hidden;margin:1rem auto;font-size:.75em;border-radius:10px}.restoredTransfer header{display:flex;flex-direction:column;background-color:var(--color--transfer-header);padding:.6rem 1rem;justify-content:flex-start;margin-bottom:0;margin-top:0;text-align:left}.restoredTransfer header h3{color:var(--color--transfer-amount);padding-bottom:var(--spacing-s)}.restoredTransfer>div,.restoredTransfer header span{color:var(--color--accounts-label)}.restoredTransfer>div{background-color:var(--color--accounts-container);padding:.7rem 1rem;display:grid;grid-gap:7rem;grid-template-columns:auto auto;justify-content:space-between;align-items:center}.restoredTransfer .account-with-icon,.restoredTransfer>div>:first-child{color:var(--color--accounts-label)}.txHashContainer{background-color:var(--gray-200);border-radius:var(--br-small);overflow-wrap:break-word;text-align:left}.txHashContainer p{padding:var(--spacing-s)}</style> <div class="landing" data-behavior="landing"> <h1 class="logo--landing-page"> <img class="rainbow-icon" src="rainbow-bridge.e14f3fa2.svg"> <small> <span class="logo--landing-page-near">NEAR</span> <img alt="to and from" src="swap-lr.227be599.svg" style="display:inline;vertical-align:bottom"> <span class="logo--landing-page-aurora">AURORA</span> </small> <div class="logo-text--primary"> Rainbow Bridge <span class="beta-tag">Beta</span> </div> </h1> <div class="content-wrapper"> <p class="landing-blurb"> Transfer tokens between Aurora and NEAR! Connect a NEAR and Aurora account to get started. </p> <form method="get" class="panel"> <input data-behavior="transferFrom" class="authenticated-accounts-input" name="erc20" type="hidden"><div class="authenticated-account" data-behavior="authenticatedAccount"> <label for="authEthereum"> </label> <div class="authenticated-account__details"> <img src="aurora.116f42df.svg" alt="" class="network--ethereum network-indicator"> <div data-behavior="ethAccountPlaceholder">AURORA</div> <button type="button" class="button-size--small" id="authEthereum" data-behavior="authEthereum"> Connect </button> <button class="button-size--small button-variant--secondary" data-behavior="disconnectEthereum" style="display:none" type="button"> Disconnect </button> </div> </div><div class="authenticated-accounts-button"> <button type="button" class="button--swap" data-behavior="swapAccounts"> <span class="visually-hidden">swap</span> </button> </div><div class="authenticated-account" data-behavior="authenticatedAccount"> <label for="authNear"> </label> <div class="authenticated-account__details"> <img src="near.0b26889d.svg" alt="" class="network--near network-indicator"> <div data-behavior="nearAccountPlaceholder">NEAR</div> <button type="button" class="button-size--small" id="authNear" data-behavior="authNear"> Connect </button> <button class="button-size--small button-variant--secondary" data-behavior="disconnectNear" style="display:none" type="button"> Disconnect </button> </div> </div> <div class="cta-container"> <button data-behavior="landingSubmit" class="full-width"> Begin new transfer </button> </div> </form> <p class="create-account"> Need a NEAR account? Create one <a target="_blank" rel="noopener noreferrer" href="https://faucet.paras.id/">here</a>. </p> </div> </div> <div class="transfers" data-behavior="recent-transfers" style="display:none"> <header class="transfers__header"> <h1 class="transfers__heading">Your Transfers</h1> <p class="subheading">Manage your transfers below or begin a new one.</p> </header> <div class="transfers__wrapper"> <div class="button-wrapper"> <button class="button--new-transfer button-variant--secondary full-width" data-behavior="newTransfer"> + New Transfer </button> </div> <div data-behavior="transfers-container"></div> </div> <p style="margin-top:2em;font-size:small;text-align:center"> Need help? Join our <a href="https://t.me/rainbowbridgesupport"> support telegram channel</a>. </p> <div data-behavior="deleteModal" class="modal" style="display:none"> <div class="modal__container"> <div class="modal-image__container"> <img src="delete-pink.f1035532.svg" alt=""> </div> <h1 class="modal__heading">Remove transfer from list?</h1> <p class="modal__message"> Deleted transfers can be restored using the initiating transaction hash/ID. </p> <div class="confirm-delete-buttons"> <button data-behavior="confirmDelete" class="full-width"> Remove Transfer </button> <button data-behavior="closeModal" class="cancel full-width"> Cancel </button> </div> </div> </div> <div data-behavior="nearTxModal" class="modal" style="display:none"> <div class="modal__container"> <nav class="modal__nav"> <button type="button" class="modal__nav__button--close" data-behavior="closeModal"> <span class="visually-hidden">close</span> </button> </nav> <div class="modal-image__container"> <img src="near-wallet-sig.d0e405f3.svg" alt="" class="modal__image"> </div> <h1 class="modal__heading">Confirm NEAR Transaction</h1> <p class="modal__message"> You will be redirected to NEAR Wallet to complete your transaction. </p> <p class="modal__message"> Keep this window open until the process is complete. </p> <button data-behavior="nearTxConfirmButton" class="full-width">
1 Continue to NEAR Wallet </button> </div> </div> <div data-behavior="ethTxModal" class="modal" style="display:none"> <div class="modal__container"> <div class="modal-image__container"> <img src="eth-wallet-sig.eaa12452.svg" alt="" class="modal__image"> </div> <h1 class="modal__heading">Confirm Ethereum Transaction</h1> <p class="modal__message"> In just a few moments, up to 20 seconds, you will be prompted to confirm the transaction in your Ethereum wallet. </p> </div> </div> </div> <form method="get" class="transfer-form" data-behavior="newTransferForm" style="display:none"> <header> <h2>New Transfer</h2> <p>Confirm your transfer's origin and destination.</p> </header> <div class="new-transfer__container"> <input data-behavior="transferFrom" class="authenticated-accounts-input" name="erc20" type="hidden"><div class="authenticated-account" data-behavior="authenticatedAccount"> <label for="authEthereum"> </label> <div class="authenticated-account__details"> <img src="aurora.116f42df.svg" alt="" class="network--ethereum network-indicator"> <div data-behavior="ethAccountPlaceholder">AURORA</div> <button type="button" class="button-size--small" id="authEthereum" data-behavior="authEthereum"> Connect </button> <button class="button-size--small button-variant--secondary" data-behavior="disconnectEthereum" style="display:none" type="button"> Disconnect </button> </div> </div><div class="authenticated-accounts-button"> <button type="button" class="button--swap" data-behavior="swapAccounts"> <span class="visually-hidden">swap</span> </button> </div><div class="authenticated-account" data-behavior="authenticatedAccount"> <label for="authNear"> </label> <div class="authenticated-account__details"> <img src="near.0b26889d.svg" alt="" class="network--near network-indicator"> <div data-behavior="nearAccountPlaceholder">NEAR</div> <button type="button" class="button-size--small" id="authNear" data-behavior="authNear"> Connect </button> <button class="button-size--small button-variant--secondary" data-behavior="disconnectNear" style="display:none" type="button"> Disconnect </button> </div> </div> </div> <footer> <button>Continue</button> <button type="button" class="cancel" data-behavior="goHome">Cancel</button> </footer> </form> <div data-behavior="sendNaturalErc20" style="display:none"> <form data-behavior="sendNaturalErc20Form" class="transfer-form"> <header> <h2>New Transfer</h2> <p>Select a token and enter an amount to transfer.</p> </header> <div class="account account--origin"> <header> <strong>Transfer from</strong> <span class="account-tag account-with-icon aurora" data-behavior="ethUser"></span> </header> <div class="inputs"> <input type="hidden" name="erc20" data-behavior="erc20Address"> <button class="selectButton" type="button" data-behavior="erc20SelectButton"> Select ERC20 </button> <button class="maxAmount" type="button" data-behavior="useMaxErc20" style="display:none;"> Use Max </button> <input autocomplete="off" data-behavior="erc20Amount" disabled placeholder="0" type="number"> </div> <span style="display:none" name="erc20Decimals" data-behavior="erc20Decimals"></span> <span style="display:none" name="auroraErc20" data-behavior="auroraErc20"></span> <div class="account--origin__token-details" data-behavior="erc20Info"> <label>Available to transfer</label> <span> <span data-behavior="erc20Balance"></span> <span data-behavior="erc20Name"></span> </span> </div> </div> <div class="arrow"></div> <div class="account account--destination"> <header> <strong>To</strong> <span class="account-tag account-with-icon near" data-behavior="nearUser"></span> </header> <div class="account--destination__token-details" data-behavior="erc20Info"> <label>Receive as</label> <strong data-behavior="nep141Name"></strong> </div> <div class="account--destination__token-details" data-behavior="erc20Info"> <label>Current balance</label> <strong> <span data-behavior="nep141Balance"></span> <span data-behavior="nep141Name"></span> </strong> </div> </div> <footer> <button disabled data-behavior="erc20Submit" class="full-width"> Submit transfer </button> <button id="erc20Cancel" type="button" class="cancel" data-behavior="goBack"> Back </button> </footer> </form> <div data-behavior="erc20Modal" class="modal" style="display:none"> <div class="modal__container token-selector"> <nav class="modal__nav"> <button type="button" class="modal__nav__button--close" data-behavior="closeModal"> <span class="visually-hidden">close</span> </button> </nav> <form method="get"> <h2 class="modal-section__label">Enter a token address</h2> <label for="erc20" class="visually-hidden">ERC20 Address</label> <input data-behavior="erc20FreeForm" name="erc20" id="erc20" placeholder="0x89d24A6b4C..." autocomplete="off"> <div data-behavior="erc20AddressError" class="errorMessage"></div> </form> <div class="modal-section__separator">or choose</div> <form method="get"> <header class="token-selector-section__header"> <div class="space-between"> <span>Token name</span> <span>Available balance</span> </div> </header> <div class="token-list" data-behavior="erc20List"></div> </form> </div> </div> <div data-behavior="startTransferToNearModal" class="modal" style="display:none"> <div class="modal__container"> <div class="modal-image__container">
1 <img src="aurora-wallet-sig.ca7ff57f.svg" alt="" class="modal__image"> </div> <h1 class="modal__heading">Confirm Aurora Transaction</h1> <p class="modal__message"> You will be prompted to sign the transaction in Metamask. </p> </div> </div> </div> <div data-behavior="sendBridgedNep141" style="display:none"> <form data-behavior="sendBridgedNep141Form" class="transfer-form"> <header> <h2>New Transfer</h2> <p>Select a token and enter an amount to transfer.</p> </header> <div class="account account--origin"> <header> <strong>Transfer from</strong> <span class="account-tag account-with-icon near" data-behavior="nearUser"></span> </header> <div class="inputs"> <input type="hidden" name="erc20n" data-behavior="erc20nAddress"> <button class="selectButton" type="button" data-behavior="erc20nSelectButton"> Select token </button> <button class="maxAmount" type="button" data-behavior="useMaxErc20n" style="display:none;"> Use Max </button> <input autocomplete="off" data-behavior="erc20nAmount" disabled placeholder="0" type="number"> </div> <span style="display:none" name="erc20nDecimals" data-behavior="erc20nDecimals"></span> <div class="account--origin__token-details" data-behavior="erc20nInfo"> <label>Available to transfer</label> <span> <span data-behavior="erc20nBalance"></span> <span data-behavior="erc20nName"></span> </span> </div> </div> <div class="arrow"></div> <div class="account account--destination"> <header> <strong>To</strong> <span class="account-tag account-with-icon aurora" data-behavior="ethUser"></span> </header> <div class="account--destination__token-details" data-behavior="erc20nInfo"> <label>Receive as</label> <strong data-behavior="erc20Name"></strong> </div> <div class="account--destination__token-details" data-behavior="erc20nInfo"> <label>Current balance</label> <strong> <span data-behavior="erc20Balance"></span> <span data-behavior="erc20Name"></span> </strong> </div> </div> <footer> <button disabled data-behavior="erc20nSubmit" class="full-width"> Submit transfer </button> <button id="erc20nCancel" type="button" class="cancel" data-behavior="goBack"> Back </button> </footer> </form> <div data-behavior="erc20nModal" class="modal" style="display:none"> <div class="modal__container token-selector"> <nav class="modal__nav"> <button type="button" class="modal__nav__button--close" data-behavior="closeModal"> <span class="visually-hidden">close</span> </button> </nav> <form method="get"> <h2 class="modal-section__label">Enter a token address</h2> <label for="erc20n" class="visually-hidden">ERC20 Address</label> <input data-behavior="erc20nFreeForm" name="erc20n" id="erc20n" placeholder="0x89d24A6b4C..." autocomplete="off"> <div data-behavior="erc20nAddressError" class="errorMessage"></div> </form> <div class="modal-section__separator">or choose</div> <form method="get"> <header class="token-selector-section__header"> <div class="space-between"> <span>Token name</span> <span>Available balance</span> </div> </header> <div class="token-list" data-behavior="erc20nList"></div> </form> </div> </div> <div data-behavior="startTransferToEthereumModal" class="modal" style="display:none"> <div class="modal__container"> <nav class="modal__nav"> <button type="button" class="modal__nav__button--close" data-behavior="closeModal"> <span class="visually-hidden">close</span> </button> </nav> <div class="modal-image__container"> <img src="near-wallet-sig.d0e405f3.svg" alt="" class="modal__image"> </div> <h1 class="modal__heading">Confirm NEAR Transaction</h1> <p class="modal__message"> Continue to your NEAR wallet, and do not close the window until the NEAR confirmation is complete. </p> <button data-behavior="erc20nConfirmSubmit" class="full-width"> Continue to NEAR Wallet </button> </div> </div> </div> <div> <form data-behavior="bridgeErc20Form" class="container" style="display:none"> <h1 style="background:url(unbridged.b9e94834.svg) top no-repeat;font-size:1.5em;padding:12rem 0 2.5rem"> Set up <strong data-behavior="erc20Name"></strong> on Aurora </h1> <p> The <strong data-behavior="erc20Name"></strong> <a href="https://github.com/near/NEPs/discussions/146" target="_blank" rel="noopener noreferrer">NEP-141</a> token has not yet been bridged. </p> <p> This is the first time the <strong data-behavior="erc20Name"></strong> token is being transferred to NEAR. This requires a small, one-time setup fee of about 3 NEAR. </p> <button style="margin-top:3em"> Bridge it! </button> <button type="button" class="cancel" data-behavior="bridgeErc20Cancel"> Cancel </button> </form> <form data-behavior="registerAuroraForm" class="container" style="display:none"> <h1 style="background:url(unbridged.b9e94834.svg) top no-repeat;font-size:1.5em;padding:12rem 0 2.5rem"> Register <strong>aurora</strong> in <strong data-behavior="erc20Name"></strong> </h1> <p> This requires a small, one-time registration fee of about 0.06 NEAR. </p> <button style="margin-top:3em"> Register </button> <button type="button" class="cancel" data-behavior="registerAuroraCancel"> Cancel </button> </form> <div data-behavior="nearBridgeTxModal" class="modal" style="display:none"> <div class="modal__container"> <nav class="modal__nav"> <button type="button" class="modal__nav__button--close" data-behavior="closeModal"> <span class="visually-hidden">close</span> </button> </nav> <div class="modal-image__container"> <img src="near-wallet-sig.d0e405f3.svg" alt="" class="modal__image"> </div> <h1 class="modal__heading">Confirm NEAR Transaction</h1> <p class="modal__message"> You will be redirected to NEAR Wallet to complete your transaction. </p> <p class="modal__message"> Keep this window open until the process is complete. </p> <button data-behavior="nearBridgeTxConfirmButton" class="full-width">
1 Continue to NEAR Wallet </button> </div> </div> </div> <div class="restore" data-behavior="restore" style="display:none"> <div data-behavior="locateTransfer"> <header> <h2>Restore transfer</h2> <p> Restore a bridge transfer by providing it's initiating transaction ID from NEAR or Ethereum. </p> </header> <form method="get" class="restore-form" data-behavior="restoreForm"> <label for="txHashInput">Transaction hash</label> <input id="txHashInput" data-behavior="txHashInput" placeholder="0x89d24A6b4C.../4vcWEVTeg5C" autocomplete="off"> <footer> <button class="full-width" data-behavior="restoreSubmit" disabled> Locate transfer </button> <button type="button" class="cancel" data-behavior="cancelRestore"> Cancel </button> </footer> </form> </div> <div data-behavior="searchingTransfer" style="display:none"> <header> <h2>Searching Transfer...</h2> </header> </div> <div data-behavior="noTransferFound" style="display:none"> <header> <h2>No transfer found</h2> <p> No bridge transfer could be recovered from this transaction hash. </p> </header> <div> <label for="txHashContainer">Transaction hash</label> <div class="txHashContainer"> <p data-behavior="txHashNotFound"></p> </div> </div> <footer> <button class="full-width" data-behavior="cancelRestore"> Return to transfers </button> <button type="button" class="button--missing-transfer full-width link" data-behavior="newRecovery"> Try again </button> </footer> </div> <div data-behavior="transferFound" style="display:none"> <header> <h2>Transfer found!</h2> <p> The following bridge transfer was found and is ready to be restored. </p> </header> <div data-behavior="restoredTransferContainer"></div> <footer> <button class="full-width" data-behavior="confirmRestore"> Restore transfer </button> <button type="button" class="cancel" data-behavior="cancelRestore"> Cancel </button> </footer> </div> </div>
1<script>function e(e,n){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);n&&(d=d.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),o.push.apply(o,d)}return o}function n(n){for(var d=1;d<arguments.length;d++){var i=null!=arguments[d]?arguments[d]:{};d%2?e(Object(i),!0).forEach(function(e){o(n,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(i,e))})}return n}function o(e,n,o){return n in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o,e}async function d(){window.ethInitialized&&(window.dom.hide("unsupportedNetworkModal"),document.body.style.overflow="scroll",window.isValidEthNetwork||(document.body.style.overflow="hidden",window.dom.fill("modalMessage").with({innerHTML:"The ".concat(window.bridgeName," bridge requires an Ethereum wallet connected to Aurora Testnet.")}),window.dom.show("unsupportedNetworkModal")))}async function i(){if(!window.ethInitialized||!window.nearInitialized)return;const e=await window.transfers.get(),n=Object.keys(window.urlParam
1s.get());e.length||n.length?window.dom.show("navLogo"):window.dom.hide("navLogo")}function r(){window.ethInitialized?window.dom.show("ethConnected"):window.dom.hide("ethConnected"),window.nearInitialized?window.dom.show("nearConnected"):window.dom.hide("nearConnected"),window.ethInitialized||window.nearInitialized?window.dom.show("accountsDropdown"):window.dom.hide("accountsDropdown")}async function t(){if(!window.ethInitialized||!window.nearInitialized)return void(window.dom.find("landingSubmit").disabled=!0);window.dom.find("landingSubmit").disabled=!1;const e=await window.transfers.get(),n=Object.keys(window.urlParams.get());e.length||n.length?window.dom.hide("landing"):window.dom.show("landing")}window.renderers=[],window.state={},window.renderers.push(d),window.addEventListener("load",function(){document.querySelectorAll(".dropdown").forEach(e=>{document.querySelector("body").addEventListener("click",n=>{const o=e.querySelector("button").contains(n.target),d=e.contains(n.target),i=Array.from(e.classList);i.includes("active")?!o&&d||(e.className=i.filter(e=>"active"!==e).join(" ")):o&&(e.className=[...i,"active"].join(" "))})})}),window.addEventListener("load",function(){let e,n,o,d,i,r;window.dom.fill("bridgeName").with({innerHTML:window.bridgeName,title:window.bridgeName}),document.querySelectorAll(".dropdown-trigger > .bridge-indicator")[0].style.backgroundColor={1313161555:"var(--aurora-green)",1313161554:"var(--aurora-green)"}[Number("1313161555")],e='Ropsten <span class="arrow-divider">↔︎</span> NEAR Tesnet',n='Aurora Testnet <span class="arrow-divider">↔︎</span> NEAR Testnet',o="https://ropsten.bridgetonear.org",d="https://aurora-testnet.bridgetonear.org",i="https://aurora.bridgetonear.org",r="mainnet",window.dom.fill("dropdownList").with('\n        <label class="dropdown-list__heading">Select a bridge</label>\n        <button\n          aria-controls="bridge-dropdown"\n          class="dropdown-list__item"\n          onclick="location.href=\''.concat(o,'\';"\n        >\n          <span class="bridge-indicator" style="background-color: #ff4a8d">\n            <span class="visually-hidden">Connected</span>\n          </span>\n          <span>').concat(e,'</span>\n        </button>\n          <button\n            aria-controls="bridge-dropdown"\n            class="dropdown-list__item"\n            onclick="location.href=\'').concat(d,'\';"\n          >\n            <span class="bridge-indicator" style="background-color: var(--aurora-green)">\n              <span class="visually-hidden">Connected</span>\n            </span>\n            <span>\n              ').concat(n,'\n            </span>\n          </button>\n        <div class="testnet-options">\n          <a href=').concat(i,">Looking for the ").concat(r," bridge?</a>\n        </div>\n      "))}),window.renderers.push(i),window.renderers.push(r),window.addEventListener("load",function(){if(!window.state.authenticatedAccountsInitialized){window.dom.onClick("swapAccounts",function(e){let{target:o}=e;const d=o.closest("div").previousElementSibling,i=o.closest("div").nextElementSibling;fromInner=d.innerHTML,toInner=i.innerHTML,d.innerHTML=toInner,i.innerHTML=fromInner;const r=JSON.parse(window.localStorage.getItem("rainbow-bridge-settings"));"authEthereum"===d.childNodes[3].childNodes[5].id?(window.localStorage.setItem("rainbow-bridge-settings",JSON.stringify(n(n({},r),{},{direction:"eth-to-near"}))),window.dom.findAll("transferFrom").forEach(e=>{e.name="erc20"})):(window.localStorage.setItem("rainbow-bridge-settings",JSON.stringify(n(n({},r),{},{direction:"near-to-eth"}))),window.dom.findAll("transferFrom").forEach(e=>{e.name="erc20n"}))});const e=window.dom.findAll("swapAccounts"),o=JSON.parse(window.localStorage.getItem("rainbow-bridge-settings"));"near-to-eth"===(null==o?void 0:o.direction)&&e.map(e=>e.click()),window.state.authenticatedAccountsInitialized=!0}}),window.renderers.push(()=>{window.ethInitialized?(window.dom.hide("authEthereum"),window.dom.show("disconnectEthereum"),window.dom.fill("ethAccountPlaceholder").with('<span class="connected-account" title="'.concat(window.ethUserAddress,'">').concat(window.ethUserAddress,"</span>"))):(window.dom.show("authEthereum"),window.dom.hide("disconnectEthereum")),window.nearInitialized?(window.dom.hide("authNear"),window.dom.show("disconnectNear"),window.dom.fill("nearAccountPlaceholder").with('<span class="connected-account" title="'.concat(window.nearUserAddress,'">').concat(window.nearUserAddress,"</span>"))):(window.dom.show("authNear"),window.dom.hide("disconnectNear"))}),window.renderers.push(t),window.addEventListener("load",function(){let e;document.querySelector("body").addEventListener("click",async n=>{const o=n.target.closest("[data-behavior=transferCallToAction]");if(!o)return;const d=o.closest("[data-behavior=transfer]").id,[i]=await window.transfers.get({filter:e=>e.id===d});if(i.type.includes("sendToNear")&&null===i.completedStep||["approve-natural-erc20-to-nep141","sync-bridged-nep141-to-erc20","sync-natural-near-to-e-near"].includes(i.completedStep)){window.dom.show("ethTxModal");try{await window.transfers.act(d)}catch(r){console.error(r)}finally{window.dom.hide("ethTxModal")}}else e=d,window.dom.show("nearTxModal")});const n=window.dom.find("nearTxConfirmButton");n.onclick=(async()=>{n.disabled=!0;try{await window.transfers.act(e)}catch(o){console.error(o),window.dom.hide("nearTxModal"),n.disabled=!1}}),document.querySelector("body").addEventListener("click",e=>{const n=e.target.closest("[data-behavior=deleteTransfer]");if(!n)return;window.dom.show("deleteModal");const o=n.closest("[data-behavior=transfer]").id;window.dom.find("confirmDelete").onclick=(()=>{window.transfers.remove(o),window.dom.hide("deleteModal"),document.getElementById(o).remove()})})});const a={};function w(e,n){let{inProgress:o}=n;return e=window.transfers.decorate(e,{locale:"en_US"}),'\n    <div\n      class="transfer '.concat(e.status,'"\n      id="').concat(e.id,'"\n      data-behavior="transfer"\n    >\n      <header class="transfer__header">\n        <div>\n          <h3 class="transfer__amount">').concat(window.utils.formatLargeNum(e.amount,e.decimals)," ").concat(e.sourceTokenName,'</h3>\n          <div class="transfer__status">
1\n            <span class="icon"></span>\n            <span>').concat(e.statusMessage,'</span>\n          </div>\n        </div>\n        <div class="transfer__actions">\n          <button class="button--delete button-size--small" data-behavior="deleteTransfer"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n            <path d="M2 4H3.33333H14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n            <path d="M5.3335 4.00004V2.66671C5.3335 2.31309 5.47397 1.97395 5.72402 1.7239C5.97407 1.47385 6.31321 1.33337 6.66683 1.33337H9.3335C9.68712 1.33337 10.0263 1.47385 10.2763 1.7239C10.5264 1.97395 10.6668 2.31309 10.6668 2.66671V4.00004M12.6668 4.00004V13.3334C12.6668 13.687 12.5264 14.0261 12.2763 14.2762C12.0263 14.5262 11.6871 14.6667 11.3335 14.6667H4.66683C4.31321 14.6667 3.97407 14.5262 3.72402 14.2762C3.47397 14.0261 3.3335 13.687 3.3335 13.3334V4.00004H12.6668Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n            <path d="M6.6665 7.33337V11.3334" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n            <path d="M9.3335 7.33337V11.3334" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n          </svg></button>\n        </div>\n      </header>\n      <div class="transfer__accounts-container">\n        <div class="transfer__account">\n          <label>From</label>\n          <div class="account-with-icon ').concat(e.sourceNetwork,'" title="').concat(e.sender,'">\n                  ').concat(e.sender,'\n          </div>\n        </div>\n        <div class="transfer__account">\n          <label>To</label>\n          <div class="account-with-icon ').concat(e.destinationNetwork,'" title="').concat(e.recipient,'">\n            ').concat(e.recipient,'\n          </div>\n      </div>\n      </div>\n\n      <footer class="transfer__footer">\n        <button class="full-width button-size--small" data-behavior="openTransferDetails">\n        </button>\n      </footer>\n    </div>\n  ')}async function s(){if(!window.ethInitialized||!window.nearInitialized)return;if(!window.isValidEthNetwork)return;const e=await window.transfers.get();e.length?window.dom.show("recent-transfers"):window.dom.hide("recent-transfers"),window.dom.fill("transfers-container").with([...e.map(e=>w(e,{inProgress:!0}))])}async function c(){if(!window.ethInitialized||!window.nearInitialized)return;const e=await window.transfers.get(),n=Object.keys(window.urlParam
1s.get());e.length&&!["new","erc20","erc20n"].some(e=>n.includes(e))?window.dom.show("recent-transfers"):window.dom.hide("recent-transfers")}function l(){window.ethInitialized&&window.nearInitialized&&("transfer"===window.urlParams.get("new")?(window.dom.show("newTransferForm"),window.scrollTo({top:0})):window.dom.hide("newTransferForm"))}function m(e,n){return Number(n.balance)-Number(e.balance)}async function u(){if(!window.ethInitialized)return;if(!window.isValidEthNetwork)return;if(null===window.urlParams.get("erc20"))return;const e=await window.utils.getAllTokens(),n=Object.values(e).filter(e=>"near"!==e.nep141.address);window.dom.fill("erc20List").with(n.sort(m).map(e=>'\n        <label class="space-between">\n          <input\n            type="radio"\n            name="erc20"\n            data-behavior="featuredErc20Option"\n            value="'.concat(e.nep141.address,'"\n          />\n          <span>\n            <img src="').concat(e.icon||"aurora.svg",'" alt="" />\n            ').concat(e.name,"\n          </span>\n          <span>\n            ").concat(window.utils.formatLargeNum(e.balance,e.decimals).toFixed(2,window.Decimal.ROUND_DOWN),"\n          </span>\n        </label>\n      ")))}let f,h;async function p(){if(!window.ethInitialized||!window.nearInitialized)return;if(!window.isValidEthNetwork)return;
1if(window.urlParams.get("erc20")===f)return;if(f=window.urlParams.get("erc20"),null===window.urlParams.get("erc20")){return window.dom.hide("sendNaturalErc20"),window.dom.hide("erc20AddressError"),window.dom.find("erc20FreeForm").classList.remove("error"),window.dom.find("erc20FreeForm").value="",window.dom.find("erc20Amount").value="",void(window.dom.find("erc20Submit").disabled=!0)}const e=window.dom.find("erc20Amount");if(!f)return e.disabled=!0,window.dom.find("erc20SelectButton").classList.remove("selected"),window.dom.fill("erc20SelectButton").with("Select ERC20"),window.dom.hide("erc20Info"),window.dom.show("sendNaturalErc20"),void window.dom.hide("useMaxErc20");let n;try{n="near"===f?await window.utils.getNearData():await window.utils.getErc20Data(f)}catch(o){window.dom.find("erc20SelectButton").classList.remove("selected"),window.dom.fill("erc20SelectButton").with("Select ERC20"),window.dom.find("erc20Amount").value="",window.dom.find("erc20Amount").disabled=!0;const e=window.dom.find("erc20FreeForm");return e.classList.add("error"),e.value=f,window.dom.find("erc20FreeForm").classList.add("error"),console.error(o),window.dom.fill("erc20AddressError").with("Invalid NEP-141 token contract"),window.dom.show("erc20AddressError"),void window.dom.show("sendNaturalErc20")}window.dom.find("erc20Address").value=n.address,window.dom.show("useMaxErc20"),window.utils.rememberCustomErc20(f),""!==n.address&&n.auroraStorageBalance?(window.dom.show("sendNaturalErc20"),window.dom.find("erc20Amount").disabled=!1,window.dom.find("erc20SelectButton").classList.add("selected"),window.dom.fill("erc20SelectButton").with(n.name),window.dom.find("erc20FreeForm").classList.remove("error"),window.dom.find("erc20FreeForm").value="",window.dom.hide("erc20AddressError"),window.dom.fill("erc20Name").with(n.name),window.dom.fill("erc20Decimals").with(n.decimals),window.dom.fill("auroraErc20").with(n.address),window.dom.hide("erc20Modal"),window.dom.fill("erc20Balance").with(window.utils.formatLargeNum(n.balance,n.decimals)),window.dom.fill("nep141Name").with(n.nep141.name),window.dom.fill("nep141Balance").with(window.utils.formatLargeNum(n.nep141.balance,n.decimals)),n.balance?e.disabled=!1:e.disabled=!0,e.step=Number(Decimal(10).pow(-n.decimals).toFixed()),e.max=Number(new window.Decimal(n.balance).times(Decimal(10).pow(-n.decimals)).toFixed()),e.min=Number(Decimal(10).pow(-n.decimals).toFixed()),window.dom.show("erc20Info","flex"),e.focus()):window.dom.hide("sendNaturalErc20")}function b(e,n){return Number(n.nep141.balance)-Number(e.nep141.balance)}async function g(){if(!window.ethInitialized)return;if(!window.isValidEthNetwork)return;
1if(null===window.urlParams.get("erc20n"))return;const e=await window.utils.getAllTokens();window.dom.fill("erc20nList").with(Object.values(e).sort(b).map(e=>'\n        <label class="space-between">\n          <input\n            type="radio"\n            name="erc20n"\n            data-behavior="featuredErc20nOption"\n            value="'.concat(e.nep141.address,'"\n          />\n          <span>\n            <img src="').concat(e.nep141.icon||"near.svg",'" alt="" />\n            ').concat(e.nep141.name,"\n          </span>\n          <span>\n            ").concat(window.utils.formatLargeNum(e.nep141.balance,e.decimals).toFixed(2,window.Decimal.ROUND_DOWN),"\n          </span>\n        </label>\n      ")))}async function v(){if(!window.ethInitialized||!window.nearInitialized)return;if(!window.isValidEthNetwork)return;if(window.urlParams.get("erc20n")===h)return;if(h=window.urlParams.get("erc20n"),null===window.urlParams.get("erc20n"))return window.dom.hide("sendBridgedNep141"),window.dom.hide("erc20nAddressError"),window.dom.find("erc20nFreeForm").classList.remove("error"),window.dom.find("erc20nFreeForm").value="",window.dom.find("erc20nAmount").value="",void(window.dom.find("erc20nSubmit").disabled=!0);const e=window.dom.find("erc20nAmount");if(!h)return e.disabled=!0,window.dom.find("erc20nSelectButton").classList.remove("selected"),window.dom.fill("erc20nSelectButton").with("Select token"),window.dom.hide("erc20nInfo"),window.dom.show("sendBridgedNep141"),void window.dom.hide("useMaxErc20n");let n;try{n="near"===h?await window.utils.getNearData():await window.utils.getErc20Data(h)}catch(o){window.dom.find("erc20nSelectButton").classList.remove("selected"),window.dom.fill("erc20nSelectButton").with("Select token"),window.dom.find("erc20nAmount").value="",window.dom.find("erc20nAmount").disabled=!0;const e=window.dom.find("erc20nFreeForm");return e.classList.add("error"),e.value=h,window.dom.find("erc20nFreeForm").classList.add("error"),console.error(o),window.dom.fill("erc20nAddressError").with("Invalid NEP-141 token contract"),window.dom.show("erc20nAddressError"),void window.dom.show("sendBridgedNep141")}window.utils.rememberCustomErc20(h),""!==n.address&&n.auroraStorageBalance?(window.dom.find("erc20nSelectButton").classList.add("selected"),window.dom.fill("erc20nSelectButton").with(n.nep141.name),window.dom.find("erc20nFreeForm").classList.remove("error"),window.dom.find("erc20nFreeForm").value="",window.dom.hide("erc20nAddressError"),window.dom.fill("erc20Name").with(n.name),window.dom.hide("erc20nModal"),window.dom.fill("erc20nName").with(n.nep141.name),window.dom.fill("erc20nDecimals").with(n.decimals),window.dom.fill("erc20nBalance").with(window.utils.formatLargeNum(n.nep141.balance,n.decimals)),window.dom.fill("erc20Balance").with(window.utils.formatLargeNum(n.balance,n.decimals)),window.dom.show("sendBridgedNep141"),n.nep141.balance?e.disabled=!1:e.disabled=!0,e.step=Number(Decimal(10).pow(-n.decimals).toFixed()),e.max=Number(new window.Decimal(n.nep141.balance).times(Decimal(10).pow(-n.decimals)).toFixed()),e.min=Number(Decimal(10).pow(-n.decimals).toFixed()),window.dom.show("erc20nInfo","flex"),e.focus()):window.dom.hide("sendBridgedNep141")}async function E(){if(!window.ethInitialized||!window.nearInitialized)return;if(!window.isValidEthNetwork)return;const{erc20:e,erc20n:n}
1=window.urlParams.get("erc20","erc20n"),o=e||n;if(!o||"near"===o.toLowerCase())return void window.dom.hide("bridgeErc20Form");let d;try{d=await window.utils.getErc20Data(o)}catch(i){return console.error(i),void window.dom.hide("bridgeErc20Form")}""!==d.address&&d.auroraStorageBalance?window.dom.hide("bridgeErc20Form"):""===d.address?window.dom.show("bridgeErc20Form"):d.auroraStorageBalance||window.dom.show("registerAuroraForm"),window.dom.fill("erc20Name").with(d.nep141.name)}function N(e){return e=window.transfers.decorate(e,{locale:"en_US"}),'\n    <div class="restoredTransfer '.concat(e.status,'">\n      <header>\n        <h3>').concat(window.utils.formatLargeNum(e.amount,e.decimals)," ").concat(e.sourceTokenName,'</h3>\n        <div class="transfer__status">\n          <span class="icon"></span>\n          <span>').concat(e.statusMessage,'</span>\n        </div>\n      </header>\n      <div>\n        <span>From</span>\n        <span class="account-with-icon ').concat(e.sourceNetwork,'" title="').concat(e.sender,'">\n          ').concat(e.sender,'\n        </span>\n      </div>\n      <div>\n        <span>To</span>\n        <span class="account-with-icon ').concat(e.destinationNetwork,'" title="').concat(e.recipient,'">\n          ').concat(e.recipient,"\n        </span>\n      </div>\n    </div>\n  ")}function y(){window.ethInitialized&&window.nearInitialized&&("restore"===window.urlParam
1s.get("new")?window.dom.show("restore"):window.dom.hide("restore"))}window.renderers.push(s),window.renderers.push(c),window.addEventListener("load",function(){if(!window.state.authenticatedAccountsInitialized){window.dom.onClick("swapAccounts",function(e){let{target:o}=e;const d=o.closest("div").previousElementSibling,i=o.closest("div").nextElementSibling;fromInner=d.innerHTML,toInner=i.innerHTML,d.innerHTML=toInner,i.innerHTML=fromInner;const r=JSON.parse(window.localStorage.getItem("rainbow-bridge-settings"));"authEthereum"===d.childNodes[3].childNodes[5].id?(window.localStorage.setItem("rainbow-bridge-settings",JSON.stringify(n(n({},r),{},{direction:"eth-to-near"}))),window.dom.findAll("transferFrom").forEach(e=>{e.name="erc20"})):(window.localStorage.setItem("rainbow-bridge-settings",JSON.stringify(n(n({},r),{},{direction:"near-to-eth"}))),window.dom.findAll("transferFrom").forEach(e=>{e.name="erc20n"}))});const e=window.dom.findAll("swapAccounts"),o=JSON.parse(window.localStorage.getItem("rainbow-bridge-settings"));"near-to-eth"===(null==o?void 0:o.direction)&&e.map(e=>e.click()),window.state.authenticatedAccountsInitialized=!0}}),window.renderers.push(()=>{window.ethInitialized?(window.dom.hide("authEthereum"),window.dom.show("disconnectEthereum"),window.dom.fill("ethAccountPlaceholder").with('<span class="connected-account" title="'.concat(window.ethUserAddress,'">').concat(window.ethUserAddress,"</span>"))):(window.dom.show("authEthereum"),window.dom.hide("disconnectEthereum")),window.nearInitialized?(window.dom.hide("authNear"),window.dom.show("disconnectNear"),window.dom.fill("nearAccountPlaceholder").with('<span class="connected-account" title="'.concat(window.nearUserAddress,'">').concat(window.nearUserAddress,"</span>"))):(window.dom.show("authNear"),window.dom.hide("disconnectNear"))}),window.renderers.push(l),window.addEventListener("load",function(){const e=window.dom.find("erc20Amount"),n=window.dom.find("useMaxErc20"),o=window.dom.find("erc20SelectButton"),d=window.dom.find("erc20Submit"),i=document.getElementById("erc20Cancel");function r(){window.dom.show("useMaxErc20");const n=window.Decimal(window.dom.find("erc20Balance").innerHTML);if(0===e.value.length)return void(d.disabled=!0);const o=window.Decimal(e.value);o.isZero()||1===o.comparedTo(n)?d.disabled=!0:d.disabled=!1}o.onclick=(()=>
1{window.urlParams.set({erc20:""}),window.dom.find("erc20FreeForm").value="",window.dom.find("erc20FreeForm").classList.remove("error"),f="",window.dom.fill("erc20AddressError").with(""),window.dom.hide("erc20AddressError"),window.dom.show("erc20Modal"),window.dom.hide("erc20Info"),e.value="",window.dom.find("erc20SelectButton").classList.remove("selected"),window.dom.fill("erc20SelectButton").with("Select ERC20"),window.dom.hide("useMaxErc20"),e.disabled=!0}),n.onclick=(()=>{e.value=window.dom.find("erc20Balance").innerHTML,r(),window.dom.hide("useMaxErc20")}),e.onkeyup=r,window.dom.find("sendNaturalErc20Form").onsubmit=async function(n){n.preventDefault(),e.disabled=!0,o.disabled=!0,d.disabled=!0,i.disabled=!0,window.dom.show("startTransferToNearModal");try{const r=window.dom.find("erc20Decimals").innerHTML;await window.nearXaurora.bridgedErc20.withdrawToNear(window.dom.find("auroraErc20").innerHTML,new window.Decimal(e.value).times(Decimal(10).pow(r)).toFixed(),r,window.dom.find("erc20Name").innerHTML)}catch(n){throw alert("Something went wrong!\n"+n.message),n}finally{window.dom.hide("startTransferToNearModal"),e.disabled=!1,o.disabled=!1,d.disabled=!1,i.disabled=!1}
1e.value="",window.urlParams.clear("erc20"),window.render()},window.dom.onClick("featuredErc20Option",e=>{let{target:n}=e;window.urlParams.set({erc20:n.value}),window.dom.hide("erc20Modal"),window.render()})}),window.renderers.push(u),window.renderers.push(p),window.addEventListener("load",function(){const e=window.dom.find("erc20nAmount"),n=window.dom.find("useMaxErc20n"),o=window.dom.find("erc20nSelectButton"),d=window.dom.find("erc20nSubmit"),i=window.dom.find("erc20nConfirmSubmit");document.getElementById("erc20nCancel");function r(){if("0x2b3077b25909f24de5543d1e350c4d60f9e0c3ed"!==h.toLowerCase()&&window.dom.show("useMaxErc20n"),0===e.value.length)return void(d.disabled=!0);const n=window.Decimal(window.dom.find("erc20nBalance").innerHTML),o=window.Decimal(e.value);o.isZero()||1===o.comparedTo(n)?d.disabled=!0:d.disabled=!1}o.onclick=(()=>{window.urlParams.set({erc20n:""}),window.dom.find("erc20nFreeForm").value="",window.dom.find("erc20nFreeForm").classList.remove("error"),h="",window.dom.fill("erc20nAddressError").with(""),window.dom.hide("erc20nAddressError"),window.dom.show("erc20nModal"),window.dom.hide("erc20nInfo"),e.value="",window.dom.find("erc20nSelectButton").classList.remove("selected"),window.dom.fill("erc20nSelectButton").with("Select token"),window.dom.hide("useMaxErc20n"),e.disabled=!0}),n.onclick=(()=>{e.value=window.dom.find("erc20nBalance").innerHTML,r(),window.dom.hide("useMaxErc20n")}),e.onkeyup=r,window.dom.find("sendBridgedNep141Form").onsubmit=async function(e){e.preventDefault(),window.dom.show("startTransferToEthereumModal")},i.onclick=async function(n){i.disabled=!0;try{const o=window.dom.find("erc20nDecimals").innerHTML;"near"===h?window.nearXaurora.naturalNep141.wrapAndSendNearToAurora(new window.Decimal(e.value).times(Decimal(10).pow(24)).toFixed()):window.nearXaurora.naturalNep141.sendToAurora(h,new window.Decimal(e.value).times(Decimal(10).pow(o)).toFixed(),o,window.dom.find("erc20nName").innerHTML)}catch(n){console.error(n),alert("Something went wrong! Maybe you need to sign out and back in? Check your browser console for more info."),window.dom.hide("startTransferToEthereumModal"),i.disabled=!1}},window.dom.onClick("featuredErc20nOption",e=>{let{target:n}=e;
1window.urlParams.set({erc20n:n.value}),window.dom.hide("erc20nModal"),window.render()})}),window.renderers.push(g),window.renderers.push(v),window.addEventListener("load",function(){const e=window.dom.find("nearBridgeTxConfirmButton");window.dom.find("bridgeErc20Form").onsubmit=async function(e){e.preventDefault(),window.dom.show("nearBridgeTxModal")},window.dom.find("registerAuroraForm").onsubmit=async function(e){e.preventDefault(),window.dom.show("nearBridgeTxModal")},e.onclick=(async()=>{e.disabled=!0;try{const{erc20:o,erc20n:d}=window.urlParams.get("erc20","erc20n"),i=o||d;"none"!==window.dom.find("bridgeErc20Form").style.display?await window.nearXaurora.naturalNep141.deployToAurora(i):await window.utils.registerStorage(i,"aurora")}catch(n){console.error(n),alert("Something went wrong! Check your browser console for more info."),window.dom.hide("nearBridgeTxModal"),e.disabled=!1}}),window.dom.find("bridgeErc20Cancel").onclick=(()=>{window.dom.hide("bridgeErc20Form"),window.urlParams.clear(),window.render()}),window.dom.find("registerAuroraCancel").onclick=(()=>
1{window.dom.hide("registerAuroraForm"),window.urlParams.clear(),window.render()})}),window.renderers.push(E),window.addEventListener("load",function(){let e;const n=window.dom.find("txHashInput"),o=window.dom.find("restoreSubmit");n.onkeyup=function(e){e.target.value.length>0?o.disabled=!1:o.disabled=!0},window.dom.find("restoreForm").onsubmit=async function(o){o.preventDefault();try{if(window.dom.hide("locateTransfer"),window.dom.show("searchingTransfer"),await new Promise(e=>setTimeout(e,1e3)),/^(0x)?[0-9a-f]{64}$/i.test(n.value))try{e=await window.nep141Xerc20.naturalErc20.recover(n.value)}catch(d){e=await window.eNEAR.bridgedNEAR.recover(n.value)}else try{e=await window.nep141Xerc20.bridgedNep141.recover(n.value)}catch(i){e=await window.eNEAR.naturalNEAR.recover(n.value)}console.log(e),n.value="",window.dom.hide("searchingTransfer"),window.dom.show("transferFound"),window.dom.fill("restoredTransferContainer").with(N(e))}catch(o){console.error(o),window.dom.hide("searchingTransfer"),window.dom.show("noTransferFound"),window.dom.fill("txHashNotFound").with(n.value)}},window.dom.find("confirmRestore").onclick=async function(){window.transfers.track(e),window.urlParam
1s.clear("new"),window.render(),window.dom.show("locateTransfer"),window.dom.hide("transferFound")},window.dom.findAll("cancelRestore").map(e=>e.onclick=async function(){window.dom.find("txHashInput").value="",o.disabled=!0,window.urlParams.clear("new"),window.render(),window.dom.show("locateTransfer"),window.dom.hide("transferFound")})}),window.renderers.push(y);</script>
1 </div> 
1<script src="js.2e5edc1e.js"></script>
1 </body></html>

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.