false
true
0

Contract Address Details

0x326b1d7F3B92E89d2c62d626aB74633a847CcAE1

Contract Name
FeeReceiverPLS
Creator
0xa04194–ace618 at 0x107adb–8fc6bc
Balance
6,989.916853150117296386 PLS ( )
Tokens
Fetching tokens...
Transactions
Fetching transactions...
Transfers
Fetching transfers...
Gas Used
Fetching gas used...
Last Balance Update
25856159
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been partially verified via Sourcify. View contract in Sourcify repository
Contract name:
FeeReceiverPLS




Optimization enabled
true
Compiler version
v0.8.20+commit.a1b79de6




Optimization runs
1
EVM Version
shanghai




Verified at
2026-02-12T04:01:30.706035Z

Constructor Arguments

000000000000000000000000a1077a294dde1b09bb078844df40758a5d0f9a27000000000000000000000000bd48026e337f1419ec97f780b2045eb0ef2e0467000000000000000000000000a0419404ef7b81d9ec64367eb68e5f425eace618

Arg [0] (address) : 0xa1077a294dde1b09bb078844df40758a5d0f9a27
Arg [1] (address) : 0xbd48026e337f1419ec97f780b2045eb0ef2e0467
Arg [2] (address) : 0xa0419404ef7b81d9ec64367eb68e5f425eace618

              

contracts/Vaults/FeeReceiverPLS.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IWPLS {
    function withdraw(uint256) external;
}

interface IERC20 {
    function balanceOf(address) external view returns (uint256);
    function transfer(address, uint256) external returns (bool);
}

/// @title FeeReceiverPLS
/// @notice Receives WPLS from strategies, splits between buyburn (PLS) and dev (WPLS)
/// @dev Fee split: 1% buyburn (as PLS), 3% dev (as WPLS) from the 4% treasury fee
contract FeeReceiverPLS {
    address public immutable WPLS;
    address public immutable buyburn;   // receives 25% as native PLS (1% of total)
    address public immutable dev;       // receives 75% as WPLS (3% of total)

    // 25% to buyburn (1/4 = 1% of the 4% treasury fee)
    uint256 public constant BUYBURN_SHARE = 25;
    uint256 public constant SHARE_DIVISOR = 100;

    constructor(address _wpls, address _buyburn, address _dev) {
        WPLS = _wpls;
        buyburn = _buyburn;
        dev = _dev;
    }

    /// @notice Splits WPLS: 25% unwrapped to PLS for buyburn, 75% WPLS to dev
    function flush() public {
        uint256 bal = IERC20(WPLS).balanceOf(address(this));
        if (bal == 0) return;

        uint256 buyBurnAmount = (bal * BUYBURN_SHARE) / SHARE_DIVISOR;  // 25% = 1% of total
        uint256 devAmount = bal - buyBurnAmount;                         // 75% = 3% of total

        // Send WPLS to dev
        if (devAmount > 0) {
            IERC20(WPLS).transfer(dev, devAmount);
        }

        // Unwrap and send PLS to buyburn
        if (buyBurnAmount > 0) {
            IWPLS(WPLS).withdraw(buyBurnAmount);
            (bool success, ) = buyburn.call{value: address(this).balance}("");
            require(success, "PLS transfer failed");
        }
    }

    /// @notice Auto-flush on WPLS receive via transferAndCall (if supported)
    function onTokenTransfer(address, uint256, bytes calldata) external returns (bool) {
        flush();
        return true;
    }

    receive() external payable {}
}
        

Compiler Settings

