Compare commits

..

1 Commits

Author SHA1 Message Date
nymkappa
d1acff99e8
Foundry USA -> Foundry USA Pool
Some checks failed
JSON check / json_validator (push) Has been cancelled
2023-07-28 13:57:02 +09:00
5 changed files with 26 additions and 433 deletions

View File

@ -1,84 +0,0 @@
# Workflow: Automatically set project status to "Review Needed" when a reviewer is requested
name: Set Project Status on Review Request
# Trigger: Runs whenever a reviewer is requested on a pull request
on:
pull_request:
types: [review_requested]
jobs:
update-project-status:
runs-on: ubuntu-latest
steps:
- name: Update Project Status to Review Needed
uses: actions/github-script@v7
with:
# Use the PAT stored in repository secrets (has project write access)
github-token: ${{ secrets.PROJECT_TOKEN }}
script: |
// GraphQL query to find the PR's project items
// This fetches all projects the PR is linked to
const query = `
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
projectItems(first: 10) {
nodes {
id
project {
number
}
}
}
}
}
}
`;
// Execute the query with current repo/PR context
const result = await github.graphql(query, {
owner: context.repo.owner,
repo: context.repo.repo,
pr: context.payload.pull_request.number
});
// Find the project item that belongs to project #8
const projectItems = result.repository.pullRequest.projectItems.nodes;
const projectItem = projectItems.find(item => item.project.number === 8);
// Exit early if PR isn't in project #8
if (!projectItem) {
console.log('PR is not in project #8, skipping...');
return;
}
// GraphQL mutation to update the Status field
const mutation = `
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $optionId: String!) {
updateProjectV2ItemFieldValue(
input: {
projectId: $projectId
itemId: $itemId
fieldId: $fieldId
value: { singleSelectOptionId: $optionId }
}
) {
projectV2Item {
id
}
}
}
`;
// Execute the mutation using IDs stored in repository variables
// PROJECT_ID: The project's unique identifier
// STATUS_FIELD_ID: The "Status" field's unique identifier
// REVIEW_NEEDED_OPTION_ID: The "Review Needed" option's unique identifier
await github.graphql(mutation, {
projectId: "${{ secrets.PROJECT_ID }}",
itemId: projectItem.id,
fieldId: "${{ secrets.STATUS_FIELD_ID }}",
optionId: "${{ secrets.REVIEW_NEEDED_OPTION_ID }}"
});
console.log('Successfully updated project status to Review Needed');

View File

@ -11,16 +11,8 @@ jobs:
json_validator:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check for duplicates
run : |
sh dupes.sh
- name: Check JSON syntax
run: |
if ! jq empty pools-v2.json; then
echo "JSON syntax check failed"
exit 1
fi
- uses: actions/checkout@v2
- name: json-syntax-check
uses: limitusus/json-syntax-check@v1
with:
pattern: "\\.json$"

View File

