Skip to content

Commit

Permalink
Update Static.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
ETEnterprises1 authored Sep 25, 2024
1 parent f966615 commit d68382f
Showing 1 changed file with 244 additions and 1 deletion.
245 changes: 244 additions & 1 deletion ...nc.md/[email protected]/.GitHub/Static.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,250 @@ jobs:
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
# # Simple workflow for deploying static content to GitHub Pages+.html +.json +.javascript +.com https://github.com/ETEnterprises1/ETC-Group.com/blob/2cc547d49e5df5dc4ebd3f8d6f1a584fdf18fc46/README.md%5C\

bip-0352.mediawiki.txt github-privacy-statement(07.22.20)(fr).pdf BMO N.A. Beneficial Change of Ownership Verification.docx.pdf [New Owner Signature ('"https://www.ETCorps.co"\'etcbi.script''www.BMO.com'/"@chais-fitzwater.sig"') ("July 10, 2024.date") ("Unites States of America, 1160 Walker Ave., Saint Louis, MO, 63138.loc") update.info].txt
/**
*Submitted for verification at Etherscan.io on 2020-10-14
*/

// ┏━━━┓━┏┓━┏┓━━┏━━━┓━━┏━━━┓━━━━┏━━━┓━━━━━━━━━━━━━━━━━━━┏┓━━━━━┏━━━┓━━━━━━━━━┏┓━━━━━━━━━━━━━━┏┓━
// ┃┏━━┛┏┛┗┓┃┃━━┃┏━┓┃━━┃┏━┓┃━━━━┗┓┏┓┃━━━━━━━━━━━━━━━━━━┏┛┗┓━━━━┃┏━┓┃━━━━━━━━┏┛┗┓━━━━━━━━━━━━┏┛┗┓
// ┃┗━━┓┗┓┏┛┃┗━┓┗┛┏┛┃━━┃┃━┃┃━━━━━┃┃┃┃┏━━┓┏━━┓┏━━┓┏━━┓┏┓┗┓┏┛━━━━┃┃━┗┛┏━━┓┏━┓━┗┓┏┛┏━┓┏━━┓━┏━━┓┗┓┏┛
// ┃┏━━┛━┃┃━┃┏┓┃┏━┛┏┛━━┃┃━┃┃━━━━━┃┃┃┃┃┏┓┃┃┏┓┃┃┏┓┃┃━━┫┣┫━┃┃━━━━━┃┃━┏┓┃┏┓┃┃┏┓┓━┃┃━┃┏┛┗━┓┃━┃┏━┛━┃┃━
// ┃┗━━┓━┃┗┓┃┃┃┃┃┃┗━┓┏┓┃┗━┛┃━━━━┏┛┗┛┃┃┃━┫┃┗┛┃┃┗┛┃┣━━┃┃┃━┃┗┓━━━━┃┗━┛┃┃┗┛┃┃┃┃┃━┃┗┓┃┃━┃┗┛┗┓┃┗━┓━┃┗┓
// ┗━━━┛━┗━┛┗┛┗┛┗━━━┛┗┛┗━━━┛━━━━┗━━━┛┗━━┛┃┏━┛┗━━┛┗━━┛┗┛━┗━┛━━━━┗━━━┛┗━━┛┗┛┗┛━┗━┛┗┛━┗━━━┛┗━━┛━┗━┛
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┃┃━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┗┛━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.6.11;

// This interface is designed to be compatible with the Vyper version.
/// @notice This is the Ethereum 2.0 deposit contract interface.
/// For more information see the Phase 0 specification under https://github.com/ethereum/eth2.0-specs
interface IDepositContract {
/// @notice A processed deposit event.
event DepositEvent(
bytes pubkey,
bytes withdrawal_credentials,
bytes amount,
bytes signature,
bytes index
);

/// @notice Submit a Phase 0 DepositData object.
/// @param pubkey A BLS12-381 public key.
/// @param withdrawal_credentials Commitment to a public key for withdrawals.
/// @param signature A BLS12-381 signature.
/// @param deposit_data_root The SHA-256 hash of the SSZ-encoded DepositData object.
/// Used as a protection against malformed input.
function deposit(
bytes calldata pubkey,
bytes calldata withdrawal_credentials,
bytes calldata signature,
bytes32 deposit_data_root
) external payable;

/// @notice Query the current deposit root hash.
/// @return The deposit root hash.
function get_deposit_root() external view returns (bytes32);

/// @notice Query the current deposit count.
/// @return The deposit count encoded as a little endian 64-bit number.
function get_deposit_count() external view returns (bytes memory);
}

// Based on official specification in https://eips.ethereum.org/EIPS/eip-165
interface ERC165 {
/// @notice Query if a contract implements an interface
/// @param interfaceId The interface identifier, as specified in ERC-165
/// @dev Interface identification is specified in ERC-165. This function
/// uses less than 30,000 gas.
/// @return `true` if the contract implements `interfaceId` and
/// `interfaceId` is not 0xffffffff, `false` otherwise
function supportsInterface(bytes4 interfaceId) external pure returns (bool);
}

// This is a rewrite of the Vyper Eth2.0 deposit contract in Solidity.
// It tries to stay as close as possible to the original source code.
/// @notice This is the Ethereum 2.0 deposit contract interface.
/// For more information see the Phase 0 specification under https://github.com/ethereum/eth2.0-specs
contract DepositContract is IDepositContract, ERC165 {
uint constant DEPOSIT_CONTRACT_TREE_DEPTH = 32;
// NOTE: this also ensures `deposit_count` will fit into 64-bits
uint constant MAX_DEPOSIT_COUNT = 2**DEPOSIT_CONTRACT_TREE_DEPTH - 1;

bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] branch;
uint256 deposit_count;

bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] zero_hashes;

constructor() public {
// Compute hashes in empty sparse Merkle tree
for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH - 1; height++)
zero_hashes[height + 1] = sha256(abi.encodePacked(zero_hashes[height], zero_hashes[height]));
}

