Address
0xad18d4e7ebff81818544b8e1da2cfb9b2807d965Current Holdings
$1.23
TXs sent
not counted
First Active
2026-02-21
block 25,849,341
Last Active
207 days ago
block 25,849,423
Funded By
not identified
Net worth historyi
3 snapshots · to block 27,564,427coverage change 26 Augcoverage change 27 Augcoverage change 27 Augcoverage change 27 Augcoverage change 27 Aug
exact matchPulseSatoshiVaultsolc 0.8.29+commit.ab55807cruntime exact · creation exact
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
// ─────────────────────────────────────────────
// sTEST Token
// 1 token = 1 satoshi
// 21 trillion total supply (21,000,000,000,000 sats)
// ─────────────────────────────────────────────
contract STEST is ERC20 {
uint256 public constant TOTAL_SUPPLY = 21_000_000_000_000;
constructor() ERC20("STEST", "sTEST") {
_mint(msg.sender, TOTAL_SUPPLY);
}
// No decimals → whole sats only
function decimals() public pure override returns (uint8) {
return 0;
}
}
// ─────────────────────────────────────────────
// Pulse Satoshi Vault
// 1 sat (WBTC base unit) = 1 sTEST
// Fully inventory-based swap
// ─────────────────────────────────────────────
contract PulseSatoshiVault is Ownable, ReentrancyGuard {
using SafeERC20 for IERC20;
IERC20 public immutable wbtc;
IERC20 public immutable stest;
bool public paused;
event Deposited(address indexed user, uint256 wbtcAmount);
event Redeemed(address indexed user, uint256 stestAmount);
constructor(address _wbtc, address _stest) Ownable(msg.sender) {
wbtc = IERC20(_wbtc);
stest = IERC20(_stest);
require(
stest.totalSupply() == 21_000_000_000_000,
"Invalid sTEST supply"
);
}
modifier whenNotPaused() {
require(!paused, "Vault is paused");
_;
}
// ── Deposit WBTC → receive equal amount of sTEST
function deposit(uint256 wbtcAmount)
external
nonReentrant
whenNotPaused
{
require(wbtcAmount > 0, "Amount must be > 0");
// 1 sat = 1 sTEST
require(
stest.balanceOf(address(this)) >= wbtcAmount,
"Insufficient sTEST in vault"
);
wbtc.safeTransferFrom(msg.sender, address(this), wbtcAmount);
stest.safeTransfer(msg.sender, wbtcAmount);
emit Deposited(msg.sender, wbtcAmount);
}
// ── Redeem sTEST → receive equal amount of WBTC
function redeem(uint256 stestAmount)
external
nonReentrant
whenNotPaused
{
require(stestAmount > 0, "Amount must be > 0");
require(
wbtc.balanceOf(address(this)) >= stestAmount,
"Insufficient WBTC reserves"
);
stest.safeTransferFrom(msg.sender, address(this), stestAmount);
wbtc.safeTransfer(msg.sender, stestAmount);
emit Redeemed(msg.sender, stestAmount);
}
// ── Owner Controls
function pause() external onlyOwner {
paused = true;
}
function unpause() external onlyOwner {
paused = false;
}
// ── View Helpers
function vaultSTESTBalance() external view returns (uint256) {
return stest.balanceOf(address(this));
}
function vaultWBTCBalance() external view returns (uint256) {
return wbtc.balanceOf(address(this));
}
function circulatingSTEST() external view returns (uint256) {
return stest.totalSupply() - stest.balanceOf(address(this));
}
}