@ -4,15 +4,15 @@ Mining pools definition used on https://mempool.space/mining/pools
# Contributing
Contributions welcome. All changes must be applied in `pools-v2.json` file.
Contributions welcome. All changes must be applied in `pools.json` file.
## Adding a new mining pool
Regardless of the choosen method, we recommend adding a appropriate slug to each
new mining pool you add to `pools-v2.json`. The slug will be used as a unique tag for
new mining pool you add to `pools.json`. The slug will be used as a unique tag for
the mining pool, for example in the public facing urls like https://mempool.space/mining/pool/foundryusa (here `foundryusa` is the slug).
You can specify mining pool slugs in the `slugs` object in `pools-v2.json`. If you
You can specify mining pool slugs in the `slugs` object in `pools.json`. If you
don't specify one, we will automatically generate one [as such](https://github.com/mempool/mempool/blob/02820b0e6836c4202c2e346195e8aace357e3483/backend/src/api/pools-parser.ts#L106-L110).
```javascript
@ -95,15 +95,15 @@ for (let i = 0; i < pools.length; ++i) {
## Change an existing mining pool metadata
You can also change an existing mining pool's name, link and slug. In order to
do so properly, you must update all existing entry in the `pools-v2.json` file.
do so properly, you must update all existing entry in the `pools.json` file.
For example, if you'd like to rename `Foundry USA` to `Foundry Pool`, you must replace
all occurences of the old string with the new one in `pools-v2.json` file, with no
all occurences of the old string with the new one in `pools.json` file, with no
exception, otherwise you'll end with two mining pools. The samme idea applies if
you want to change the link or the slug.
For example, to rename `Foundry USA` to `Foundry Pool` you'd need to update the
following (using today's `pools-v2.json` as reference):
following (using today's `pools.json` as reference):
```json
// Original
@ -181,14 +181,14 @@ the latest mining pool data.
## Mining pool definition
When the mempool backend starts, we automatically fetch the latest `pools-v2.json`
version from github. By default the url points to https://github.com/mempool/mining-pools/blob/master/pools-v2.json but you can configure it to points to another repo by setting
When the mempool backend starts, we automatically fetch the latest `pools.json`
version from github. By default the url points to https://github.com/mempool/mining-pools/blob/master/pools.json but you can configure it to points to another repo by setting
the following backend variables:
```
{
"MEMPOOL": {
'POOLS_JSON_URL': 'https://raw.githubusercontent.com/mempool/mining-pools/master/pools-v2.json',
'POOLS_JSON_URL': 'https://raw.githubusercontent.com/mempool/mining-pools/master/pools.json',
'POOLS_JSON_TREE_URL': 'https://api.github.com/repos/mempool/mining-pools/git/trees/master'
}
}

View File

@ -1,9 +0,0 @@
OUTPUT=$(cat pools-v2.json | jq 'group_by(.id) | map(select(length>1) | .[])')
if [ "$OUTPUT" = "[]" ]; then
echo "no duplicate pool ids found"
exit 0
else
echo "duplicate pool ids found: $OUTPUT"
exit 1
fi

View File

@ -31,8 +31,7 @@
"bc1q39dled8an7enuxtmjql3pk7ny8kzvsxhd924sl"
],
"tags": [
"terrapool.io",
"Validated with Clean Energy"
"terrapool.io"
],
"link": "https://terrapool.io"
},
@ -41,12 +40,11 @@
"name": "Luxor",
"addresses": [
"1MkCDCzHpBsYQivp8MxjY5AkTGG1f2baoe",
"39bitUyBcUu3y3hRTtYprKbTp712t4ZWqK",
"32BfKjhByDSxx3BM5vUkQ3NQq9csZR6nt6"
"39bitUyBcUu3y3hRTtYprKbTp712t4ZWqK"
],
"tags": [
"/LUXOR/",
"Luxor Tech"
"Powered by Luxor Tech"
],
"link": "https://mining.luxor.tech"
},
@ -388,7 +386,7 @@
],
"tags": [
"七彩神仙鱼",
"F2Pool",
"/F2Pool/",
"🐟"
],
"link": "https://www.f2pool.com"
@ -572,8 +570,7 @@
"addresses": [],
"tags": [
"/NiceHashSolo",
"/NiceHash/",
"/NiceHashMining/"
"/NiceHash/"
],
"link": "https://www.nicehash.com"
},
@ -1123,11 +1120,10 @@
"name": "SpiderPool",
"addresses": [
"125m2H43pwKpSZjLhMQHneuTwTJN5qRyYu",
"38u1srayb1oybVB43UWKBJsrwJbdHGtPx2",
"1BM1sAcrfV6d4zPKytzziu4McLQDsFC2Qc"
"38u1srayb1oybVB43UWKBJsrwJbdHGtPx2"
],
"tags": [
"SpiderPool"
"/SpiderPool/"
],
"link": "https://www.spiderpool.com"
},
@ -1162,8 +1158,7 @@
"1DSh7vX6ed2cgTeKPwufV5i4hSi4pp373h",
"1JvXhnHCi6XqcanvrZJ5s2Qiv4tsmm2UMy",
"3L8Ck6bm3sve1vJGKo6Ht2k167YKSKi8TZ",
"bc1qx9t2l3pyny2spqpqlye8svce70nppwtaxwdrp4",
"3G7jcEELKh38L6kaSV8K35pTqsh5bgZW2D"
"bc1qx9t2l3pyny2spqpqlye8svce70nppwtaxwdrp4"
],
"tags": [
"/Binance/",
@ -1231,12 +1226,11 @@
},
{
"id": 111,
"name": "Foundry USA",
"name": "Foundry USA Pool",
"addresses": [
"12KKDt4Mj7N5UAkQMN7LtPZMayenXHa8KL",
"1FFxkVijzvUPUeHgkFjBk2Qw8j3wQY2cDw",
"bc1qxhmdufsvnuaaaer4ynz88fspdsxq2h9e9cetdj",
"bc1p8k4v4xuz55dv49svzjg43qjxq2whur7ync9tm0xgl5t4wjl9ca9snxgmlt"
"bc1qxhmdufsvnuaaaer4ynz88fspdsxq2h9e9cetdj"
],
"tags": [
"/2cDw/",
@ -1283,8 +1277,7 @@
"1A32KFEX7JNPmU1PVjrtiXRrTQcesT3Nf1"
],
"tags": [
"MARA Pool",
"MARA Made in USA"
"MARA Pool"
],
"link": "https://marapool.com"
},
@ -1536,304 +1529,5 @@
"ZU_test"
],
"link": "https://beta.zulupool.com/"
},
{
"id": 141,
"name": "SECPOOL",
"addresses": [
"3Awm3FNpmwrbvAFVThRUFqgpbVuqWisni9"
],
"tags": [
"SecPool"
],
"link": "https://www.secpool.com"
},
{
"id": 142,
"name": "OCEAN",
"addresses": [
"37dvwZZoT3D7RXpTCpN2yKzMmNs2i2Fd1n"
],
"tags": [
"OCEAN.XYZ"
],
"link": "https://ocean.xyz/"
},
{
"id": 143,
"name": "WhitePool",
"addresses": [
"14VkxDwSAUWrzYTxV49HnYhKLWTJ3pCoUS"
],
"tags": [
"WhitePool"
],
"link": "https://whitebit.com/mining-pool"
},
{
"id": 144,
"name": "wiz",
"addresses": [
"1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC",
"tb1q548z58kqvwyjqwy8vc2ntmg33d7s2wyfv7ukq4"
],
"tags": [
"/@wiz/"
],
"link": "https://wiz.biz/"
},
{
"id": 145,
"name": "mononaut",
"addresses": [
"mjP97q5BWtdpdsJLkEJvQWgLe9zw4MMVU6"
],
"tags": [
"🐵🚀"
],
"link": "https://twitter.com/mononautical"
},
{
"id": 146,
"name": "rijndael",
"addresses": [
"tb1qg8zlznrvns9u46muxamxjh7sa8wry3vutzaujm"
],
"tags": [
"rijndael's toaster"
],
"link": "https://twitter.com/rot13maxi"
},
{
"id": 147,
"name": "wk057",
"addresses": [
"1WizkidqARMLvjGUpfDQFRcEbnHpL55kK"
],
"tags": [
"wizkid057's block"
],
"link": ""
},
{
"id": 148,
"name": "FutureBit Apollo Solo",
"addresses": [],
"tags": [
"Apollo",
"FutureBit",
"/mined by a Solo FutureBit Apollo/"
],
"link": "https://www.futurebit.io"
},
{
"id": 149,
"name": "emzy",
"addresses": [
"tb1qmf7xdqc5nvzhturuzc46qtq5kywdf3p76cpq53"
],
"tags": [
"Emzy was here."
],
"link": "https://twitter.com/emzy"
},
{
"id": 150,
"name": "knorrium",
"addresses": [
"tb1qtfqp4g7n7wc3sr6c2cuzsq62px4pfsxgsv2krx"
],
"tags": [
"knorrium"
],
"link": "https://twitter.com/knorrium"
},
{
"id": 151,
"name": "Carbon Negative",
"addresses": [
"33SAB6pzbhEGPbfY6NVgRDV7jVfspZ3A3Z",
"3KZDwmJHB6QJ13QPXHaW7SS3yTESFPZoxb"
],
"tags": [],
"link": "https://github.com/bitcoin-data/mining-pools/issues/48"
},
{
"id": 152,
"name": "Portland.HODL",
"addresses": [
],
"tags": ["Portland.HODL"],
"link": ""
},
{
"id": 153,
"name": "Phoenix",
"addresses": [
"37cGvBD4qufoZQHopGS7XstxRUzx5cNuy1",
"bc1q2zcenaujmmdv8sqgf723cug4vjnphkvvf8zpst",
"1Ld6okoaLNDbSnougAyQTrchxRn9ELnTJg"
],
"tags": ["/Phoenix/"],
"link": "https://phoenixpool.com"
},
{
"id": 154,
"name": "Neopool",
"addresses": [
"1HCAb2h89bUinm6QZrAPpfbk4ySBrT2V4w"
],
"tags": ["/Neopool/"],
"link": "https://neopool.com/"
},
{
"id": 155,
"name": "MaxiPool",
"addresses": [
"36r3YqAXWpyqNcczjCBdHrYZ3m8X56WDzx"
],
"tags": ["/MaxiPool/"],
"link": "https://maxipool.org/"
},
{
"id": 156,
"name": "DrDetroit",
"addresses": [
"tb1qtcruplnz89xw5f86kw8sj7x9r23d5yffrysx2p"
],
"tags": [
"DrDetroit"
],
"link": "https://x.com/bankhatin"
},
{
"id": 157,
"name": "BitFuFuPool",
"addresses": [
"3JP3zF7LoeoAotqkNGdvX5szUyNPwd937d"
],
"tags": ["/BitFuFu/"],
"link": "https://www.bitfufu.com/pool"
},
{
"id": 158,
"name": "GDPool",
"addresses": [
"1DnPPFQPrfyNTiHPXhDFyqNnW9T62GEhB1"
],
"tags": ["Lucky pool", "GDPool"],
"link": ""
},
{
"id": 159,
"name": "Mining-Dutch",
"addresses": [
"1AfPSq5ZbqBaxU5QAayLQJMcXV8HZt92eq"
],
"tags": ["/Mining-Dutch/"],
"link": "https://www.mining-dutch.nl/"
},
{
"id": 160,
"name": "Public Pool",
"addresses": [],
"tags": [
"Public-Pool",
"Public Pool on Umbrel"
],
"link": "https://web.public-pool.io/"
},
{
"id": 161,
"name": "Mining Squared",
"addresses": [
"3GdjWJdkJhtkxRZ3Ns1LstaoHNMBW8XsvU",
"3AvXzTUat4p6Qf6ZLnRNvB3mDLjp3fNmjJ"
],
"tags": ["MiningSquared", "BSquared Network", "/bsquared/"],
"link": "https://pool.bsquared.network/"
},
{
"id": 162,
"name": "Innopolis Tech",
"addresses": [
"bc1q75t4wewkmf3l9qg097zvtlh05v5pdz6699kv8k"
],
"tags": ["Innopolis", "Innopolis.tech"],
"link": "https://innopolis.tech/"
},
{
"id": 163,
"name": "nymkappa",
"addresses": [
"tb1qdyy39724wqnqqqduv6zxsf56s2ec9lgypxs59h"
],
"tags": ["/@nymkappa/"],
"link": "https://github.com/nymkappa"
},
{
"id": 164,
"name": "BTCLab",
"addresses": [],
"tags": [
"BTCLab",
"BTCLab.dev"
],
"link": "https://btclab.dev/"
},
{
"id": 165,
"name": "Parasite",
"addresses": [],
"tags": ["parasite"],
"link": "https://parasite.space"
},
{
"id": 166,
"name": "RedRock Pool",
"addresses": [
"3554kSaWNnP3B49Xyybert7gmxq2YSnfnx"
],
"tags": ["RedRock"],
"link": "https://redrock.pro/"
},
{
"id": 167,
"name": "Est3lar",
"addresses": [
"34qGNFx6uQv6SzjYPbYVWtjvuy5DSGugt8"
],
"tags": ["/Est3lar/", "est3lar", "Est3lar", "EST3LAR"],
"link": "https://est3lar.io"
},
{
"id": 168,
"name": "Braiins Solo",
"addresses": [],
"tags": ["/braiinssolo/"],
"link": "https://solo.braiins.com"
},
{
"id": 169,
"name": "SoloPool.com",
"addresses": [
"bc1qreaftg3lr53nv84dnxhcvchmswevzlp9tdj2jd"
],
"tags": ["/Mined @ SoloPool.Com/"],
"link": "https://solopool.com"
},
{
"id": 170,
"name": "Noderunners",
"addresses": [],
"tags": ["/Noderunners/"],
"link": "https://pool.noderunners.network"
},
{
"id": 171,
"name": "DMND",
"addresses": [],
"tags": ["/DMND/"],
"link": "https://www.dmnd.work/"
}
]
]