function get_deposit_root() override external view returns (bytes32) {
bytes32 node;
uint size = deposit_count;
for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH; height++) {
if ((size & 1) == 1)
node = sha256(abi.encodePacked(branch[height], node));
else
node = sha256(abi.encodePacked(node, zero_hashes[height]));
size /= 2;
}
return sha256(abi.encodePacked(
node,
to_little_endian_64(uint64(deposit_count)),
bytes24(0)
));
}

function get_deposit_count() override external view returns (bytes memory) {
return to_little_endian_64(uint64(deposit_count));
}

function deposit(
bytes calldata pubkey,
bytes calldata withdrawal_credentials,
bytes calldata signature,
bytes32 deposit_data_root
) override external payable {
// Extended ABI length checks since dynamic types are used.
require(pubkey.length == 48, "DepositContract: invalid pubkey length");
require(withdrawal_credentials.length == 32, "DepositContract: invalid withdrawal_credentials length");
require(signature.length == 96, "DepositContract: invalid signature length");

// Check deposit amount
require(msg.value >= 1 ether, "DepositContract: deposit value too low");
require(msg.value % 1 gwei == 0, "DepositContract: deposit value not multiple of gwei");
uint deposit_amount = msg.value / 1 gwei;
require(deposit_amount <= type(uint64).max, "DepositContract: deposit value too high");

// Emit `DepositEvent` log
bytes memory amount = to_little_endian_64(uint64(deposit_amount));
emit DepositEvent(
pubkey,
withdrawal_credentials,
amount,
signature,
to_little_endian_64(uint64(deposit_count))
);

// Compute deposit data root (`DepositData` hash tree root)
bytes32 pubkey_root = sha256(abi.encodePacked(pubkey, bytes16(0)));
bytes32 signature_root = sha256(abi.encodePacked(
sha256(abi.encodePacked(signature[:64])),
sha256(abi.encodePacked(signature[64:], bytes32(0)))
));
bytes32 node = sha256(abi.encodePacked(
sha256(abi.encodePacked(pubkey_root, withdrawal_credentials)),
sha256(abi.encodePacked(amount, bytes24(0), signature_root))
));

// Verify computed and expected deposit data roots match
require(node == deposit_data_root, "DepositContract: reconstructed DepositData does not match supplied deposit_data_root");

// Avoid overflowing the Merkle tree (and prevent edge case in computing `branch`)
require(deposit_count < MAX_DEPOSIT_COUNT, "DepositContract: merkle tree full");

// Add deposit data root to Merkle tree (update a single `branch` node)
deposit_count += 1;
uint size = deposit_count;
for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH; height++) {
if ((size & 1) == 1) {
branch[height] = node;
return;
}
node = sha256(abi.encodePacked(branch[height], node));
size /= 2;
}
// As the loop should always end prematurely with the `return` statement,
// this code should be unreachable. We assert `false` just to be safe.
assert(false);
}