{"remappings":[":@1inch/solidity-utils/=lib/solidity-utils/",":@chainlink/=lib/foundry-chainlink-toolkit/",":@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/",":@forge-std/=lib/forge-std/src/",":@gearbox-protocol/core-v2/=lib/core-v2/",":@gearbox-protocol/core-v3/=lib/core-v3/",":@gearbox-protocol/sdk-gov/=lib/sdk-gov/",":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",":@redstone-finance/=lib/integrations-v3/node_modules/@redstone-finance/",":@uniswap/v2-core/=lib/v2-core/",":@uniswap/v2-periphery/=lib/v2-periphery/",":chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/",":chainlink/=lib/chainlink/",":core-v2/=lib/core-v2/contracts/",":core-v3/=lib/core-v3/contracts/",":ds-test/=lib/forge-std/lib/ds-test/src/",":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",":forge-std/=lib/forge-std/src/",":foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/",":foundry-devops/=lib/foundry-devops/",":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",":integrations-v3/=lib/integrations-v3/",":openzeppelin-contracts copy/=lib/openzeppelin-contracts copy/",":openzeppelin-contracts/=lib/openzeppelin-contracts/",":sdk-gov/=lib/sdk-gov/",":solidity-lib/=lib/solidity-lib/contracts/",":solidity-utils/=lib/solidity-utils/contracts/",":v2-core/=lib/v2-core/contracts/",":v2-periphery/=lib/v2-periphery/contracts/"],"optimizer":{"runs":1,"enabled":true},"metadata":{"bytecodeHash":"none"},"libraries":{},"evmVersion":"shanghai","compilationTarget":{"contracts/Vaults/FeeReceiverPLS.sol":"FeeReceiverPLS"}}
              

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_wpls","internalType":"address"},{"type":"address","name":"_buyburn","internalType":"address"},{"type":"address","name":"_dev","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"BUYBURN_SHARE","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"SHARE_DIVISOR","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"WPLS","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"buyburn","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"dev","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"flush","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"onTokenTransfer","inputs":[{"type":"address","name":"","internalType":"address"},{"type":"uint256","name":"","internalType":"uint256"},{"type":"bytes","name":"","internalType":"bytes"}]},{"type":"receive","stateMutability":"payable"}]
              

Contract Creation Code

Verify & Publish
0x60e060405234801561000f575f80fd5b5060405161069c38038061069c83398101604081905261002e91610066565b6001600160a01b0392831660805290821660a0521660c0526100a6565b80516001600160a01b0381168114610061575f80fd5b919050565b5f805f60608486031215610078575f80fd5b6100818461004b565b925061008f6020850161004b565b915061009d6040850161004b565b90509250925092565b60805160a05160c0516105ab6100f15f395f818160ff015261027401525f8181607e015261038d01525f8181610175015281816101b0015281816102a3015261032b01526105ab5ff3fe608060405260043610610062575f3560e01c80630490b9ea1461006d5780631b87d819146100b65780636b9f96ea146100d857806391cca3db146100ee578063a4c0ed3614610121578063b1d114e514610150578063ef8ef56f14610164575f80fd5b3661006957005b5f80fd5b348015610078575f80fd5b506100a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516100ad919061045e565b60405180910390f35b3480156100c1575f80fd5b506100ca601981565b6040519081526020016100ad565b3480156100e3575f80fd5b506100ec610197565b005b3480156100f9575f80fd5b506100a07f000000000000000000000000000000000000000000000000000000000000000081565b34801561012c575f80fd5b5061014061013b366004610472565b61044a565b60405190151581526020016100ad565b34801561015b575f80fd5b506100ca606481565b34801561016f575f80fd5b506100a07f000000000000000000000000000000000000000000000000000000000000000081565b6040516370a0823160e01b81525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906101e590309060040161045e565b602060405180830381865afa158015610200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906104fe565b9050805f036102305750565b5f606461023e601984610529565b6102489190610546565b90505f6102558284610565565b9050801561030f5760405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156102e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d9190610578565b505b811561044557604051632e1a7d4d60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015610374575f80fd5b505af1158015610386573d5f803e3d5ffd5b505050505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316476040515f6040518083038185875af1925050503d805f81146103f3576040519150601f19603f3d011682016040523d82523d5f602084013e6103f8565b606091505b50509050806104435760405162461bcd60e51b8152602060048201526013602482015272141314c81d1c985b9cd9995c8819985a5b1959606a1b604482015260640160405180910390fd5b505b505050565b5f610453610197565b506001949350505050565b6001600160a01b0391909116815260200190565b5f805f8060608587031215610485575f80fd5b84356001600160a01b038116811461049b575f80fd5b93506020850135925060408501356001600160401b03808211156104bd575f80fd5b818701915087601f8301126104d0575f80fd5b8135818111156104de575f80fd5b8860208285010111156104ef575f80fd5b95989497505060200194505050565b5f6020828403121561050e575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761054057610540610515565b92915050565b5f8261056057634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561054057610540610515565b5f60208284031215610588575f80fd5b81518015158114610597575f80fd5b939250505056fea164736f6c6343000814000a000000000000000000000000a1077a294dde1b09bb078844df40758a5d0f9a27000000000000000000000000bd48026e337f1419ec97f780b2045eb0ef2e0467000000000000000000000000a0419404ef7b81d9ec64367eb68e5f425eace618

