Abyss PulseChain Depositor allows convenient way to send 1 to 100 deposits in one transaction to PulseChain Deposit Contract.
Below is a list of contracts we use for this service:
- Ownable, Pausable
- Openzepellin smart contracts. The first contract allows for managing ownership. The second contract allows for pausing the contract and vice versa.
- AbyssPlsDepositor
- A smart contract that accepts up to 3,200,000,000 PLS and sends up to 100 transactions with required collateral (32,000,000 PLS) to PulseChain Deposit Contract.
To run lockup service, install Homebrew, Node.js, Truffle, OpenZeppelin and pull the repository from GitHub
:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install node
npm install -g truffle
npm install -g @openzeppelin/contracts
mkdir projects
cd projects
git clone https://github.com/abyssfinance/abyss-eth2depositor
cd abyss-eth2depositor
truffle init
Setup your truffle
environment, write migrations:
truffle develop
migrate --reset
Smart contracts should be deployed with such constructor parameters:
AbyssPlsDepositor.sol
(true, 0x0000000000000000000000000000000000000000)
- Choose amount of PulseChain validator nodes you want to create.
- Create array with your pubkeys, withdrawal_credentials, signatures and calldata deposit_data_roots.
- Use deposit() function on
AbyssPlsDepositor
with required PLS value to make deposits to PulseChain Deposit Contract.
MIT
For any concerns or suggestions visit us on Telegram to discuss.
For security concerns, please email [email protected].
© Copyright 2023, Abyss Finance