* feat: unhardcode contract addresses
* fix: linting and tests
* feat: switch contract usage in token app to use unhardcoded addresses
* chore: remove other usage of hard coded contract addresses
* feat: convert contracts to classes, update claim contract to fix circular dependency
* feat: add hard coded contract addresses to contracts page
* fix: misc tidy up
* chore: rename ethers big num conversion func
* fix: remove pending transactions modal
* chore: add single toBigNum function that can accept number string or EthersBignNumber
* chore: delete unused tranche helpers and decimals functions from smart contracts lib
* feat: add faucetable token class
* fix: reset tx state after early exit from approve tx
* feat: re add transaction modal using zustand store
* fix: loader colors for eth wallet
* fix: pass ethereum config to gurantee existence before tx execution
* add docker image for building explorer
* add arg
* env file changes
* add docker file to build env file
* add requirement for env file in explorer
* fix env file syntax
* containers functional
* default to testnet
* make env flag logic consistent in all places
* pre populate env file
* ensure working for all projects
* address PR comment
* generalising env for token
* invert config dependency from ui toolkit
* fix: merge issues
* docs: running containers documentation
* style: lint
* fix: env varibales not being added properly
* chore: fix merge issues
* chore: fix docker file to support new exectutors
* chore: set address on all contracts as a property
* feat: pull token from contract rather than relying on env var
* chore: fix typing
* chore: remove duplicated prop
* chore: don't use chainId
* style: lint
* style: lint
* Merge branch 'master' into feat/dockerize-frontends
* Merge remote-tracking branch 'origin/master' into feat/dockerize-frontends
* test: revert changes to explorer e2e file
* fix: creating client without base causing token to error
* test: fix tests erroring in before hook due to file not being found
* chore: remove node env from configurable flags
Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
* fix: deposits tests, also convert to basic cypress
* add new home tests which test redirect to trading page and markets page
* chore: replace portfolio page feature with raw cypress
* chore: replace market page feature with raw cypress tests
* chore: replace home page tests with global.ts for wallet connections
* chore: add raw cypress withdrawals tests with mocks
* fix: complete withdrawals prompt and add assertion for it
* chore: remove unnecessary cypress envs now that we are mocking assets
* chore: ignore lint errors temporarily
* chore: add mock for deposit page query, add wait for mocked queries to resolve
* fix: order of waiting for withdraw page query
* fix: validate vega wallet connection
* chore: remove rest of page objects and convert trading page feature to regular cypress
* fix: assertion on transaction dialog after withdrawal
* chore: split withdraw and withdrawals pages into separate files
* chore: split trading tests into own files, connect wallet once for deal ticket
* feat: convert home page tests to raw cypress
* feat: unhardcode contract addresses
* fix: linting and tests
* feat: switch contract usage in token app to use unhardcoded addresses
* chore: remove other usage of hard coded contract addresses
* feat: convert contracts to classes, update claim contract to fix circular dependency
* feat: add hard coded contract addresses to contracts page
* fix: misc tidy up
* chore: rename ethers big num conversion func
* fix: remove pending transactions modal
* chore: add single toBigNum function that can accept number string or EthersBignNumber
* chore: delete unused tranche helpers and decimals functions from smart contracts lib
* feat: add faucetable token class
* fix: reset tx state after early exit from approve tx
* feat: re add transaction modal using zustand store
* fix: loader colors for eth wallet
* fix: pass ethereum config to gurantee existence before tx execution
* chore: lint smart contracts lib
* chore: fix web3container to use children and not render prop
* chore: lint
* fix: use background to mock ethereum wallet to avoid mocking globally for every test
* chore: move web3 mock to common steps and call from withdrawals feature tests
* feat: add a global zustand store for managing connect dialogs and landing dialog
* feat: add tests
* fix: remove condition for cypress for auto connecting
* chore: fix assertion in tests for vega wallet text
* fix: add mock for landing dialog markets query
Co-authored-by: madalinaraicu <madalina@vegaprotocol.io>
* add feature/scenarios for deposits
* add file for auction orders tests
* update feature file for deposits
* update feature tests for deposit
* add feature/scenarios for deposits
* add file for auction orders tests
* update feature file for deposits
* update feature tests for deposit
* add test for wallet not connected
* fix lint warning
* add mock ethereum provider to allow connecting ethereum wallet
* add basic test for required validation errors
* add aria for input errors for a11y and test targeting, expand submit form helper
* use mnemonic for private key generation, update tests to not submit and just assert validation message updates
* add chain id to cypress config
* update scenario
* remove feature file
* lint fix
* Update apps/trading-e2e/cypress.json
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
* use mnemonic from github secret, update cypress.json env vars to match
* fix typo in test name and mnemonic env var
* update env variables
* update eth wallet mnemonic env
* Update libs/cypress/src/lib/eip1193-bridge.ts
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
* remove unused reference to chainId
* update casing
* chainId reference from cypress.json
* Update apps/trading-e2e/cypress.json
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
* Update apps/trading-e2e/src/support/step_definitions/deposits.step.ts
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
* ignore a known failing step in the test due to wallet connected having approved status
* update testid
* update tests for deposits
* tidy up comments in custom cypress commands
* add comment about eager connect when running in cypress
* update deposits tests
Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
* add withdraw page
* add create page and withdraws lib with basic components
* add create withdrawal functionality, add withdrawal dialog
* re arrange pages so we have a pending page with a list of withdrawals and a withdraw page with the form
* handle withdrawal completion
* add withdraw dialog so withdraw is completed in one flow
* rename and arrange prop getter function to avoid use of any
* tidy up and make eth transaction and vega transaction hooks follow similar patterns
* make complete withdraw hook fetch approval, combine hooks for full flow
* delete unused file
* add accounts to query to get use max withdraw button
* use ag grid fro withdrawals list
* format amount in grid
* ensure party has id field for cache
* update to use t i18n function
* change complete status to better match values of WithdrawalStatus
* add asset lib file for type guard
* share queries for withdraws lib
* move web3 related hooks to the web3 lib and make web3 lib buildable
* add unit test for use-complete-withdraw
* add test for use-withdraw
* add e2e scenarios for withdrawals
* don render custom no withdrawals message and use ag grid prop
* make withdraw form take ethereum account as prop
* add test config, update withdraw form to handle min/max amounts, add unit test for withdraw form
* fix rendering 0 if not pending withdrawals
* use controlled component for select box
* tidy up async parts of tests, add test for withdraw-manager
* update withdraw dialog to use map for different tx states
* add fallback etherscan link, add test for withdraw-dialog.spec.tsx
* rename erc20 query in token app, change page structure to /withdraw and /withdrawals
* change linked vegawallet-service-api-client to newly published version
* ignore not implemented withdrawals e2e tests
* make vega tx pending and requested states the same, for now, until tx confirmation work is done
* Add some unit tests for determine-ids and remove0x
Neither are critical, but both are libs expected to be shared between
projects so some unit tests will hopefully ensure projects all have the
same expectations about how the functions act.
- Add 1 determine-ids test
- Add a few remove-0x tests
- Update determine-ids to use remove-0x
- Add a comment describing why i18n is what it is
* modify cache with client only field for tracking foreign chain progress
* move withdrawals-list to lib, add useWithdrawals hook
* add container component for withdrawals page
* add unit tests for withdrawals-table
* add some tests for use-withdrawals hook
* revert changes to generated files in other libs and apps
* update withdrawals scenarios
* resolve pr comments
* update page containers to use render prop rather than children
* delete unused files
* remove transaction dialog story
Co-authored-by: Ditmir-Vega <ditmir@vega.xyz>
Co-authored-by: Edd <edd@vega.xyz>
* change to setting envars rather than passing in via CLI
* update nx to latest patch version
* add env files for token-e2e, fix lint and ts errors
* move generate functions to mocs for trading e2e to avoid violating boundary rules
* add jsx compiler option for trading-e2e
* downgrade nextjs
* add testing-library to types declaration where required
* add web3 provider using web3-react package
* add env setup, add guard for incorrect chain id
* add lib for web3-provider
* make wallet and ethereum connect dialogs look more consistent
* add setup tests file for jest-dom
* remove chain id config and just use appChainId prop, add disconnect button to invalid chainId state
* switch handling of connect dialog state to the consuming app
* rename web3-provider package to just web3
* envs for each environment so we can specify chainId
* make web3container enforce connection before rendering childen
* add web3 provider using web3-react package
* make web3container enforce connection before rendering childen
* add container for getting network params
* Move ethereum config query to web3 container
* add basic deposit form elements
* add queries required for deposits, add asset default
* add bridge contract and deposit transaction
* break txhash
* restrict etherscan link props, use etherscan link in transaction dialogs
* use smart-contracts-sdk
* split hooks and components into different files, fix find deposit logic, add styles and progress for tx dialogs
* fix text colors for dark mode
* improve tx dialogs, rename deposit query
* position use buttons, fix select validation
* fix type errors after not being in strict mode, add allowance checking
* add deposit-limits component, fix types now that strict mode is enabled
* make contract hooks have a single instance
* split out dialogs into separate files, fix icon alignment
* improve error types for use transaction hook, add number save min and max for the amount input
* add validation for ethereum and vega addresses
* add unit test for deposit form component
* add icons and shared dialog styles so it better matches order transaction dialog
* fix underline class, reset finalized deposit
* fix type imports, use i18n function, regen types
* only pass contract address to token contract hook
* add vega env, refactor so retrieving asset contract address logic isn't duplicated
* add faucet functionality, combine dialogs into single transaction-dialog
* combine rendering logic into single func of transaction dialog, rever contract hooks to just useMemo
* use to field rather than connected key
* fix props and imports in deposit form test
* share faucetable condition, pass it to token contract
* pass contracts in as params to hooks to avoid multiple contract instances
* refetch balance in wallet after deposit, add comments
* use hook state for tracking deposit via partyid, add test for use ethereum transaction hook
* add deposits lib
* add last smart contract sdk package
* fix asset import in test
* tidy up ts-ignores
* pass arg for faucetable token contract
* add provider url to env vars and use in place of infura id, also update web3-connector to only allow the chain permitted by the app
* add type guard for erc20 assets
* fix intent shadow helper function, use arrow function for isEthereumError
* update etherscan link to use env vars for url base
* rename deposit related hooks to indicate read vs write calls
* move ethereum error class and helpers to react-helpers
* add use-ethereum-read-contract hook to contain fetch logic
* remove unused import
* move validation to lib, add hex check for vega public key
* use map for transaction modal states, pass confirmed prop to transaction dialog for deposits
* remove unused import for classnames
* enable strict mode and fix resulting type errors
* fix print affected command
* remove assign-deep and use lodash/merge, fix some type errors after enabling strict mode
* add deposit page
* add web3 provider using web3-react package
* add env setup, add guard for incorrect chain id
* add lib for web3-provider
* make wallet and ethereum connect dialogs look more consistent
* add setup tests file for jest-dom
* remove chain id config and just use appChainId prop, add disconnect button to invalid chainId state
* remove .env file for now, will complete as own ticket
* switch handling of connect dialog state to the consuming app
* rename web3-provider package to just web3
* envs for each environment so we can specify chainId
* remove fallback to testnet for apollo client creation
* make web3container enforce connection before rendering childen
* move infura id to env var