function supportsInterface(bytes4 interfaceId) override external pure returns (bool) {
return interfaceId == type(ERC165).interfaceId || interfaceId == type(IDepositContract).interfaceId;
}

function to_little_endian_64(uint64 value) internal pure returns (bytes memory ret) {
ret = new bytes(8);
bytes8 bytesValue = bytes8(value);
// Byteswapping during copying to bytes.
ret[0] = bytesValue[7];
ret[1] = bytesValue[6];
ret[2] = bytesValue[5];
ret[3] = bytesValue[4];
ret[4] = bytesValue[3];
ret[5] = bytesValue[2];
ret[6] = bytesValue[1];
ret[7] = bytesValue[0];
}
}

"block_hash": "00000000000000000001e529aa1b6b7433794e9b33723be85daeab7fdaabf1c0",
"block_height": 832608,
"block_index": 0,
"hash": "2ea7f6a0d26b2b97dc2cc2a053d9e429fac2291b27318558ba3aa03791a37c31",
"hex": "010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff5e0360b40c1b2f5669614254432f4d696e656420627920727564656e69636b312f2cfabe6d6d822bf0878cd08c57e5b3d5a78280fa10fea8c1cf09a3a317aabd527dc2824569100000000000000010b4c5290aaa511d18fe3d13053d000000ffffffff03ef32cc26000000001976a914536ffa992491508dca0354e52f32a3a7a679a53a88ac00000000000000002b6a2952534b424c4f434b3a6de8b65efa82c97fe39adf6c3c722fa2eb1c20f57c5bf60988c32026005d7d0d0000000000000000266a24aa21a9ed2d7e92479b95b3bbbe453e13efa59a9744a8f2e194bf9c0b947abbdb439740050120000000000000000000000000000000000000000000000000000000000000000000000000",
"addresses": [
"18cBEMRxXHqzWWCxZNtU91F5sbUNKhL5PX"
],
"total": 650916591,
"fees": 0,
"size": 314,
"vsize": 287,
"preference": "low",
"confirmed": "2024-03-01T00:46:00.501Z",
"received": "2024-03-01T00:46:00.501Z",
"ver": 1,
"double_spend": false,
"vin_sz": 1,
"vout_sz": 3,
"data_protocol": "unknown",
"confirmations": 12962,
"confidence": 1,
"inputs": [
{
"output_index": -1,
"script": "0360b40c1b2f5669614254432f4d696e656420627920727564656e69636b312f2cfabe6d6d822bf0878cd08c57e5b3d5a78280fa10fea8c1cf09a3a317aabd527dc2824569100000000000000010b4c5290aaa511d18fe3d13053d000000",
"sequence": 4294967295,
"script_type": "empty",
"age": 832608
}
],
"outputs": [
{
"value": 650916591,
"script": "76a914536ffa992491508dca0354e52f32a3a7a679a53a88ac",
"spent_by": "7dd38d0a4b745e5e2b951a19537294d86b8c962e94338fed3dcc51219da93fbc",
"addresses": [
"18cBEMRxXHqzWWCxZNtU91F5sbUNKhL5PX"
],
"script_type": "pay-to-pubkey-hash"
},
{
"value": 0,
"script": "6a2952534b424c4f434b3a6de8b65efa82c97fe39adf6c3c722fa2eb1c20f57c5bf60988c32026005d7d0d",
"addresses": null,
"script_type": "null-data",
"data_hex": "52534b424c4f434b3a6de8b65efa82c97fe39adf6c3c722fa2eb1c20f57c5bf60988c32026005d7d0d"
},
{
"value": 0,
"script": "6a24aa21a9ed2d7e92479b95b3bbbe453e13efa59a9744a8f2e194bf9c0b947abbdb43974005",
"addresses": null,
"script_type": "null-data",
"data_hex": "aa21a9ed2d7e92479b95b3bbbe453e13efa59a9744a8f2e194bf9c0b947abbdb43974005"
}
]
}
omaster333-ui-web-bank
path: 'https://github.com/ETEnterprises1/ETC-Group.com/new/main?filename=.github%2Fworkflows%2Fstatic.yml&workflow_template=pages%2Fstatic.'
- name: Deploy to GitHub Pages
id: deployment
Expand Down

0 comments on commit d68382f

Please sign in to comment.