diff --git a/.github/workflows/publish-dist.yml b/.github/workflows/publish-dist.yml index 3d081a1ed..a30858106 100644 --- a/.github/workflows/publish-dist.yml +++ b/.github/workflows/publish-dist.yml @@ -180,13 +180,13 @@ jobs: if: ${{ matrix.app == 'trading' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }} run: | # display info about app - curl -H "Authorization: $FLEEK_API_KEY" \ + curl -H "Authorization: ${{ secrets.FLEEK_API_KEY }}" \ -H "Content-Type: application/json" \ -d '{"query": "query{getSiteById(siteId:\"f8f2e051-f18e-49e6-b876-0a39369dc0d8\"){id latestDeploy{id status}}}"}' \ https://api.fleek.co/graphql # trigger new deployment as base image is always set to vegaprotocol/trading:mainnet - curl -H "Authorization: $FLEEK_API_KEY" \ + curl -H "Authorization: ${{ secrets.FLEEK_API_KEY }}" \ -H "Content-Type: application/json" \ -d '{"query": "mutation{triggerDeploy(siteId:\"f8f2e051-f18e-49e6-b876-0a39369dc0d8\"){id status}}"}' \ https://api.fleek.co/graphql diff --git a/apps/explorer/src/app/components/txs/details/chain-response-code/chain-reponse.code.tsx b/apps/explorer/src/app/components/txs/details/chain-response-code/chain-reponse.code.tsx index d1f95db5c..ba4be4ef8 100644 --- a/apps/explorer/src/app/components/txs/details/chain-response-code/chain-reponse.code.tsx +++ b/apps/explorer/src/app/components/txs/details/chain-response-code/chain-reponse.code.tsx @@ -1,3 +1,5 @@ +import { Icon } from '@vegaprotocol/ui-toolkit'; + // https://github.com/vegaprotocol/vega/blob/develop/core/blockchain/response.go export const ErrorCodes = new Map([ [51, 'Transaction failed validation'], @@ -28,7 +30,11 @@ export const ChainResponseCode = ({ }: ChainResponseCodeProps) => { const isSuccess = successCodes.has(code); - const icon = isSuccess ? '✅' : '❌'; + const icon = isSuccess ? ( + + ) : ( + + ); const label = ErrorCodes.get(code) || 'Unknown response code'; // Hack for batches with many errors - see https://github.com/vegaprotocol/vega/issues/7245 @@ -36,7 +42,7 @@ export const ChainResponseCode = ({ error && error.length > 100 ? error.replace(/,/g, ',\r\n') : error; return ( -
+
{t('Awaiting Block Explorer transaction details')}; } - const vote = txData.command.voteSubmission.value ? '👍' : '👎'; + const vote = txData.command.voteSubmission.value === 'VALUE_YES'; + return ( - - {t('Proposal ID')} - {txData.command.voteSubmission.proposalId} - {t('Proposal details')} - - {t('Proposal')} - {txData.command.voteSubmission.proposalId} - {t('Vote')} - {vote} + + + ); diff --git a/apps/explorer/src/app/components/txs/tx-order-type.tsx b/apps/explorer/src/app/components/txs/tx-order-type.tsx index cb11be8d8..1280d8c82 100644 --- a/apps/explorer/src/app/components/txs/tx-order-type.tsx +++ b/apps/explorer/src/app/components/txs/tx-order-type.tsx @@ -1,5 +1,6 @@ import { t } from '@vegaprotocol/i18n'; import type { components } from '../../../types/explorer'; +import { VoteIcon } from '../vote-icon/vote-icon'; interface TxOrderTypeProps { orderType: string; @@ -137,12 +138,15 @@ export const TxOrderType = ({ orderType, command }: TxOrderTypeProps) => { let type = displayString[orderType] || orderType; let colours = - 'text-white dark:text-white bg-vega-dark-150 dark:bg-vega-dark-150'; + 'text-white dark:text-white bg-vega-dark-150 dark:bg-vega-dark-250'; // This will get unwieldy and should probably produce a different colour of tag if (type === 'Chain Event' && !!command?.chainEvent) { type = getLabelForChainEvent(command.chainEvent); colours = 'text-white dark-text-white bg-vega-pink dark:bg-vega-pink'; + } else if (type === 'Validator Heartbeat') { + colours = + 'text-white dark-text-white bg-vega-light-200 dark:bg-vega-dark-100'; } else if (type === 'Proposal' || type === 'Governance Proposal') { if (command && !!command.proposalSubmission) { type = getLabelForProposal(command.proposalSubmission); @@ -150,6 +154,16 @@ export const TxOrderType = ({ orderType, command }: TxOrderTypeProps) => { colours = 'text-black bg-vega-yellow'; } + if (type === 'Vote on Proposal') { + return ( + + ); + } + if (type === 'Vote on Proposal' || type === 'Vote Submission') { colours = 'text-black bg-vega-yellow'; } diff --git a/apps/explorer/src/app/components/txs/txs-infinite-list-item.spec.tsx b/apps/explorer/src/app/components/txs/txs-infinite-list-item.spec.tsx index 56bf8f445..b83eb4fc9 100644 --- a/apps/explorer/src/app/components/txs/txs-infinite-list-item.spec.tsx +++ b/apps/explorer/src/app/components/txs/txs-infinite-list-item.spec.tsx @@ -98,6 +98,6 @@ describe('Txs infinite list item', () => { expect(screen.getByTestId('pub-key')).toHaveTextContent('testPubKey'); expect(screen.getByTestId('tx-type')).toHaveTextContent('testType'); expect(screen.getByTestId('tx-block')).toHaveTextContent('1'); - expect(screen.getByTestId('tx-success')).toHaveTextContent('Success: ✅'); + expect(screen.getByTestId('tx-success')).toHaveTextContent('Success'); }); }); diff --git a/apps/explorer/src/app/components/txs/txs-infinite-list-item.tsx b/apps/explorer/src/app/components/txs/txs-infinite-list-item.tsx index 2ce8bcc0f..8f761b01c 100644 --- a/apps/explorer/src/app/components/txs/txs-infinite-list-item.tsx +++ b/apps/explorer/src/app/components/txs/txs-infinite-list-item.tsx @@ -31,7 +31,7 @@ export const TxsInfiniteListItem = ({ return (
- Success:  + Success  {isNumber(code) ? ( diff --git a/apps/explorer/src/app/components/vote-icon/vote-icon.spec.tsx b/apps/explorer/src/app/components/vote-icon/vote-icon.spec.tsx new file mode 100644 index 000000000..b26323803 --- /dev/null +++ b/apps/explorer/src/app/components/vote-icon/vote-icon.spec.tsx @@ -0,0 +1,37 @@ +import { render } from '@testing-library/react'; +import { VoteIcon } from './vote-icon'; + +describe('Vote TX icon', () => { + it('should use the text For by default for yes votes', () => { + const yes = render(); + expect(yes.getByTestId('label')).toHaveTextContent('For'); + }); + + it('should use the yesText for yes votes if specified', () => { + const yes = render(); + expect(yes.getByTestId('label')).toHaveTextContent('Test'); + }); + + it('should display the tick icon for yes votes', () => { + const no = render(); + expect(no.getByRole('img')).toHaveAttribute( + 'aria-label', + 'tick-circle icon' + ); + }); + + it('should use the text Against by default for no votes', () => { + const no = render(); + expect(no.getByTestId('label')).toHaveTextContent('Against'); + }); + + it('should use the noText for no votes if specified', () => { + const no = render(); + expect(no.getByTestId('label')).toHaveTextContent('Test'); + }); + + it('should display the delete icon for no votes', () => { + const no = render(); + expect(no.getByRole('img')).toHaveAttribute('aria-label', 'delete icon'); + }); +}); diff --git a/apps/explorer/src/app/components/vote-icon/vote-icon.tsx b/apps/explorer/src/app/components/vote-icon/vote-icon.tsx new file mode 100644 index 000000000..f7b29e6d7 --- /dev/null +++ b/apps/explorer/src/app/components/vote-icon/vote-icon.tsx @@ -0,0 +1,40 @@ +import { Icon } from '@vegaprotocol/ui-toolkit'; +import type { IconName } from '@vegaprotocol/ui-toolkit'; + +export interface VoteIconProps { + // True is a yes vote, false is undefined or no vorte + vote: boolean; + // Defaults to 'For', but can be any text + yesText?: string; + // Defaults to 'Against', but can be any text + noText?: string; +} + +/** + * Displays a lozenge with an icon representing the way a user voted for a proposal. + * The yes and no text can be overridden + * + * @returns + */ +export function VoteIcon({ + vote, + yesText = 'For', + noText = 'Against', +}: VoteIconProps) { + const label = vote ? yesText : noText; + const bg = vote ? 'bg-vega-green-550' : 'bg-vega-pink-550'; + const icon: IconName = vote ? 'tick-circle' : 'delete'; + const fill = vote ? 'vega-green-300' : 'vega-pink-300'; + const text = vote ? 'vega-green-200' : 'vega-pink-200'; + + return ( +
+ + + {label} + +
+ ); +} diff --git a/apps/explorer/src/styles.css b/apps/explorer/src/styles.css index 594a3d81d..831d10a77 100644 --- a/apps/explorer/src/styles.css +++ b/apps/explorer/src/styles.css @@ -60,3 +60,7 @@ --ag-row-hover-color: theme(colors.neutral[800]); --ag-font-size: 12px; } + +.voteicon svg { + vertical-align: baseline; +} diff --git a/apps/governance-e2e/src/integration/view/proposal.cy.ts b/apps/governance-e2e/src/integration/view/proposal.cy.ts index 3f5e01321..549c8e88c 100644 --- a/apps/governance-e2e/src/integration/view/proposal.cy.ts +++ b/apps/governance-e2e/src/integration/view/proposal.cy.ts @@ -109,7 +109,7 @@ context( ); cy.getByTestId('protocol-upgrade-proposal-status').should( 'have.text', - 'Approved ' + 'Approved by validators ' ); }); }); @@ -136,7 +136,7 @@ context( ); cy.getByTestId('protocol-upgrade-state').should( 'have.text', - 'Approved' + 'Approved by validators' ); cy.getByTestId('protocol-upgrade-release-tag').should( 'have.text', diff --git a/apps/governance/src/i18n/translations/dev.json b/apps/governance/src/i18n/translations/dev.json index c8f60b63b..e8776b4af 100644 --- a/apps/governance/src/i18n/translations/dev.json +++ b/apps/governance/src/i18n/translations/dev.json @@ -788,9 +788,9 @@ "homeVegaTokenButtonText": "Manage tokens", "downloadProposalJson": "Download proposal as JSON", "networkUpgrade": "Network Upgrade", - "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED": "Approved", - "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING": "Pending", - "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED": "Rejected", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED": "Approved by validators", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING": "Waiting for validator votes", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED": "Declined by validators", "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED": "Unspecified", "vegaRelease{release}": "Vega Release {{release}}", "upgradeBlockHeight": "Upgrade block height", diff --git a/apps/governance/src/routes/proposals/components/protocol-upgrade-proposal-detail-info/protocol-upgrade-proposal-detail-info.spec.tsx b/apps/governance/src/routes/proposals/components/protocol-upgrade-proposal-detail-info/protocol-upgrade-proposal-detail-info.spec.tsx index 2ec6b2f65..2e3a4d614 100644 --- a/apps/governance/src/routes/proposals/components/protocol-upgrade-proposal-detail-info/protocol-upgrade-proposal-detail-info.spec.tsx +++ b/apps/governance/src/routes/proposals/components/protocol-upgrade-proposal-detail-info/protocol-upgrade-proposal-detail-info.spec.tsx @@ -32,7 +32,9 @@ describe('ProtocolUpgradeProposalDetailInfo', () => { it('should render the state', () => { const { getByTestId } = renderComponent(); - expect(getByTestId('protocol-upgrade-state')).toHaveTextContent('Pending'); + expect(getByTestId('protocol-upgrade-state')).toHaveTextContent( + 'Waiting for validator votes' + ); }); it('should render the vega release tag', () => { diff --git a/apps/governance/src/routes/proposals/components/protocol-upgrade-proposals-list-item/protocol-upgrade-proposals-list-item.spec.tsx b/apps/governance/src/routes/proposals/components/protocol-upgrade-proposals-list-item/protocol-upgrade-proposals-list-item.spec.tsx index 4d0bdce7f..47a035b29 100644 --- a/apps/governance/src/routes/proposals/components/protocol-upgrade-proposals-list-item/protocol-upgrade-proposals-list-item.spec.tsx +++ b/apps/governance/src/routes/proposals/components/protocol-upgrade-proposals-list-item/protocol-upgrade-proposals-list-item.spec.tsx @@ -26,28 +26,34 @@ describe('ProtocolUpgradeProposalsListItem', () => { status: ProtocolUpgradeProposalStatus.PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED, icon: 'protocol-upgrade-proposal-status-icon-rejected', + text: 'Declined by validators', }, { status: ProtocolUpgradeProposalStatus.PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING, icon: 'protocol-upgrade-proposal-status-icon-pending', + text: 'Waiting for validator votes', }, { status: ProtocolUpgradeProposalStatus.PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED, icon: 'protocol-upgrade-proposal-status-icon-approved', + text: 'Approved by validators', }, { status: ProtocolUpgradeProposalStatus.PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED, icon: 'protocol-upgrade-proposal-status-icon-unspecified', + text: 'Unspecified', }, ]; - statuses.forEach(({ status, icon }) => { + statuses.forEach(({ status, icon, text }) => { renderComponent({ ...proposal, status }); const statusIcon = screen.getByTestId(icon); + const textContent = screen.getByText(text); expect(statusIcon).toBeInTheDocument(); + expect(textContent).toBeInTheDocument(); }); }); diff --git a/apps/static/src/assets/mainnet-tranches.json b/apps/static/src/assets/mainnet-tranches.json index 90e55863e..22d22e8a9 100644 --- a/apps/static/src/assets/mainnet-tranches.json +++ b/apps/static/src/assets/mainnet-tranches.json @@ -1,4 +1,37 @@ [ + { + "tranche_id": 59, + "tranche_start": "2024-05-01T00:00:00.000Z", + "tranche_end": "2024-11-01T00:00:00.000Z", + "total_added": "15000", + "total_removed": "0", + "locked_amount": "15000", + "deposits": [ + { + "amount": "15000", + "user": "0xA530ac2B576eF27C09B7b55C83b3E163D167e9AE", + "tx": "0x90af73d7321833fc32445850655a1210f0298845b9222e695e1229801f7a95b0" + } + ], + "withdrawals": [], + "users": [ + { + "address": "0xA530ac2B576eF27C09B7b55C83b3E163D167e9AE", + "deposits": [ + { + "amount": "15000", + "user": "0xA530ac2B576eF27C09B7b55C83b3E163D167e9AE", + "tranche_id": 59, + "tx": "0x90af73d7321833fc32445850655a1210f0298845b9222e695e1229801f7a95b0" + } + ], + "withdrawals": [], + "total_tokens": "15000", + "withdrawn_tokens": "0", + "remaining_tokens": "15000" + } + ] + }, { "tranche_id": 58, "tranche_start": "2023-05-11T00:00:00.000Z", @@ -48,8 +81,8 @@ "tranche_start": "2023-04-20T00:00:00.000Z", "tranche_end": "2023-05-20T00:00:00.000Z", "total_added": "19242.125", - "total_removed": "1979.64045368475", - "locked_amount": "5448.4017548225310304875", + "total_removed": "2249.511113406525", + "locked_amount": "4966.5468746141989799625", "deposits": [ { "amount": "188", @@ -238,6 +271,11 @@ "user": "0xDd7a98557586ce21f770662319C2047C5a3bD605", "tx": "0x47f5bf2c758c5270dd1b6519ac649ddabef8199f8a0bae319e36f8ac5c9c142e" }, + { + "amount": "269.870659721775", + "user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756", + "tx": "0x156ef84c345adecdf7b1c55756b1f4326716d1b0191ce1a208f614fc807ce033" + }, { "amount": "202.093666077975", "user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756", @@ -311,6 +349,12 @@ } ], "withdrawals": [ + { + "amount": "269.870659721775", + "user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756", + "tranche_id": 56, + "tx": "0x156ef84c345adecdf7b1c55756b1f4326716d1b0191ce1a208f614fc807ce033" + }, { "amount": "202.093666077975", "user": "0x1447Efc62d5077d7AbB20492dF831Dd6c9Eb1756", @@ -337,8 +381,8 @@ } ], "total_tokens": "1207.5", - "withdrawn_tokens": "597.002068860225", - "remaining_tokens": "610.497931139775" + "withdrawn_tokens": "866.872728582", + "remaining_tokens": "340.627271418" }, { "address": "0x33Ce1D9E53AFb7367E34749517C086405a651a95", @@ -1860,7 +1904,7 @@ "tranche_start": "2023-03-06T00:00:00.000Z", "tranche_end": "2023-04-06T00:00:00.000Z", "total_added": "14099", - "total_removed": "3785.49002352036", + "total_removed": "4343.49002352036", "locked_amount": "0", "deposits": [ { @@ -2630,6 +2674,11 @@ "user": "0x2a65Ae527C6Ff4665e048B0E0883c486A7BA4DBc", "tx": "0xb0edcc25e422bc3db3ad8027dfdfc0928abd7a8af8957a1699e4cf2dc8cee8f7" }, + { + "amount": "558", + "user": "0xA7f89FF809549F4577993de3d1B3017241a53F40", + "tx": "0x84e5ff587c312b578fa946e2dce386cdf19c7638602b12eceaaab7de563f8394" + }, { "amount": "30", "user": "0xBe9F912Ad481C61B653463E8F1D2b2b310D49861", @@ -4446,10 +4495,17 @@ "tx": "0x46d80a145d2f49ef3152cbfaa6d2bb054deabe21396ab43553a3f076e2db62e1" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "558", + "user": "0xA7f89FF809549F4577993de3d1B3017241a53F40", + "tranche_id": 53, + "tx": "0x84e5ff587c312b578fa946e2dce386cdf19c7638602b12eceaaab7de563f8394" + } + ], "total_tokens": "558", - "withdrawn_tokens": "0", - "remaining_tokens": "558" + "withdrawn_tokens": "558", + "remaining_tokens": "0" }, { "address": "0x363D3d06d70761c34D6EfEB25E409A9549E6970D", @@ -4907,7 +4963,7 @@ "tranche_end": "2023-12-05T00:00:00.000Z", "total_added": "86666.297", "total_removed": "0", - "locked_amount": "49267.8881106870934141481", + "locked_amount": "49089.5098761083255785347", "deposits": [ { "amount": "86666.297", @@ -4973,7 +5029,7 @@ "tranche_end": "2023-06-01T00:00:00.000Z", "total_added": "2500", "total_removed": "0", - "locked_amount": "281.5177299552299", + "locked_amount": "271.198361823361825", "deposits": [ { "amount": "2500", @@ -5006,7 +5062,7 @@ "tranche_end": "2023-11-01T00:00:00.000Z", "total_added": "15000.000000000000015", "total_removed": "0", - "locked_amount": "14143.5726147343005141435726147343005", + "locked_amount": "14082.32940821256001408232940821256", "deposits": [ { "amount": "1.5e-14", @@ -5048,10 +5104,15 @@ "tranche_id": 46, "tranche_start": "2023-11-01T00:00:00.000Z", "tranche_end": "2024-05-01T00:00:00.000Z", - "total_added": "7500", + "total_added": "22500", "total_removed": "0", - "locked_amount": "7500", + "locked_amount": "22500", "deposits": [ + { + "amount": "15000", + "user": "0x2539b51EbDE65a75672aBcfE9439a706a99D18D1", + "tx": "0x959f5eed214f5376e834c2c20ed2a23a75c4465240c2776452ade80afa11ae2e" + }, { "amount": "7500", "user": "0xA530ac2B576eF27C09B7b55C83b3E163D167e9AE", @@ -5060,6 +5121,21 @@ ], "withdrawals": [], "users": [ + { + "address": "0x2539b51EbDE65a75672aBcfE9439a706a99D18D1", + "deposits": [ + { + "amount": "15000", + "user": "0x2539b51EbDE65a75672aBcfE9439a706a99D18D1", + "tranche_id": 46, + "tx": "0x959f5eed214f5376e834c2c20ed2a23a75c4465240c2776452ade80afa11ae2e" + } + ], + "withdrawals": [], + "total_tokens": "15000", + "withdrawn_tokens": "0", + "remaining_tokens": "15000" + }, { "address": "0xA530ac2B576eF27C09B7b55C83b3E163D167e9AE", "deposits": [ @@ -5094,7 +5170,7 @@ "tranche_end": "2023-09-01T00:00:00.000Z", "total_added": "17500", "total_removed": "0", - "locked_amount": "10699.20428240740825", + "locked_amount": "10627.75387479871275", "deposits": [ { "amount": "12500", @@ -5361,7 +5437,7 @@ "tranche_end": "2023-08-01T00:00:00.000Z", "total_added": "37500", "total_removed": "18302.01762945", - "locked_amount": "16884.2176949048475", + "locked_amount": "16728.571976672805", "deposits": [ { "amount": "7500", @@ -5791,7 +5867,7 @@ "tranche_end": "2023-12-05T00:00:00.000Z", "total_added": "129999.45", "total_removed": "0", - "locked_amount": "49222.937361909470971875", + "locked_amount": "49044.721875025339293075", "deposits": [ { "amount": "129999.45", @@ -5824,7 +5900,7 @@ "tranche_end": "2024-04-01T00:00:00.000Z", "total_added": "54144.7663", "total_removed": "0", - "locked_amount": "48152.52222157082703945313", + "locked_amount": "48041.38491096187898160874", "deposits": [ { "amount": "54144.7663", @@ -5857,7 +5933,7 @@ "tranche_end": "2023-09-03T00:00:00.000Z", "total_added": "62600", "total_removed": "0", - "locked_amount": "19636.5893708777252", + "locked_amount": "19507.74485032978261", "deposits": [ { "amount": "10000", @@ -6050,7 +6126,7 @@ "tranche_end": "2023-09-17T00:00:00.000Z", "total_added": "5000", "total_removed": "0", - "locked_amount": "1760.1985032978185", + "locked_amount": "1749.90740740740725", "deposits": [ { "amount": "5000", @@ -7119,7 +7195,7 @@ "tranche_end": "2023-06-02T00:00:00.000Z", "total_added": "1939928.38", "total_removed": "1709370.7872515768348", - "locked_amount": "114240.47288112379901012188", + "locked_amount": "110247.6750853017760205804", "deposits": [ { "amount": "1852091.69", @@ -40991,7 +41067,7 @@ "tranche_end": "2023-06-05T00:00:00.000Z", "total_added": "3732368.4671", "total_removed": "715655.108029600523393", - "locked_amount": "200049.157239417195653993231", + "locked_amount": "193913.6171717827931959267794", "deposits": [ { "amount": "1998.95815", @@ -42384,7 +42460,7 @@ "tranche_end": "2023-12-05T00:00:00.000Z", "total_added": "15870102.715470999700000001", "total_removed": "873375.18460711694221852", - "locked_amount": "6009049.0528282882857238651980333316436875", + "locked_amount": "5987292.8216877808105999383808376374831035", "deposits": [ { "amount": "16249.93", @@ -59170,8 +59246,8 @@ "tranche_start": "2022-06-05T00:00:00.000Z", "tranche_end": "2023-06-05T00:00:00.000Z", "total_added": "472355.6199999996", - "total_removed": "44544.1737890903416", - "locked_amount": "31698.932494320098793185875900572", + "total_removed": "44730.9909821383416", + "locked_amount": "30726.706120062759734819431050228", "deposits": [ { "amount": "3000", @@ -65800,6 +65876,11 @@ "user": "0x3F9E884B459a6AaC3f66b72555611AdE68a7F472", "tx": "0x4697229c7f272bd3fc06ecdc1b15143d28e20083e15f1b3cadb3fc80e80af180" }, + { + "amount": "186.817193048", + "user": "0x0003423D0A1858B6Eaf9a67914aBc67cDF989c2F", + "tx": "0x7f120bd664d54bdabddad1ddb7ffdd84fbaa2630f1657289e3a7b11503ec4018" + }, { "amount": "182.662252664", "user": "0xb1169C6daAc76bAcaf0D8f87641Fc38fbabe569F", @@ -71055,10 +71136,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "186.817193048", + "user": "0x0003423D0A1858B6Eaf9a67914aBc67cDF989c2F", + "tranche_id": 5, + "tx": "0x7f120bd664d54bdabddad1ddb7ffdd84fbaa2630f1657289e3a7b11503ec4018" + } + ], "total_tokens": "200", - "withdrawn_tokens": "0", - "remaining_tokens": "200" + "withdrawn_tokens": "186.817193048", + "remaining_tokens": "13.182806952" }, { "address": "0x659ce8E49DA0c872AAC44c70496122044CbcA911", @@ -88971,7 +89059,7 @@ "tranche_start": "2021-12-05T00:00:00.000Z", "tranche_end": "2022-06-05T00:00:00.000Z", "total_added": "171288.42", - "total_removed": "70140.5995794947989", + "total_removed": "71890.5995794947989", "locked_amount": "0", "deposits": [ { @@ -93196,6 +93284,41 @@ } ], "withdrawals": [ + { + "amount": "250", + "user": "0xcAEbd70D80D5aB92Ae5A2E1c92F479298826548C", + "tx": "0x7ffbc82e96bb7c796feb548a7ca48a7430a47dae3f2e9de859e6d45ac31a4e6c" + }, + { + "amount": "250", + "user": "0xac494D6eC2CcA7C9BD1caD0c1D0516F3706c6b7c", + "tx": "0x85a5d2a4faa6490fc25e080f09dc4d9b5fb3857d762042ba2dcbc0f04de41e0c" + }, + { + "amount": "250", + "user": "0x4eE1C5ED78143f298ae4E5E17e538a99E8512db7", + "tx": "0xcb7b99dc5240cdcaaed2fae06e9fd8172db0387179fe09b5f1e1cefff16c6025" + }, + { + "amount": "250", + "user": "0x01E41ffFBcBC9DDA6E2e9e7291cA8AcCE1AF2091", + "tx": "0x0af2b3703c268eed4532409b52b6fae066207adf80f9dd2fc17b7aacc40f2879" + }, + { + "amount": "250", + "user": "0xa9C1CA1E66CB3063352433843521861844A2Fd33", + "tx": "0x8fad99b8976fff57a099e59351ae96379ec3041e32ccce144727eea29cfffe59" + }, + { + "amount": "250", + "user": "0x13A01db15250975cE4f7AddF5C20CC1f5056Fc47", + "tx": "0xc4bcffd71245b9f2af79e04fd58740f7b4cce50da80a405403c959563d132f2c" + }, + { + "amount": "250", + "user": "0x2A6Ea2aBEf3D7d7A76CBeF3c297eE0eF9a86BBA8", + "tx": "0x163b699e8a25073ad1ad45c8a8f9b1348eb0b648d3f4bc6f3f64648e0ad726bf" + }, { "amount": "250", "user": "0x0E3407C9A94effa675471afe7A9D37e687C32141", @@ -95538,10 +95661,17 @@ "tx": "0x87b7e454992157e175f824cbd5cbfd068ce890b8603edcb70174bae9b5c4afc8" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0x13A01db15250975cE4f7AddF5C20CC1f5056Fc47", + "tranche_id": 6, + "tx": "0xc4bcffd71245b9f2af79e04fd58740f7b4cce50da80a405403c959563d132f2c" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0x7b4127D262acC0Ff3dB2D0521d1F1f3b602243C2", @@ -98054,10 +98184,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0x4eE1C5ED78143f298ae4E5E17e538a99E8512db7", + "tranche_id": 6, + "tx": "0xcb7b99dc5240cdcaaed2fae06e9fd8172db0387179fe09b5f1e1cefff16c6025" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0x1dC24e9601e40013a12CB9976a519860c4eDF359", @@ -98099,10 +98236,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0x01E41ffFBcBC9DDA6E2e9e7291cA8AcCE1AF2091", + "tranche_id": 6, + "tx": "0x0af2b3703c268eed4532409b52b6fae066207adf80f9dd2fc17b7aacc40f2879" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0x6EE016F4512C910b401B18087BBAC15412dD97cA", @@ -98436,10 +98580,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0xac494D6eC2CcA7C9BD1caD0c1D0516F3706c6b7c", + "tranche_id": 6, + "tx": "0x85a5d2a4faa6490fc25e080f09dc4d9b5fb3857d762042ba2dcbc0f04de41e0c" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0xa7137DA63B53138A6DCdC9D9a010F42F951F1113", @@ -98481,10 +98632,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0xa9C1CA1E66CB3063352433843521861844A2Fd33", + "tranche_id": 6, + "tx": "0x8fad99b8976fff57a099e59351ae96379ec3041e32ccce144727eea29cfffe59" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0xbCd93996629B0fFA1DfaE74Bb6e107ddB1CE7934", @@ -98511,10 +98669,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0xcAEbd70D80D5aB92Ae5A2E1c92F479298826548C", + "tranche_id": 6, + "tx": "0x7ffbc82e96bb7c796feb548a7ca48a7430a47dae3f2e9de859e6d45ac31a4e6c" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0x64Aac7Cb63317DE77C331686E0b2dAA41303Adf0", @@ -98593,10 +98758,17 @@ "tx": "0x1c2c084e3efafb2ffa09c0b259bd229cce0d6da04dd092d911c7e6136a7ac8a9" } ], - "withdrawals": [], + "withdrawals": [ + { + "amount": "250", + "user": "0x2A6Ea2aBEf3D7d7A76CBeF3c297eE0eF9a86BBA8", + "tranche_id": 6, + "tx": "0x163b699e8a25073ad1ad45c8a8f9b1348eb0b648d3f4bc6f3f64648e0ad726bf" + } + ], "total_tokens": "250", - "withdrawn_tokens": "0", - "remaining_tokens": "250" + "withdrawn_tokens": "250", + "remaining_tokens": "0" }, { "address": "0x5D84C52FEf44a84298422f0F87147F80145e2043", diff --git a/docker/dist.Dockerfile b/docker/dist.Dockerfile deleted file mode 100644 index 1e44628a4..000000000 --- a/docker/dist.Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM --platform=amd64 nginx:1.23-alpine@sha256:6318314189b40e73145a48060bff4783a116c34cc7241532d0d94198fb2c9629 -EXPOSE 80 -WORKDIR /usr/share/nginx/html -COPY docker/nginx.conf /etc/nginx/conf.d/default.conf -RUN rm -rf /usr/share/nginx/html/* -COPY ./dist-result/ /usr/share/nginx/html/