diff --git a/.circleci/config.yml b/.circleci/config.yml index 92aa60a05..3676a8dc5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -333,6 +333,12 @@ jobs: working_directory: ~/web3-onboard-monorepo/packages/transaction-preview steps: - node-build-steps + build-zeal: + docker: + - image: cimg/node:16.13.1 + working_directory: ~/web3-onboard-monorepo/packages/zeal + steps: + - node-build-steps build-phantom: docker: - image: cimg/node:16.13.1 @@ -509,6 +515,12 @@ jobs: working_directory: ~/web3-onboard-monorepo/packages/transaction-preview steps: - node-staging-build-steps + build-staging-zeal: + docker: + - image: cimg/node:16.13.1 + working_directory: ~/web3-onboard-monorepo/packages/zeal + steps: + - node-staging-build-steps build-staging-phantom: docker: - image: cimg/node:16.13.1 @@ -687,6 +699,12 @@ workflows: <<: *deploy_production_filters - build-staging-transaction-preview: <<: *deploy_staging_filters + zeal: + jobs: + - build-zeal: + <<: *deploy_production_filters + - build-staging-zeal: + <<: *deploy_staging_filters phantom: jobs: - build-phantom: diff --git a/packages/demo/package.json b/packages/demo/package.json index 233985027..ffa442eab 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -30,7 +30,7 @@ "@web3-onboard/fortmatic": "^2.0.14", "@web3-onboard/gas": "^2.1.3", "@web3-onboard/gnosis": "^2.1.5", - "@web3-onboard/injected-wallets": "^2.5.0-alpha.2", + "@web3-onboard/injected-wallets": "^2.5.0-alpha.3", "@web3-onboard/keepkey": "^2.3.2", "@web3-onboard/keystone": "^2.3.2", "@web3-onboard/ledger": "^2.4.0-alpha.1", @@ -46,6 +46,7 @@ "@web3-onboard/enkrypt": "^2.0.0", "@web3-onboard/mew-wallet": "^2.0.0", "@web3-onboard/uauth": "^2.0.0", + "@web3-onboard/zeal": "^2.0.0-alpha.1", "vconsole": "^3.9.5" }, "license": "MIT", diff --git a/packages/demo/src/App.svelte b/packages/demo/src/App.svelte index 3ffea36ff..99d5a45fe 100644 --- a/packages/demo/src/App.svelte +++ b/packages/demo/src/App.svelte @@ -17,6 +17,7 @@ import dcentModule from '@web3-onboard/dcent' import sequenceModule from '@web3-onboard/sequence' import tallyHoModule from '@web3-onboard/tallyho' + import zealModule from '@web3-onboard/zeal' import transactionPreviewModule from '@web3-onboard/transaction-preview' import enkryptModule from '@web3-onboard/enkrypt' import mewWalletModule from '@web3-onboard/mew-wallet' @@ -62,7 +63,6 @@ let transactionObject = defaultTransactionObject let signMsg = 'Any string message' - let signTypedMsg const injected = injectedModule({ custom: [ @@ -97,6 +97,7 @@ const keystone = keystoneModule() const gnosis = gnosisModule() const tallyho = tallyHoModule() + const zeal = zealModule() const phantom = phantomModule() const trezorOptions = { @@ -129,6 +130,7 @@ const onboard = Onboard({ wallets: [ injected, + zeal, web3auth, ledger, trezor, @@ -293,7 +295,9 @@ } let toAddress - const sendTransaction = async (provider) => { + const sendTransaction = async provider => { + await onboard.setChain({ chainId: '0x5' }) + const ethersProvider = new ethers.providers.Web3Provider(provider, 'any') const signer = ethersProvider.getSigner() @@ -310,6 +314,8 @@ } const sendTransactionWithPreFlight = async (provider, balance) => { + await onboard.setChain({ chainId: '0x5' }) + const balanceValue = Object.values(balance)[0] const ethersProvider = new ethers.providers.Web3Provider(provider, 'any') @@ -362,13 +368,63 @@ console.log({ signMsg, signature, recoveredAddress, addr }) } + let typedMsg = JSON.stringify( + { + domain: { + chainId: '0x5', + name: 'Web3-Onboard Test App', + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + version: '1' + }, + message: { + contents: 'Hello, Bob!', + from: { + name: 'Cow', + wallets: [ + '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + '0xDeaDbeefdEAdbeefdEadbEEFdeadbeEFdEaDbeeF' + ] + }, + to: [ + { + name: 'Bob', + wallets: [ + '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + '0xB0BdaBea57B0BDABeA57b0bdABEA57b0BDabEa57', + '0xB0B0b0b0b0b0B000000000000000000000000000' + ] + } + ] + }, + primaryType: 'Message', + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' } + ], + Message: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person[]' }, + { name: 'contents', type: 'string' } + ], + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallets', type: 'address[]' } + ] + } + }, + undefined, + 2 + ) const signTypedMessage = async (provider, address) => { - const data = JSON.parse(signTypedMsg) + await onboard.setChain({ chainId: '0x5' }) const signature = await provider.request({ - method: 'eth_signTypedData', - params: [address, data] + method: 'eth_signTypedData_v4', + params: [address, typedMsg] }) - const { domain, types, message } = data + const { domain, types, message } = JSON.parse(typedMsg) delete types.EIP712Domain console.log(verifyTypedData(domain, types, message, signature)) @@ -555,9 +611,9 @@ :root { --background-color: #ffffff; /* --white */ --text-color: #1a1d26; /* --gray-700 */ - --border-color: #D0D4F7; /* --gray-100 taken from future mock */ + --border-color: #d0d4f7; /* --gray-100 taken from future mock */ - --accent-background: #EFF1FC; /* --gray-100 (currently gray-100 in connect modal) */ + --accent-background: #eff1fc; /* --gray-100 (currently gray-100 in connect modal) */ --accent-color: #929bed; /* --primary-400 */ --accent-color-hover: #eff1fc; /* --primary-200 */ @@ -1015,52 +1071,48 @@
-
-
-
-
- -
-