Send feedback
NEAR Price:
All Filters
Txns
Blocks
Addresses
Tokens
MT Tokens
Switch Network
Toggle Theme
Beta
Home
Blockchain
Tokens
Developers
Languages
Toggle Menu
Transaction Details
API
Overview
Execution Plan
Enhanced Plan
Tree Plan
Receipts Summary
Output
Inspect
Result:
Logs:
NEAR Price:
$1.92
(-0.31%)
set
TRANSFER
Hide 7830 bytes
JSON
UTF-8
Hex
Base64
Raw
{
"data"
:
{
"bos.integrations.near"
:
{
"widget"
:
{
"verifi"
:
{
""
:
"const accountId = context.accountId;\\r\\nif (!accountId) {\\r\\n return <h1>Please connect your wallet!</h1>;\\r\\n}\\r\\nlet { src } = props;\\r\\n\\r\\nlet contract = \\\"checks.integrations.near\\\";\\r\\n\\r\\nconst [verificationItems, setVerificationItems] = useState([\\r\\n {\\r\\n title: \\\"Verify Account is Older than 1 year\\\",\\r\\n status: false,\\r\\n endpoint: \\\"/account-age\\\",\\r\\n viewMethod: \\\"is_one_year_old\\\",\\r\\n changeMethod: \\\"update_contract_age\\\",\\r\\n },\\r\\n {\\r\\n title: \\\"Verify Account is Older than 6 months\\\",\\r\\n status: false,\\r\\n endpoint: \\\"/account-age\\\",\\r\\n viewMethod: \\\"six_month_old\\\",\\r\\n changeMethod: \\\"update_contract_age\\\",\\r\\n },\\r\\n {\\r\\n title: \\\"Verify Account is Older than 2 year\\\",\\r\\n status: false,\\r\\n endpoint: \\\"/account-age\\\",\\r\\n viewMethod: \\\"is_two_year_old\\\",\\r\\n changeMethod: \\\"update_contract_age\\\",\\r\\n },\\r\\n {\\r\\n title: \\\"Verify Account has connected to more than 5 contracts\\\",\\r\\n status: false,\\r\\n endpoint: \\\"/connected-contracts\\\",\\r\\n viewMethod: \\\"connected_to_5_contracts\\\",\\r\\n changeMethod: \\\"update_access_key\\\",\\r\\n },\\r\\n]);\\r\\n\\r\\nconst [selectedIndex, setSelectedIndex] = useState(src || null);\\r\\n\\r\\nconst wrapper = styled.div`\\r\\n font-family: sans-serif;\\r\\n margin: 0;\\r\\n padding: 20px;\\r\\n background-color: #f2f2f2;\\r\\n`;\\r\\n\\r\\n// VerificationCard\\r\\nconst VerificationCard = styled.div`\\r\\n background-color: #fff;\\r\\n border-radius: 5px;\\r\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);\\r\\n padding: 20px;\\r\\n margin-bottom: 20px;\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n transition: transform 0.2s ease-in-out;\\r\\n ${({ selected }) =>\\r\\n selected &&\\r\\n `\\r\\n background-color: blue;\\r\\n `}\\r\\n button {\\r\\n display: block;\\r\\n background-color: #337ab7;\\r\\n color: #fff;\\r\\n border: none;\\r\\n padding: 5px 10px;\\r\\n border-radius: 5px;\\r\\n cursor: pointer;\\r\\n font-size: 14px;\\r\\n transition: background-color 0.2s ease-in-out;\\r\\n }\\r\\n\\r\\n & + button { /* Spacing between buttons */\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n &:hover {\\r\\n ${({ selected }) =>\\r\\n !selected &&\\r\\n `\\r\\n background-color: #2a69a5;\\r\\n `}\\r\\n position: relative;\\r\\n transform: scale(0.95);\\r\\n }\\r\\n`;\\r\\n\\r\\n// VerificationTitle\\r\\nconst VerificationTitle = styled.h3`\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: #333;\\r\\n`;\\r\\n\\r\\n// VerificationStatus\\r\\nconst VerificationStatus = styled.div`\\r\\n font-size: 14px;\\r\\n color: red;\\r\\n`;\\r\\n\\r\\n// VerificationButton\\r\\nconst VerificationButton = styled.button`\\r\\n background-color: #337ab7;\\r\\n color: #fff;\\r\\n border: none;\\r\\n padding: 10px 20px;\\r\\n border-radius: 5px;\\r\\n cursor: pointer;\\r\\n font-size: 16px;\\r\\n transition: background-color 0.2s ease-in-out;\\r\\n\\r\\n &:hover {\\r\\n background-color: #2a69a5;\\r\\n }\\r\\n`;\\r\\n\\r\\nconst [verifications, setVerifications] = useState({\\r\\n accountAge: null, // null, true, or false\\r\\n contracts: null,\\r\\n balance: null,\\r\\n lensHandle: null,\\r\\n});\\r\\n\\r\\nconst handleVerify = async (index) => {\\r\\n const base_url = \\\"https://api.nearbadger.vercel.app/sign\\\";\\r\\n\\r\\n let action = verificationItems[index];\\r\\n asyncFetch(`${base_url}${action.endpoint}`, {\\r\\n method: \\\"POST\\\",\\r\\n headers: {\\r\\n \\\"Content-Type\\\": \\\"application/json\\\",\\r\\n },\\r\\n body: JSON.stringify({ accountId }),\\r\\n })\\r\\n .then((response) => {\\r\\n let res = response.body.signature;\\r\\n Near.call(\\r\\n contract,\\r\\n action.changeMethod,\\r\\n {\\r\\n signature: res.signature,\\r\\n account_info: res.accountInfo,\\r\\n max_block_height: res.expirationBlockHeight,\\r\\n },\\r\\n \\\"300000000000000\\\",\\r\\n \\\"10000000000000000000000\\\"\\r\\n );\\r\\n })\\r\\n .catch((err) => console.log(err));\\r\\n};\\r\\n\\r\\nconst handleSelection = (index, fromQ) => {\\r\\n if (selectedIndex !== index || fromQ) {\\r\\n const newItems = [...verificationItems];\\r\\n const selectedItem = newItems.splice(index, 1)[0]; // Remove selected item\\r\\n console.log(\\\"opium\\\", selectedItem);\\r\\n newItems.unshift(selectedItem); // Add selected item to the front\\r\\n setVerificationItems(newItems);\\r\\n console.log(\\\"updated?\\\", newItems, verificationItems);\\r\\n setSelectedIndex(0);\\r\\n }\\r\\n};\\r\\nconst isCardSelected = selectedIndex !== null;\\r\\n\\r\\nuseEffect(() => {\\r\\n Promise.all(\\r\\n verificationItems.map((item, index) =>\\r\\n Near.asyncView(contract, item.viewMethod, {\\r\\n account_id: accountId,\\r\\n }).then((result) => {\\r\\n const newItems = [...verificationItems];\\r\\n newItems[index].status = result;\\r\\n return newItems[index];\\r\\n })\\r\\n )\\r\\n ).then((newItemsArray) => {\\r\\n const mergedItems = newItemsArray.flat();\\r\\n setVerificationItems(mergedItems);\\r\\n if (src !== null) {\\r\\n handleSelection(src, true);\\r\\n }\\r\\n });\\r\\n}, [src]);\\r\\n\\r\\nreturn (\\r\\n <wrapper>\\r\\n <h2>Available Stamp Verifications</h2>\\r\\n {verificationItems.map((item, index) => (\\r\\n <VerificationCard\\r\\n key={index}\\r\\n selected={selectedIndex === index}\\r\\n onClick={() => setSelectedIndex(index)}\\r\\n >\\r\\n <VerificationTitle\\r\\n style={{ color: selectedIndex === index ? \\\"#fff\\\" : \\\"\\\" }}\\r\\n >\\r\\n {item.title}\\r\\n </VerificationTitle>\\r\\n <VerificationStatus verified={true}></VerificationStatus>\\r\\n <button\\r\\n style={{ backgroundColor: item.status ? \\\"green\\\" : \\\"\\\" }}\\r\\n verified={true}\\r\\n disabled={item.status || (isCardSelected && selectedIndex !== index)}\\r\\n onClick={() => handleVerify(index)}\\r\\n >\\r\\n {item.status ? \\\"Verified!\\\" : \\\"verify info\\\"}\\r\\n </button>\\r\\n </VerificationCard>\\r\\n ))}\\r\\n </wrapper>\\r\\n);\\r\\n"
}
}
}
}
}
Output
Inspect
Result:
Hide 33 bytes
JSON
UTF-8
Hex
Base64
{
"block_height"
:
"113321552"
}
Logs:
No Logs