Deployed ByteCode

0x608060405260043610610062575f3560e01c80630490b9ea1461006d5780631b87d819146100b65780636b9f96ea146100d857806391cca3db146100ee578063a4c0ed3614610121578063b1d114e514610150578063ef8ef56f14610164575f80fd5b3661006957005b5f80fd5b348015610078575f80fd5b506100a07f000000000000000000000000bd48026e337f1419ec97f780b2045eb0ef2e046781565b6040516100ad919061045e565b60405180910390f35b3480156100c1575f80fd5b506100ca601981565b6040519081526020016100ad565b3480156100e3575f80fd5b506100ec610197565b005b3480156100f9575f80fd5b506100a07f000000000000000000000000a0419404ef7b81d9ec64367eb68e5f425eace61881565b34801561012c575f80fd5b5061014061013b366004610472565b61044a565b60405190151581526020016100ad565b34801561015b575f80fd5b506100ca606481565b34801561016f575f80fd5b506100a07f000000000000000000000000a1077a294dde1b09bb078844df40758a5d0f9a2781565b6040516370a0823160e01b81525f906001600160a01b037f000000000000000000000000a1077a294dde1b09bb078844df40758a5d0f9a2716906370a08231906101e590309060040161045e565b602060405180830381865afa158015610200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906104fe565b9050805f036102305750565b5f606461023e601984610529565b6102489190610546565b90505f6102558284610565565b9050801561030f5760405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000a0419404ef7b81d9ec64367eb68e5f425eace61881166004830152602482018390527f000000000000000000000000a1077a294dde1b09bb078844df40758a5d0f9a27169063a9059cbb906044016020604051808303815f875af11580156102e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d9190610578565b505b811561044557604051632e1a7d4d60e01b8152600481018390527f000000000000000000000000a1077a294dde1b09bb078844df40758a5d0f9a276001600160a01b031690632e1a7d4d906024015f604051808303815f87803b158015610374575f80fd5b505af1158015610386573d5f803e3d5ffd5b505050505f7f000000000000000000000000bd48026e337f1419ec97f780b2045eb0ef2e04676001600160a01b0316476040515f6040518083038185875af1925050503d805f81146103f3576040519150601f19603f3d011682016040523d82523d5f602084013e6103f8565b606091505b50509050806104435760405162461bcd60e51b8152602060048201526013602482015272141314c81d1c985b9cd9995c8819985a5b1959606a1b604482015260640160405180910390fd5b505b505050565b5f610453610197565b506001949350505050565b6001600160a01b0391909116815260200190565b5f805f8060608587031215610485575f80fd5b84356001600160a01b038116811461049b575f80fd5b93506020850135925060408501356001600160401b03808211156104bd575f80fd5b818701915087601f8301126104d0575f80fd5b8135818111156104de575f80fd5b8860208285010111156104ef575f80fd5b95989497505060200194505050565b5f6020828403121561050e575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761054057610540610515565b92915050565b5f8261056057634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561054057610540610515565b5f60208284031215610588575f80fd5b81518015158114610597575f80fd5b939250505056fea164736f6c6343000814000a