Compare commits

...

710 Commits

Author SHA1 Message Date
Fabio Berger
dbb3c5e32b Publish
- 0x.js@4.0.1
 - @0x/abi-gen@2.0.1
 - @0x/abi-gen-wrappers@3.0.1
 - @0x/assert@2.0.1
 - @0x/asset-buyer@5.0.1
 - @0x/base-contract@4.0.1
 - @0x/connect@4.0.1
 - @0x/contract-wrappers@7.0.0
 - @0x/dev-tools-pages@0.0.16
 - @0x/dev-utils@2.0.1
 - @0x/fill-scenarios@2.0.1
 - @0x/instant@1.0.10
 - @0x/json-schemas@3.0.1
 - @0x/metacoin@0.0.38
 - @0x/migrations@3.0.1
 - @0x/monorepo-scripts@1.0.21
 - @0x/order-utils@5.0.0
 - @0x/order-watcher@3.0.1
 - @0x/pipeline@1.0.7
 - @0x/react-docs@2.0.1
 - @0x/react-shared@2.0.1
 - @0x/sol-compiler@3.0.1
 - @0x/sol-coverage@2.0.1
 - @0x/sol-doc@2.0.1
 - @0x/sol-profiler@2.0.2
 - @0x/sol-resolver@2.0.1
 - @0x/sol-trace@2.0.2
 - @0x/sol-tracing-utils@6.0.1
 - @0x/sra-spec@2.0.1
 - @0x/subproviders@3.0.1
 - @0x/testnet-faucets@1.0.66
 - @0x/types@2.0.1
 - @0x/utils@4.0.2
 - @0x/web3-wrapper@4.0.1
 - @0x/website@0.0.69
 - @0x/contracts-asset-proxy@1.0.2
 - @0x/contracts-erc20@1.0.2
 - @0x/contracts-erc721@1.0.2
 - @0x/contracts-exchange@1.0.2
 - @0x/contracts-exchange-forwarder@1.0.2
 - @0x/contracts-exchange-libs@1.0.2
 - @0x/contracts-extensions@2.0.1
 - @0x/contracts-multisig@2.0.1
 - @0x/contracts-test-utils@3.0.1
 - @0x/contracts-utils@2.0.1
2019-02-06 11:41:24 +00:00
Fabio Berger
265df31750 Updated CHANGELOGS 2019-02-06 11:41:12 +00:00
Fabio Berger
9bbe56df0b Fix react-highlight dep 2019-02-06 11:24:40 +00:00
Fabio Berger
879c795fc4 Fix react-highlight dep 2019-02-06 11:07:16 +00:00
Fabio B
8b5bb97537 Merge pull request #1587 from 0xProject/fix/abiEncoder/DefaultTypesOnNullInput
Handle ABI decoding NULL for all data types
2019-02-06 10:23:21 +00:00
Greg Hysen
3d7a635543 Added NULL decoding tests for return values 2019-02-05 21:33:07 -08:00
Greg Hysen
b3ae9e6e25 updated changelog for utils 2019-02-05 19:18:00 -08:00
Greg Hysen
023ea5b3a1 Ran prettier + linter 2019-02-05 18:10:17 -08:00
Greg Hysen
2ad6bd3945 Test cases for handling NULL input for all data types 2019-02-05 18:01:38 -08:00
Greg Hysen
2326dcdb12 Handle NULL input for all data types 2019-02-05 17:30:54 -08:00
Amir Bandeali
b5eb47f609 Merge pull request #1576 from 0xProject/feat/transaction-hash
Add transactionHashUtils to order-utils package
2019-02-05 10:03:30 -08:00
Amir Bandeali
af4ed0f39c Update python JSON schema for 0x transactions 2019-02-05 09:26:03 -08:00
Amir Bandeali
eac254f925 Fix outdated comments and make verifyingContractAddress a required part of the 0x tx schema 2019-02-05 09:26:03 -08:00
Amir Bandeali
8246dec843 Rename getTransactionHex to getTransactionHashHex for clarity 2019-02-05 09:26:03 -08:00
Amir Bandeali
4514da0646 Update CHANGELOGs 2019-02-05 09:26:03 -08:00
Amir Bandeali
9abd6f5695 Allow custom domains in eip712Utils 2019-02-05 09:23:09 -08:00
Amir Bandeali
a394967268 Use new transaction schema throughout monorepo 2019-02-05 09:23:09 -08:00
Amir Bandeali
c7c4cb9bc6 Add transaction hash utils 2019-02-05 09:23:09 -08:00
Amir Bandeali
1ada679663 Update ZeroExTransactionSchema 2019-02-05 09:23:09 -08:00
Amir Bandeali
9552676783 Add schema validation to getOrderHashBuff 2019-02-05 09:23:09 -08:00
Fabio B
69c7c03fb3 Merge pull request #1580 from 0xProject/fix/preSignedSignatureBug
Fix preSigned signature bug in SignatureUtils
2019-02-05 14:36:06 +00:00
Fabio Berger
224a58bdf2 Fix dep version 2019-02-05 14:19:48 +00:00
Fabio Berger
98427b715d Merge branch 'fix/preSignedSignatureBug' of github.com:0xProject/0x-monorepo into fix/preSignedSignatureBug
* 'fix/preSignedSignatureBug' of github.com:0xProject/0x-monorepo:
  Update packages/order-utils/CHANGELOG.json
2019-02-05 13:57:40 +00:00
Fabio Berger
a8078aa151 merge development 2019-02-05 13:55:05 +00:00
Leonid Logvinov
7b583cecb2 Publish
- 0x.js@4.0.0
 - @0x/abi-gen@2.0.0
 - @0x/abi-gen-templates@2.0.0
 - @0x/abi-gen-wrappers@3.0.0
 - @0x/assert@2.0.0
 - @0x/asset-buyer@5.0.0
 - @0x/base-contract@4.0.0
 - @0x/connect@4.0.0
 - @0x/contract-addresses@2.2.1
 - @0x/contract-wrappers@6.0.1
 - @0x/dev-tools-pages@0.0.15
 - @0x/dev-utils@2.0.0
 - ethereum-types@2.0.0
 - @0x/fill-scenarios@2.0.0
 - @0x/instant@1.0.9
 - @0x/json-schemas@3.0.0
 - @0x/metacoin@0.0.37
 - @0x/migrations@3.0.0
 - @0x/monorepo-scripts@1.0.20
 - @0x/order-utils@4.0.0
 - @0x/order-watcher@3.0.0
 - @0x/pipeline@1.0.6
 - @0x/react-docs@2.0.0
 - @0x/react-shared@2.0.0
 - @0x/sol-compiler@3.0.0
 - @0x/sol-coverage@2.0.0
 - @0x/sol-doc@2.0.0
 - @0x/sol-profiler@2.0.1
 - @0x/sol-resolver@2.0.0
 - @0x/sol-trace@2.0.1
 - @0x/sol-tracing-utils@6.0.0
 - @0x/sra-spec@2.0.0
 - @0x/subproviders@3.0.0
 - @0x/testnet-faucets@1.0.65
 - @0x/tslint-config@3.0.0
 - @0x/types@2.0.0
 - @0x/typescript-typings@4.0.0
 - @0x/utils@4.0.1
 - @0x/web3-wrapper@4.0.0
 - @0x/website@0.0.68
 - @0x/contracts-asset-proxy@1.0.1
 - @0x/contracts-erc20@1.0.1
 - @0x/contracts-erc721@1.0.1
 - @0x/contracts-exchange@1.0.1
 - @0x/contracts-exchange-forwarder@1.0.1
 - @0x/contracts-exchange-libs@1.0.1
 - @0x/contracts-extensions@2.0.0
 - @0x/contracts-multisig@2.0.0
 - @0x/contracts-test-utils@3.0.0
 - @0x/contracts-utils@2.0.0
2019-02-05 14:50:16 +01:00
Leonid Logvinov
f3d9520db2 Updated CHANGELOGS 2019-02-05 14:50:02 +01:00
Leonid Logvinov
9de4bf1225 Fix contracts-utils versions 2019-02-05 14:29:17 +01:00
Leonid Logvinov
3cb6744369 Update packages/order-utils/CHANGELOG.json
Co-Authored-By: fabioberger <kandinsky454@protonmail.ch>
2019-02-05 13:14:31 +00:00
Fabio Berger
e021460f03 Remove .only 2019-02-05 13:09:23 +00:00
Fabio Berger
0a93f3346f All CHANGELOG entry 2019-02-05 13:07:50 +00:00
Fabio Berger
332cc14dcd Add preSigned isValidSignature test for success case using smart contract & TS implementation 2019-02-05 13:07:40 +00:00
Leonid Logvinov
52e287fc7d Fix CHANGELOGs 2019-02-05 13:57:38 +01:00
Fabio Berger
7885b2e3f8 Fix test 2019-02-05 12:56:04 +00:00
Leonid Logvinov
e6683e46cc Add CHANGELOG entries to sol-tracing-utils 2019-02-05 13:47:27 +01:00
Fabio Berger
2447c72a5c Fix heap out of memory issue 2019-02-05 12:09:13 +00:00
Leonid Logvinov
4febabd3e7 Merge pull request #1583 from reserve-protocol/development
Fix default gas limit for fake txs in TraceCollectionSubprovider
2019-02-05 12:28:05 +01:00
Leonid Logvinov
4b4bfee1bc Merge pull request #1584 from reserve-protocol/patch
Hook eth_sendRawTransaction in addition to eth_sendTransaction
2019-02-05 12:26:58 +01:00
Fabio Berger
d7c9d73349 Merge branch 'development' into fix/preSignedSignatureBug
* development:
  update error msg for dependency version check
  CI test for dependencies to have the same version (#1556)
  Add missing comma
  Decode NULL as false
  Update blog link to not be /latest, and use constant in mobile nav
2019-02-05 11:16:45 +00:00
xianny
09a5b6e7a3 update error msg for dependency version check 2019-02-05 19:05:45 +08:00
Xianny
703aa38a17 CI test for dependencies to have the same version (#1556)
* add failing CI for dependencies with multiple versions

* update dependencies

* increase bundlewatch maxsize for 0x.js
2019-02-05 18:58:30 +08:00
Fabio B
b2f35057a5 Merge pull request #1582 from 0xProject/fix/utils/abiDecodeNullAsFalse
Decode NULL as False in Abi Encoder
2019-02-05 10:32:00 +00:00
Fabio Berger
a3198b7df8 Add missing comma 2019-02-05 09:33:16 +00:00
Greg Hysen
db900d180c Decode NULL as false 2019-02-04 16:32:14 -08:00
Jeremy Schlatter
3d2ed57c08 Hook eth_sendRawTransaction in addition to eth_sendTransaction 2019-02-04 14:33:13 -08:00
Jeremy Schlatter
d0b0c4a917 Fix default gas limit for fake txs in TraceCollectionSubprovider
This hex string is required to be prefixed with '0x'. If it does not have that
prefix, then the call to unmarshalTxData below will fail with:

	BigNumber Error: new BigNumber() not a number: 5b8d80

This default value is overridden if the incoming call already has a gas
estimate, in which case the parse error above does not happen. This is probably
why the error wasn't previously noticed.
2019-02-04 13:22:36 -08:00
Fabio Berger
a1bf5e8261 Merge branch 'development' into fix/preSignedSignatureBug
* development:
  Nit fixes to pipeline README
  fix typo
2019-02-04 19:33:08 +00:00
Steve Klebanoff
74293d5bc8 Merge pull request #1536 from 0xProject/fix/website/blog-link
[website] Change blog link
2019-02-04 08:59:03 -08:00
Fabio Berger
50cad8d260 Nit fixes to pipeline README 2019-02-04 16:04:19 +00:00
Fabio Berger
52f22aad81 Write failing preSign unit test 2019-02-04 16:03:48 +00:00
Fabio Berger
c03e24e10b Fix bug where passing in signerAddress instead of exchangeAddress 2019-02-04 16:03:25 +00:00
Fabio B
995a2ef8a0 Merge pull request #1567 from jeremyschlatter/patch-1
fix typo
2019-02-04 14:30:45 +00:00
Francesco Agosti
1d3fff32a2 Merge pull request #1559 from 0xProject/feature/pipeline/fix-missing-dex-trades
[pipeline] Fix missing DEX Trades from Bloxy
2019-02-01 18:30:57 -08:00
Amir Bandeali
069c9fd4a6 Merge pull request #1568 from smithki/fix/contract-wrappers/wrong-default-address-for-order-validator-wrapper
Use correct "orderValidator" address in OrderValidatorWrapper constructor
2019-02-01 16:04:30 -08:00
fragosti
4f3cab4213 add row deletion step to migration 2019-02-01 15:50:04 -08:00
Fabio Berger
42c13ecafa Remove DDEX library from developer tools list 2019-02-01 20:12:43 +00:00
dave4506
70158c3a99 Merge pull request #1572 from dave4506/fix/instant/input-bug-firefox
Removed number selector for firefox inputs
2019-02-01 14:15:21 -05:00
Leonid Logvinov
ae8d2ae2cb Merge pull request #1542 from 0xProject/feature/solc-docker
Implement docker as another backend for sol-compiler
2019-02-01 19:58:29 +01:00
Leonid Logvinov
79adf5cec6 Merge development 2019-02-01 19:08:56 +01:00
David Sun
26d44a5392 ran prettier on codebase 2019-02-01 12:07:21 -05:00
David Sun
149f8bc9b3 removed number selector for firefox inputs 2019-01-31 21:12:13 -05:00
dave4506
78bdc2d6b4 Merge pull request #1552 from dave4506/feature/portal/fix-highlight-state-back-to-relayers
Added a highlight state to back button
2019-01-31 19:23:49 -05:00
David Sun
c9facdf825 changed button to medium blue 2019-01-31 18:56:31 -05:00
dave4506
4986a2f940 Merge pull request #1548 from dave4506/fix/website/market-making-svg-consistency
Fixed market making website svg consistency issues
2019-01-31 17:45:10 -05:00
Ian K Smith
9fd372da51 Add CHANGELOG.json entry 2019-01-31 15:04:22 -07:00
Ian K Smith
68194fde0a Use correct "orderValidator" address in order_validator_wrapper ctor 2019-01-31 14:55:06 -07:00
dave4506
155e73dc70 Merge pull request #1551 from dave4506/feature/instant/add-usdc
Added USDC support to instant
2019-01-31 16:37:14 -05:00
Jeremy Schlatter
76a1ff7c40 fix typo 2019-01-31 12:35:26 -08:00
Jacob Evans
da357f7599 Merge pull request #1533 from 0xProject/migrations/consolidate-owner-default
Remove owner from migrations
2019-01-31 16:24:11 +10:00
fragosti
4efe941937 remove extra quotes from google-site-verification 2019-01-30 17:22:33 -08:00
Francesco Agosti
612d2dbde1 Merge pull request #1563 from 0xProject/feature/website/fix-typos-add-metatag
[website] Fix website typos and add metatag
2019-01-30 16:24:57 -08:00
fragosti
0c9369bf04 fix typo 2019-01-30 15:31:34 -08:00
fragosti
94043380bb add site verification tag 2019-01-30 15:29:42 -08:00
fragosti
96e880d170 fix typos on landing 2019-01-30 15:28:55 -08:00
F. Eugene Aumson
3d8caa4694 Fix hang in Python CI test runs (#1560) 2019-01-30 15:51:59 -05:00
fragosti
4996ae8d9d run linter 2019-01-30 10:30:50 -08:00
fragosti
7b4a0d4f8a fix bloxy datasource getDexTradesAsync to allow for tx_hash repetitions in dedupe logic 2019-01-30 10:28:06 -08:00
fragosti
c2ad95fd94 update types to adhere to new dex trades and bloxy api format 2019-01-30 10:12:15 -08:00
fragosti
5ad2e9d6b6 write migration to add trade_index primary key to dex_trades 2019-01-30 10:06:04 -08:00
fragosti
8bac655dc1 Stop omitting trades because of duplicate tx hashes 2019-01-30 09:39:59 -08:00
Francesco Agosti
e29f130285 Merge pull request #1546 from dave4506/fix/change-asset-unavail-tokens-unavail
Changed error message from "Assets Unavailable" to "Tokens Unavailable"
2019-01-30 09:23:25 -08:00
Leonid Logvinov
f9d4afd713 Merge pull request #1558 from 0xProject/fix/sol-tracing-errors
Improve error messages when unable to find bytecode
2019-01-30 14:25:50 +01:00
Fabio B
d6b6f1e7d9 Update packages/sol-trace/src/revert_trace_subprovider.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-30 14:25:43 +01:00
Leonid Logvinov
ea5e78b217 Improve error messages when unable to find bytecode 2019-01-30 14:12:31 +01:00
Leonid Logvinov
c9a7ef18dc Merge pull request #1557 from 0xProject/fix/sol-cov/property-range-of-null
Fix the `cannot read property range of null` bug
2019-01-30 14:11:53 +01:00
Leonid Logvinov
e23f90e41c Fix the cannot read property range of null bug 2019-01-30 14:04:19 +01:00
Leonid Logvinov
e1244648e0 Rename dependencyNameToPackagePath to dependencyNameToPath 2019-01-30 13:11:18 +01:00
Leonid Logvinov
8d72e253c8 Add a comment 2019-01-30 13:11:18 +01:00
Leonid Logvinov
33ed6a7c06 Remove + concatenation 2019-01-30 13:11:18 +01:00
Leonid Logvinov
c82a4a5760 Fail fast 2019-01-30 13:11:18 +01:00
Fabio B
445a629016 Update packages/sol-compiler/src/utils/compiler.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-30 13:08:10 +01:00
Fabio B
be7daae91a Update packages/ethereum-types/src/index.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-30 13:03:30 +01:00
David Sun
ba645692b0 updated svg asset 2019-01-29 16:19:00 -05:00
Leonid Logvinov
08f541535b Fix naming 2019-01-28 17:37:15 +01:00
Leonid Logvinov
3520d2584e Add 'useDockerisedSolc' to new packages 2019-01-28 17:27:53 +01:00
Leonid Logvinov
141ac0ca0b Merge development 2019-01-28 17:26:13 +01:00
Leonid Logvinov
0c12128f64 Temp CI 2019-01-28 17:24:44 +01:00
David Sun
1e939591ae added USDC as an option 2019-01-26 19:26:40 -05:00
Francesco Agosti
25e42c0ad4 Merge pull request #1549 from 0xProject/justinbarry-0x-monorepo-mirror
[instant] [mirror] Output Chrome 41 compatible version of 0x instant
2019-01-25 09:22:11 -08:00
Francesco Agosti
1c032a103d Merge pull request #1508 from justinbarry/development
Output Chrome 41 compatible version of 0x instant
2019-01-25 08:51:33 -08:00
Amir Bandeali
e0022cd98c Merge pull request #1547 from 0xProject/feat/contracts/lock-dependencies
Lock versions of all dependencies that are contracts packages
2019-01-24 19:47:56 -08:00
David Sun
68dbf8b2a7 added new svg assets and modified svg code to fix transparency 2019-01-24 22:31:16 -05:00
fragosti
a9ca1f3174 Merge branch 'development' of https://github.com/0xProject/0x-monorepo into development 2019-01-24 17:35:25 -08:00
Amir Bandeali
bcff25c996 Lock versions of all dependencies that are contracts packages 2019-01-24 13:47:02 -08:00
David Sun
e272f8e1d9 changed error message 2019-01-24 15:44:42 -05:00
fragosti
5b06595a6b Merge branch 'development' of https://github.com/0xProject/0x-monorepo into development 2019-01-24 12:05:44 -08:00
fragosti
44aafe4d78 feat: add Marc to website 2019-01-24 12:05:22 -08:00
Steve Klebanoff
92cbff67d1 Merge pull request #1543 from 0xProject/fix/asset-buyer-test
[asset-buyer] Fix test (assetData string)
2019-01-23 15:33:05 -08:00
Steve Klebanoff
2166f57750 Assert that assetData is a string before we try to decode it 2019-01-23 12:51:26 -08:00
Francesco Agosti
726a52f3ee 0xproject -> 0x.org 2019-01-23 12:35:00 -08:00
Francesco Agosti
64424deb41 Update README.md 2019-01-23 12:33:10 -08:00
Amir Bandeali
69025da2dc Merge pull request #1539 from 0xProject/feat/contracts/split-packages
Split/rename/combine packages
2019-01-23 12:22:26 -08:00
Amir Bandeali
09cb3b7d50 Merge branch 'development' into feat/contracts/split-packages 2019-01-23 10:49:10 -08:00
Amir Bandeali
8566bb551b Fix geth tests in circleci config 2019-01-23 09:51:02 -08:00
Amir Bandeali
f631c2da06 Update package.json versions 2019-01-23 09:49:02 -08:00
Leonid Logvinov
19064f8cbb Add -setup_remote_docker to CI build steps 2019-01-23 17:09:54 +01:00
Leonid Logvinov
de36670bdc Make workspace path in NPMResolver optional 2019-01-23 17:02:02 +01:00
Leonid Logvinov
e8d68dc07f Implement docker as another backend for sol-compiler 2019-01-23 16:54:27 +01:00
Amir Bandeali
f81149ac2b Update all contract CHANGELOGs 2019-01-22 18:06:26 -08:00
Alex Browne
ef928aff31 Merge pull request #1537 from nitper/patch-1
[fix] allow devnet rpc to listen on any vhost
2019-01-22 16:24:29 -08:00
Jacob Evans
6f090a2fda Improve CHANGELOG 2019-01-23 11:11:32 +11:00
Benjamin
c690364ec6 Add docker-compose basic config (#1538)
Add docker-compose.yml config for 0x-devnet package. This can be expanded upon in future if necessary.
2019-01-22 15:23:11 -08:00
Leonid Logvinov
cc48433575 Merge pull request #1535 from 0xProject/feature/sol-tracing-monorepo-fixes
Sol tracing fixes
2019-01-22 23:35:31 +01:00
Amir Bandeali
fe1ef930ad Update DEPLOYS and READMEs within each package 2019-01-22 13:37:14 -08:00
Leonid Logvinov
8ce885089e Change strings to numbers in CHANGELOGs 2019-01-22 21:23:58 +01:00
Leonid Logvinov
3e910c0e03 Refactor out isInterfaceContract 2019-01-22 21:20:02 +01:00
Leonid Logvinov
7c47c52fac Fix a typo 2019-01-22 21:11:55 +01:00
nitper
744fa22f01 allow devnet rpc to listen on any vhost
geth's default value for `--rpcvhosts` is `localhost`, which does not work when trying to use the devnet in certain environments such as `docker-compose` or `gitlab-ci`
2019-01-22 14:14:12 -05:00
Steve Klebanoff
b3f996595f Update blog link to not be /latest, and use constant in mobile nav 2019-01-22 08:48:05 -08:00
Fabio B
148f12a753 Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 15:10:37 +01:00
Fabio B
aedd6503d1 Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 15:10:32 +01:00
Fabio B
c3ecbd3063 Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 15:10:24 +01:00
Fabio B
3297b5ea34 Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 15:10:17 +01:00
Fabio B
19f929761b Update packages/sol-tracing-utils/src/collect_coverage_entries.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 15:10:05 +01:00
Fabio B
d8890a03bb Update packages/sol-profiler/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 13:29:22 +01:00
Fabio B
4a6bdfae23 Update contracts/utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-22 13:29:07 +01:00
Leonid Logvinov
7015fc4dbc Fix tests 2019-01-22 13:02:16 +01:00
Amir Bandeali
ab4d4a69ec Update root tsconfig packages 2019-01-21 22:39:51 -08:00
Amir Bandeali
efbfd08aa0 Separate forwarder into own package 2019-01-21 21:41:22 -08:00
Amir Bandeali
f9c29c3e74 Cleanup package.json files 2019-01-21 21:41:21 -08:00
Amir Bandeali
0758f231e2 Split tokens package into erc20 and erc721 2019-01-21 21:41:21 -08:00
Amir Bandeali
9fa8619590 Move contents of examples and interfaces packages into corresponding packages 2019-01-21 21:41:21 -08:00
Amir Bandeali
174daa97c3 Add commands for building and testing all contracts 2019-01-21 21:41:21 -08:00
Amir Bandeali
43de20930b Update remaining pachages 2019-01-21 21:41:21 -08:00
Amir Bandeali
4a4c26a2e3 Split protocol package into exchange, asset-proxy, and multisig 2019-01-21 21:41:21 -08:00
Amir Bandeali
e2fe907de0 Rename libs to exchange-libs 2019-01-21 21:41:21 -08:00
Amir Bandeali
f9986a6342 Move LibAddressArray to utils package 2019-01-21 21:41:21 -08:00
Fabio B
8d367a09fe Merge pull request #1527 from 0xProject/improvements/website/dev_home
Add Python tools section to Dev Home and add missing Python packages
2019-01-21 18:26:23 +01:00
Leonid Logvinov
7e60138e9d Fix imports in TestContracts and testLibBytes to be relative. This way they show up correctly in coverage reports 2019-01-21 16:37:50 +01:00
Leonid Logvinov
e5c4390489 Fix a bug when some parts of the profiling report were missing because of the coverage ignore lines 2019-01-21 16:32:12 +01:00
Fabio Berger
dabcd2cf47 Fix linter issue 2019-01-21 16:14:17 +01:00
Leonid Logvinov
61910f264c Print reasonable warnings on bytecode collisions 2019-01-21 15:55:06 +01:00
Leonid Logvinov
ddb0e29253 SolCompilerArtifactAdapter now doesn't return the ContractData for interfaces 2019-01-21 15:52:37 +01:00
Leonid Logvinov
9d9ab2f1ee Cache bytecode lookup 2019-01-21 15:44:08 +01:00
Leonid Logvinov
ce65ac0c1c SolCompilerArtifactsAdapter now uses SolResolver under the hood which allows to resolve NPM dependencies properly 2019-01-21 15:28:39 +01:00
Jacob Evans
98203bcc8c Convert from to lower case.
fixes #1490
2019-01-21 16:02:20 +11:00
Jacob Evans
bee48d1d43 Remove partial type for TxData txDefaults 2019-01-21 15:52:39 +11:00
Jacob Evans
ebbb4df227 Remove owner from migrations 2019-01-21 15:16:16 +11:00
Fabio Berger
da7c969eeb Add entry for contract demo package 2019-01-18 22:41:55 +01:00
Fabio Berger
310d981990 Link all Python packages to Pypi 2019-01-18 22:37:13 +01:00
Fabio Berger
6275b7ba3b Remove .py suffix 2019-01-18 22:35:04 +01:00
Fabio Berger
b22a6b4e09 Create Python tools section and add missing Python packages to it 2019-01-18 13:12:19 +01:00
Leonid Logvinov
b5fd3c72a0 Merge pull request #1518 from 0xProject/feature/new-ganache
Update ganache version
2019-01-18 13:07:32 +01:00
Leonid Logvinov
bf65332763 Merge branch 'development' into feature/new-ganache 2019-01-18 13:07:19 +01:00
Leonid Logvinov
3973dec994 Merge pull request #1517 from 0xProject/feature/bignumber-8.0
Bignumber 8.0
2019-01-18 13:06:08 +01:00
Leonid Logvinov
c8212f1d4d Merge branch 'development' into feature/bignumber-8.0 2019-01-18 12:53:04 +01:00
Leonid Logvinov
e6fe728bcb Merge development 2019-01-18 12:46:16 +01:00
Fabio Berger
bef30e4209 Update footer 2019-01-18 12:36:48 +01:00
Fabio B
6c7f4c13fa Update packages/web3-wrapper/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-18 12:32:49 +01:00
Fabio B
662049914a Update packages/subproviders/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-18 12:32:41 +01:00
Greg Hysen
d7a5190d52 Merge pull request #1519 from hosyvietanh/patch-1
Allow matching of uint80 in evm_data_type
2019-01-18 01:07:28 -08:00
Steve Klebanoff
2b64661c61 Merge pull request #1512 from 0xProject/feature/instant/asset-buyer-check-liquidity
[instant] [asset-buyer] Helper methods for checking liquidity
2019-01-17 16:01:36 -08:00
Steve Klebanoff
9c29eecc30 Merge pull request #1525 from 0xProject/fix/dev-tools-pages-package
[dev-tools-pages] Remove dangling comma from package.json
2019-01-17 15:27:43 -08:00
Steve Klebanoff
25b58108bc remove dangling comma 2019-01-17 15:00:12 -08:00
Steve Klebanoff
fbde36d27b remove dangling comma 2019-01-17 14:56:44 -08:00
Steve Klebanoff
02b7a43909 Merge branch 'development' into feature/instant/asset-buyer-check-liquidity 2019-01-17 13:29:46 -08:00
Fabio Berger
e1e531a2a4 Remove react-snap from dev-tools-pages since it was messing up links on rendering pages 2019-01-17 20:59:39 +01:00
Fabio Berger
f6edf27856 Add hiring pitch to footer 2019-01-17 20:12:33 +01:00
Leonid Logvinov
277e09d061 Merge pull request #1524 from 0xProject/feature/istanbul-geth
Add notes about istanbul and Geth to website docs
2019-01-17 20:00:28 +01:00
Leonid Logvinov
1c9fb5f65f Add notes about istanbul and Geth to website docs 2019-01-17 19:59:35 +01:00
Fabio Berger
c29539aaf2 Add missing .png 2019-01-17 19:43:20 +01:00
Brandon Millman
4143baa27a Merge pull request #1523 from 0xProject/fix/react-shared/react-highlight-dep
[react-shared] Change react-highlight dep to reference fork by branch instead of commit
2019-01-17 10:26:26 -08:00
Leonid Logvinov
5816279d68 Publish
- 0x.js@3.0.3
 - @0x/asset-buyer@4.0.2
 - @0x/contract-wrappers@5.0.1
 - @0x/dev-tools-pages@0.0.14
 - @0x/instant@1.0.8
 - @0x/metacoin@0.0.36
 - @0x/monorepo-scripts@1.0.19
 - @0x/order-watcher@2.4.3
 - @0x/sol-coverage@1.0.3
 - @0x/sol-profiler@1.0.3
 - @0x/sol-trace@1.0.3
 - @0x/sol-tracing-utils@4.0.1
 - @0x/testnet-faucets@1.0.64
 - @0x/website@0.0.67
 - @0x/contracts-examples@1.0.6
 - @0x/contracts-extensions@1.2.3
 - @0x/contracts-interfaces@1.0.6
 - @0x/contracts-libs@1.0.6
 - @0x/contracts-multisig@1.0.6
 - @0x/contracts-protocol@2.2.3
 - @0x/contracts-test-utils@2.0.1
 - @0x/contracts-tokens@1.0.6
 - @0x/contracts-utils@1.0.6
2019-01-17 19:07:37 +01:00
Leonid Logvinov
0d877a8076 Updated CHANGELOGS 2019-01-17 19:07:25 +01:00
Brandon Millman
7b266bc762 Change react-highlight dep to reference fork by branch instead of commit 2019-01-17 10:03:23 -08:00
Fabio Berger
0e6aea856f http to https 2019-01-17 16:58:15 +01:00
Fabio B
e31d17ef79 Merge pull request #1509 from 0xProject/fix/dev-tools-pages/finalTouches
Dev Tools Pages - Final Touches
2019-01-17 16:56:01 +01:00
Fabio Berger
7b2a9ba698 Fix linter errors 2019-01-17 16:38:30 +01:00
Fabio Berger
87d08b0af6 Update yarn.lock 2019-01-17 16:24:11 +01:00
Fabio Berger
e68c5d5517 Enable "copy" button on all code snippets that should be copy-able 2019-01-17 16:24:03 +01:00
Leonid Logvinov
c09825660c Increase the Buffer size when fetching tags 2019-01-17 16:14:19 +01:00
Fabio Berger
293e937291 Merge branch 'development' into fix/dev-tools-pages/finalTouches
* development: (22 commits)
  Fix linter
  Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
  Update packages/sol-tracing-utils/CHANGELOG.json
  Update packages/sol-tracing-utils/CHANGELOG.json
  Add PR numbers
  Fix/simplify handling of revert trace snippets
  Fix a bug when TraceCollectionSubprovider was hanging on the fake Geth snapshot transaction
  Fix a bug when a custom Geth tracer didn't return stack entries for DELEGATECALL
  Revert devnet mining period from 1 to 0
  update team info, add brent
  Publish
  Updated CHANGELOGS
  Add commented-out pre-publish checks
  Add additional check to make sure user was added to our DockerHub org
  Update test for required amountAvailableToFill
  Add actual error message thrown
  Flag order-watcher as having a Docker image to publish
  Add publish to DockerHub step to publish flow
  Flesh out postpublish configs in packageJSON type
  Add pre-publish check to ensure publisher is logged in to docker cmdline
  ...
2019-01-17 15:59:00 +01:00
Fabio Berger
fe2f97dabd Add link to Truffle starter project 2019-01-17 15:58:41 +01:00
Leonid Logvinov
0b23aaca26 Merge pull request #1521 from 0xProject/feature/dev-tools-pre-release-fixes
0x Dev tools pre-release fixes
2019-01-17 15:53:17 +01:00
Leonid Logvinov
d92dc47df8 Last touches 2019-01-17 15:44:34 +01:00
Leonid Logvinov
8b69d918a9 Fix linter 2019-01-17 15:38:09 +01:00
Fabio Berger
3b79754b7a Remove incorrect section of docs 2019-01-17 15:37:43 +01:00
Fabio B
92ec4f5772 Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-17 15:06:42 +01:00
Fabio B
8528660f50 Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-17 15:06:35 +01:00
Fabio B
edd4370cdb Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-17 15:06:29 +01:00
Leonid Logvinov
69aa1c2e91 Add PR numbers 2019-01-17 14:40:11 +01:00
Leonid Logvinov
fcdd0de9ee Fix/simplify handling of revert trace snippets 2019-01-17 14:37:15 +01:00
Leonid Logvinov
4c5bde1b54 Fix a bug when TraceCollectionSubprovider was hanging on the fake Geth snapshot transaction 2019-01-17 14:36:23 +01:00
Leonid Logvinov
83f77a2d56 Fix a bug when a custom Geth tracer didn't return stack entries for DELEGATECALL 2019-01-17 14:28:16 +01:00
Leonid Logvinov
cdac2d210e Revert devnet mining period from 1 to 0 2019-01-17 14:23:03 +01:00
Fabio Berger
737941e8c7 Add call-to-action docs button at end of instructions again 2019-01-17 13:29:47 +01:00
Fabio Berger
a873872cc7 Open 0x.org on different tab 2019-01-17 13:03:18 +01:00
Fabio Berger
56b8fd2074 Add fonts 2019-01-17 12:55:14 +01:00
Fabio Berger
b2ea4f6aaf Update requirement sections 2019-01-17 12:53:09 +01:00
hosyvietanh
ca5b024e03 Allow matching of uint80 in evm_data_type 2019-01-17 11:07:50 +07:00
Steve Klebanoff
92f5ad4f15 Use more specific helper method decodeAssetDataOrThrow 2019-01-16 17:12:08 -08:00
Steve Klebanoff
ff8250cd35 change helper method to return a boolean 2019-01-16 15:45:01 -08:00
Steve Klebanoff
466ec6b22a Change LiquidityForAssetData to return a BigNumber instead of a number to avoid losing precision 2019-01-16 14:16:49 -08:00
fragosti
beaf0a4a8a update team info, add brent 2019-01-16 11:33:57 -08:00
Fabio Berger
6871f36dad Update 0x url 2019-01-16 18:44:52 +01:00
Steve Klebanoff
a587718443 export type instead of interface for more succinct syntax 2019-01-16 09:41:12 -08:00
Steve Klebanoff
444250520a Clarify boolean variable name 2019-01-16 09:40:36 -08:00
Steve Klebanoff
bd5850f390 Merge branch 'development' into feature/instant/asset-buyer-check-liquidity 2019-01-16 09:38:38 -08:00
Steve Klebanoff
ce1c2eeab7 Remove accidental import 2019-01-16 09:37:10 -08:00
Fabio B
b08d6c3b4d Merge pull request #1510 from 0xProject/feature/monorepo-scripts/publishToDockerHub
Add DockerHub Publishing Step to Publish Flow
2019-01-16 18:35:55 +01:00
Steve Klebanoff
f269bc28cf Add PR number and fix description 2019-01-15 14:00:00 -08:00
Steve Klebanoff
af63934d2c Export types and add additional documentation 2019-01-15 13:57:31 -08:00
Steve Klebanoff
39816bef8f Merge pull request #1511 from 0xProject/fix/asset-buyer/zero-amount-available-test
Fix expectedAmountAvailableToFill  test
2019-01-15 13:04:55 -08:00
Steve Klebanoff
600b44c962 Merge branch 'development' into feature/instant/asset-buyer-check-liquidity 2019-01-15 10:43:55 -08:00
Steve Klebanoff
7a2b312d64 Merge branch 'development' into fix/asset-buyer/zero-amount-available-test 2019-01-15 10:38:23 -08:00
Leonid Logvinov
7d166dc7da Fix prettier 2019-01-15 17:34:44 +01:00
Leonid Logvinov
0720b8487c Fix a build issue 2019-01-15 17:13:20 +01:00
Leonid Logvinov
4404f92b38 Add CHANGELOG entries 2019-01-15 17:05:51 +01:00
Leonid Logvinov
0a27979464 Convert address strings to lower case before parsing them as BigNumbers 2019-01-15 16:25:26 +01:00
Leonid Logvinov
a3cb722469 Fix a bug when we didn't call isNaN function and assumed it's a property 2019-01-15 16:25:26 +01:00
Leonid Logvinov
2cca2d70d7 Add a throw reason in tests 2019-01-15 16:25:26 +01:00
Leonid Logvinov
17f313658d Add a NAN check when parsing BigNumber candidate 2019-01-15 16:25:26 +01:00
Leonid Logvinov
d304c062eb Convert address strings to lower case before parsing them as BigNumbers 2019-01-15 16:25:26 +01:00
Leonid Logvinov
3eef888e25 Update yarn.lock 2019-01-15 16:25:26 +01:00
Leonid Logvinov
20eab4257a Upgrade chai-bignumber 2019-01-15 16:25:25 +01:00
Leonid Logvinov
665dd0813e Remove unused imports 2019-01-15 16:25:25 +01:00
Leonid Logvinov
e84232cce8 Use new check for isBigNumber 2019-01-15 16:25:25 +01:00
Leonid Logvinov
de78d6a8ad Fix isBigNumber check for the new version 2019-01-15 16:25:25 +01:00
Leonid Logvinov
a085654aba Fix linting error 2019-01-15 16:25:25 +01:00
Leonid Logvinov
61c88455f4 Apply prettier 2019-01-15 16:25:25 +01:00
Leonid Logvinov
a084bbbed8 Rename cmp to comparedTo 2019-01-15 16:25:25 +01:00
Leonid Logvinov
eb393f0a66 Upgrade chai-bignumber 2019-01-15 16:25:25 +01:00
Leonid Logvinov
c3afc13dd6 Upgrade bignumber.js version 2019-01-15 16:25:24 +01:00
Leonid Logvinov
08b865d25b Add CHANGELOG entries 2019-01-15 16:19:28 +01:00
Leonid Logvinov
9932240a4d Merge branch 'development' into feature/new-ganache 2019-01-15 15:33:55 +01:00
Leonid Logvinov
f570f80674 Publish
- 0x.js@3.0.2
 - @0x/abi-gen@1.0.22
 - @0x/abi-gen-templates@1.0.2
 - @0x/abi-gen-wrappers@2.2.0
 - @0x/assert@1.0.23
 - @0x/asset-buyer@4.0.1
 - @0x/base-contract@3.0.13
 - @0x/connect@3.0.13
 - @0x/contract-addresses@2.2.0
 - @0x/contract-artifacts@1.3.0
 - @0x/contract-wrappers@5.0.0
 - @0x/dev-tools-pages@0.0.13
 - @0x/dev-utils@1.0.24
 - ethereum-types@1.1.6
 - @0x/fill-scenarios@1.1.2
 - @0x/instant@1.0.7
 - @0x/json-schemas@2.1.7
 - @0x/metacoin@0.0.35
 - @0x/migrations@2.4.0
 - @0x/monorepo-scripts@1.0.18
 - @0x/order-utils@3.1.2
 - @0x/order-watcher@2.4.2
 - @0x/pipeline@1.0.5
 - @0x/react-docs@1.0.25
 - @0x/react-shared@1.1.2
 - @0x/sol-compiler@2.0.2
 - @0x/sol-coverage@1.0.2
 - @0x/sol-doc@1.0.14
 - @0x/sol-profiler@1.0.2
 - @0x/sol-resolver@1.2.3
 - @0x/sol-trace@1.0.2
 - @0x/sol-tracing-utils@4.0.0
 - @0x/sra-spec@1.0.16
 - @0x/subproviders@2.1.11
 - @0x/testnet-faucets@1.0.63
 - @0x/tslint-config@2.0.2
 - @0x/types@1.5.2
 - @0x/typescript-typings@3.0.8
 - @0x/utils@3.0.1
 - @0x/web3-wrapper@3.2.4
 - @0x/website@0.0.66
 - @0x/contracts-examples@1.0.5
 - @0x/contracts-extensions@1.2.2
 - @0x/contracts-interfaces@1.0.5
 - @0x/contracts-libs@1.0.5
 - @0x/contracts-multisig@1.0.5
 - @0x/contracts-protocol@2.2.2
 - @0x/contracts-test-utils@2.0.0
 - @0x/contracts-tokens@1.0.5
 - @0x/contracts-utils@1.0.5
2019-01-15 15:21:53 +01:00
Leonid Logvinov
dbae6ec165 Updated CHANGELOGS 2019-01-15 15:21:42 +01:00
Fabio Berger
7c37d10d1f Merge branch 'development' into feature/monorepo-scripts/publishToDockerHub
* development: (87 commits)
  Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
  Make mapping namings direct
  Remove unused tslint disable
  Revert "Remove logAsyncErrors hack"
  Remove logAsyncErrors hack
  Refactor logAsyncErrors to follow our conventions
  Export Sources and SourceCodes out of tracing utils
  Replace console.log with logUtils.log (#1515)
  strict decoding of return values using generics
  makerAssetFillAmount -> takerAssetFillAmount
  Ran prettier
  Linter
  Fix build after rebase
  Style cleanup for Compressed Calldata in Contract Wrappers PR
  Use simpler `_.find` to locate fillOrderBai
  Updated dutch auction wrapper
  Added back abi-gen-wrappers
  Renamed signatureParser.ts to signature_parser.ts
  Renamed decode rule `structsAsObjects` to `shouldConvertStructsToObjects`
  circle build failed. New commit to resubmit job.
  ...
2019-01-15 15:13:24 +01:00
Fabio Berger
ae147e615a Merge branch 'development' into fix/dev-tools-pages/finalTouches
* development: (87 commits)
  Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
  Make mapping namings direct
  Remove unused tslint disable
  Revert "Remove logAsyncErrors hack"
  Remove logAsyncErrors hack
  Refactor logAsyncErrors to follow our conventions
  Export Sources and SourceCodes out of tracing utils
  Replace console.log with logUtils.log (#1515)
  strict decoding of return values using generics
  makerAssetFillAmount -> takerAssetFillAmount
  Ran prettier
  Linter
  Fix build after rebase
  Style cleanup for Compressed Calldata in Contract Wrappers PR
  Use simpler `_.find` to locate fillOrderBai
  Updated dutch auction wrapper
  Added back abi-gen-wrappers
  Renamed signatureParser.ts to signature_parser.ts
  Renamed decode rule `structsAsObjects` to `shouldConvertStructsToObjects`
  circle build failed. New commit to resubmit job.
  ...
2019-01-15 15:10:50 +01:00
Leonid Logvinov
18084588ea Merge pull request #1498 from 0xProject/fix/sol-cov
Sol tracing fixes
2019-01-15 14:45:02 +01:00
Fabio B
64d99dc07c Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-15 14:44:52 +01:00
Leonid Logvinov
91b57793c2 Update ganache version 2019-01-15 14:44:43 +01:00
Leonid Logvinov
63a63543be Make mapping namings direct 2019-01-15 13:37:10 +01:00
Leonid Logvinov
75a4bbc5f2 Remove unused tslint disable 2019-01-15 12:09:48 +01:00
Leonid Logvinov
c2ec4174b7 Revert "Remove logAsyncErrors hack"
This reverts commit 7ea274b731.
2019-01-15 12:09:17 +01:00
Leonid Logvinov
7ea274b731 Remove logAsyncErrors hack 2019-01-15 11:55:06 +01:00
Leonid Logvinov
d9675ad6d3 Refactor logAsyncErrors to follow our conventions 2019-01-15 11:48:04 +01:00
Leonid Logvinov
a8e32d8c87 Export Sources and SourceCodes out of tracing utils 2019-01-15 11:34:31 +01:00
Jacob Evans
16a2cf7be6 Merge pull request #1503 from 0xProject/feature/multi-asset-proxy-migration
Add MultiAssetProxy Migration
2019-01-15 13:27:07 +11:00
Jacob Evans
b4621f6a69 Merge pull request #1514 from 0xProject/bug/exchange-wrapper-matchOrders
Remove optimization from matchOrdersAsync in Exchange wrapper
2019-01-15 13:23:45 +11:00
F. Eugene Aumson
c859788fde Replace console.log with logUtils.log (#1515) 2019-01-14 18:21:12 -05:00
Greg Hysen
1c25d8e997 Merge pull request #1475 from 0xProject/feature/monorepo/useNewAbiEncoder
Use Compressed Calldata in Contract Wrappers
2019-01-14 11:48:17 -08:00
Francesco Agosti
fc89b97818 Merge pull request #1516 from 0xProject/fix/website/update-react-highlight
[website] Update react-highlight dep in website to latest commit
2019-01-14 11:33:35 -08:00
Greg Hysen
b0817854e8 strict decoding of return values using generics 2019-01-14 10:49:44 -08:00
Greg Hysen
1907ecc02e makerAssetFillAmount -> takerAssetFillAmount 2019-01-14 10:49:44 -08:00
Greg Hysen
cf2dee60dc Ran prettier 2019-01-14 10:49:44 -08:00
Greg Hysen
80aa2884a3 Linter 2019-01-14 10:49:44 -08:00
Greg Hysen
3a28eb1c6a Fix build after rebase 2019-01-14 10:49:44 -08:00
Greg Hysen
82a44559f6 Style cleanup for Compressed Calldata in Contract Wrappers PR 2019-01-14 10:49:44 -08:00
Greg Hysen
892be49b98 Use simpler _.find to locate fillOrderBai 2019-01-14 10:49:44 -08:00
Greg Hysen
1cbc03ae43 Updated dutch auction wrapper 2019-01-14 10:49:44 -08:00
Greg Hysen
1c9a49cd08 Added back abi-gen-wrappers 2019-01-14 10:49:44 -08:00
Greg Hysen
4f53335db0 Renamed signatureParser.ts to signature_parser.ts 2019-01-14 10:49:44 -08:00
Greg Hysen
0b87aec9c6 Renamed decode rule structsAsObjects to shouldConvertStructsToObjects 2019-01-14 10:49:44 -08:00
Greg Hysen
6892f929fb circle build failed. New commit to resubmit job. 2019-01-14 10:49:44 -08:00
Greg Hysen
f39c03191c Ran linter 2019-01-14 10:49:44 -08:00
Greg Hysen
05adb38a09 Removed console log from handlebars 2019-01-14 10:49:44 -08:00
Greg Hysen
f73c68ee61 Created an interface for abi decoded fillOrder data 2019-01-14 10:49:44 -08:00
Greg Hysen
33f3405226 let -> const in callAsync 2019-01-14 10:49:44 -08:00
Greg Hysen
86caa4a0bb Ran prettier and linter 2019-01-14 10:49:44 -08:00
Greg Hysen
6d832deb62 Decodes revert reason as array to appease Geth 2019-01-14 10:49:44 -08:00
Greg Hysen
0b6c9c8468 Ran prettier 2019-01-14 10:49:44 -08:00
Greg Hysen
d1fd4421be Use string argument encoding with new encoder 2019-01-14 10:49:44 -08:00
Greg Hysen
b06f8239e1 Finished porting new abi encoder to contracts 2019-01-14 10:49:44 -08:00
Greg Hysen
7991de9ed0 Generalized create for signature / dataItems. Cleaner. 2019-01-14 10:49:44 -08:00
Greg Hysen
e9a82905e3 Abi Encoder tests fixed + added a signature parser for cases where MethodAbi/DataItems are not readily available 2019-01-14 10:49:44 -08:00
Greg Hysen
f8684d6a77 All contract tests working with new abi encoder 2019-01-14 10:49:44 -08:00
Greg Hysen
e4551c8f60 Works for almost all tests 2019-01-14 10:49:44 -08:00
Greg Hysen
2f1454e90e Working for almost every test 2019-01-14 10:49:29 -08:00
Greg Hysen
b89f986949 Ensure that addresses are lower case 2019-01-14 10:49:29 -08:00
Greg Hysen
285fb3dead Progress 2019-01-14 10:49:29 -08:00
Brandon Millman
923234eed1 Update react-highlight dep in website to latest commit 2019-01-14 10:44:23 -08:00
Fabio Berger
affd617054 Add commented-out pre-publish checks 2019-01-14 16:05:56 +01:00
Fabio Berger
84163517c6 Add additional check to make sure user was added to our DockerHub org 2019-01-14 15:24:00 +01:00
Leonid Logvinov
83b46cbf71 Rename mappins to have a direct naming scheme instead of a reverse one 2019-01-14 14:52:00 +01:00
Leonid Logvinov
4689309857 Add SourceCodes and Sources types 2019-01-14 14:43:14 +01:00
Leonid Logvinov
02543fdd0c Add a link to tracing examples 2019-01-14 14:43:14 +01:00
Fabio B
1f7179b178 Update packages/sol-tracing-utils/src/source_maps.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 14:29:01 +01:00
Fabio B
e14f1646d6 Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 13:54:50 +01:00
Fabio B
caba2faa92 Update packages/sol-tracing-utils/src/trace_info_subprovider.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 13:52:26 +01:00
Fabio B
ed3b89f005 Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 13:51:10 +01:00
Fabio B
1c279f97ce Update packages/sol-tracing-utils/src/source_maps.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 13:51:01 +01:00
Fabio B
b41bcd80ef Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 13:50:53 +01:00
Fabio B
45d70dd30b Update packages/sol-tracing-utils/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-14 13:50:45 +01:00
Leonid Logvinov
4b9648c7c9 Apply prettier 2019-01-14 13:13:45 +01:00
Leonid Logvinov
092a851bb3 Use custom JS tracer only if the node is geth 2019-01-14 12:53:14 +01:00
Leonid Logvinov
bd71f4a480 Add CHANGELOG entries 2019-01-14 12:46:37 +01:00
Leonid Logvinov
bf183af9a4 Merge development 2019-01-14 12:17:12 +01:00
Leonid Logvinov
2b8f0d887a Fix linter 2019-01-14 12:16:00 +01:00
Leonid Logvinov
2581bc93e5 Fix the bug with incorrect source maps parsing by changing contract data from an array to a mapping 2019-01-14 12:04:08 +01:00
Leonid Logvinov
8b62783f48 Add utils.isRangeEqual to sol-profiler 2019-01-14 11:50:05 +01:00
Leonid Logvinov
2345a3bdfe Add assembly statements to AST Visitor 2019-01-14 11:40:05 +01:00
Leonid Logvinov
ab5cd8f938 Use a custom JS tracer 2019-01-14 11:39:38 +01:00
Jacob Evans
b108b1119a Update prettier changelogs 2019-01-14 10:10:39 +11:00
Jacob Evans
b5420fde52 Update contract addresses 2019-01-14 10:09:12 +11:00
Jacob Evans
dc58c60841 Update hardcoded token addresses 2019-01-12 18:50:05 +11:00
Jacob Evans
043fb3f460 Group similar setup transactions 2019-01-12 18:50:05 +11:00
Jacob Evans
34cce04c43 Register ERC20/721 into MAP 2019-01-12 18:50:04 +11:00
Jacob Evans
6aae0c5b78 chore(python-packages): add MAP to python-packages 2019-01-12 18:50:04 +11:00
Jacob Evans
c15406173a chore(changelogs): Update changelogs with PR 2019-01-12 18:50:04 +11:00
Jacob Evans
e3b3f82c8c feature(migrations): Add MultiAssetProxy Migration 2019-01-12 18:49:16 +11:00
Jacob Evans
007a2d7deb Remove matchOrders optimization 2019-01-12 12:07:37 +11:00
Jacob Evans
5da40ab45e Prettier 2019-01-12 11:07:48 +11:00
Jacob Evans
54a1fd87db Update PR number 2019-01-12 10:27:48 +11:00
Francesco Agosti
797d7c7878 Merge pull request #1513 from 0xProject/fix/website/multiple-react-dom-versions-et-al
[website] Fix multiple react dom versions and layout issue
2019-01-11 15:23:51 -08:00
Jacob Evans
507c47c42c bug(exchange-wrapper): matchOrdersAsync input param mutation 2019-01-12 10:22:13 +11:00
fragosti
7fcdfe5de5 Revert "hack: force redux and redux-devtools to work for build"
This reverts commit 500d8fc86b.
2019-01-11 12:53:32 -08:00
fragosti
22b1c48c89 upgrade react in react-docs and react-shared, install dependencies in website that are mysteriously missing 2019-01-11 12:49:38 -08:00
fragosti
2197a531e3 Revert "fix: make version consisten for react, react-dom and styled-components'"
This reverts commit 89c5d657a7.
2019-01-11 12:22:13 -08:00
fragosti
4799b68972 feat: upgrade styled-components and remove ununsed basscss import 2019-01-11 12:00:02 -08:00
fragosti
500d8fc86b hack: force redux and redux-devtools to work for build 2019-01-11 11:57:26 -08:00
fragosti
89c5d657a7 fix: make version consisten for react, react-dom and styled-components' 2019-01-11 11:56:48 -08:00
fragosti
bc44774116 fix: use basscss from css file instead of module 2019-01-11 11:50:35 -08:00
Steve Klebanoff
8a8a5332d7 prettier changelog 2019-01-11 10:38:52 -08:00
Xianny
943c378309 Implement tslint enum-naming to enforce PascalCase on enum members (#1474) 2019-01-11 10:04:30 -08:00
Steve Klebanoff
8d3bbb8213 Disable promise-function-async for mocking async functions 2019-01-11 09:32:28 -08:00
Steve Klebanoff
a5e7ce9e1a Move calculateLiquidity to helper function 2019-01-11 09:28:51 -08:00
Steve Klebanoff
64a78149aa Update test for required amountAvailableToFill 2019-01-11 09:20:59 -08:00
Fabio Berger
cf3787edbb Publish
- 0x.js@3.0.1
 - @0x/abi-gen@1.0.21
 - @0x/abi-gen-wrappers@2.1.1
 - @0x/assert@1.0.22
 - @0x/asset-buyer@4.0.0
 - @0x/base-contract@3.0.12
 - @0x/connect@3.0.12
 - @0x/contract-wrappers@4.2.1
 - @0x/dev-tools-pages@0.0.12
 - @0x/dev-utils@1.0.23
 - ethereum-types@1.1.5
 - @0x/fill-scenarios@1.1.1
 - @0x/instant@1.0.6
 - @0x/json-schemas@2.1.6
 - @0x/metacoin@0.0.34
 - @0x/migrations@2.3.1
 - @0x/monorepo-scripts@1.0.17
 - @0x/order-utils@3.1.1
 - @0x/order-watcher@2.4.1
 - @0x/pipeline@1.0.4
 - @0x/react-docs@1.0.24
 - @0x/react-shared@1.1.1
 - @0x/sol-compiler@2.0.1
 - @0x/sol-coverage@1.0.1
 - @0x/sol-doc@1.0.13
 - @0x/sol-profiler@1.0.1
 - @0x/sol-resolver@1.2.2
 - @0x/sol-trace@1.0.1
 - @0x/sol-tracing-utils@3.0.0
 - @0x/sra-spec@1.0.15
 - @0x/subproviders@2.1.10
 - @0x/testnet-faucets@1.0.62
 - @0x/tslint-config@2.0.1
 - @0x/types@1.5.1
 - @0x/typescript-typings@3.0.7
 - @0x/utils@3.0.0
 - @0x/web3-wrapper@3.2.3
 - @0x/website@0.0.65
 - @0x/contracts-examples@1.0.4
 - @0x/contracts-extensions@1.2.1
 - @0x/contracts-interfaces@1.0.4
 - @0x/contracts-libs@1.0.4
 - @0x/contracts-multisig@1.0.4
 - @0x/contracts-protocol@2.2.1
 - @0x/contracts-test-utils@1.0.4
 - @0x/contracts-tokens@1.0.4
 - @0x/contracts-utils@1.0.4
2019-01-11 18:04:43 +01:00
Fabio Berger
89429c54a7 Updated CHANGELOGS 2019-01-11 18:04:33 +01:00
Steve Klebanoff
dbaed69d77 Add new version to CHANGELOG 2019-01-11 08:59:07 -08:00
Steve Klebanoff
faee751395 Merge branch 'development' into feature/instant/asset-buyer-check-liquidity 2019-01-11 08:53:15 -08:00
Steve Klebanoff
742e5e039d getLiquidityForAssetDataAsync helper method, and fix to assetBuyer to check for eth token in asset pairs 2019-01-11 08:14:57 -08:00
Fabio Berger
98579300c1 merge development 2019-01-11 17:14:12 +01:00
Fabio Berger
96ff5eef64 merge development 2019-01-11 17:12:55 +01:00
Fabio Berger
7f5a2c972b Add actual error message thrown 2019-01-11 16:55:37 +01:00
Fabio Berger
dad6404c7f Flag order-watcher as having a Docker image to publish 2019-01-11 16:52:28 +01:00
Fabio Berger
6dcf40f570 Add publish to DockerHub step to publish flow 2019-01-11 16:52:15 +01:00
Fabio Berger
43b0422804 Flesh out postpublish configs in packageJSON type 2019-01-11 16:51:54 +01:00
Fabio Berger
55ce0d9d17 Add pre-publish check to ensure publisher is logged in to docker cmdline 2019-01-11 16:50:41 +01:00
Fabio Berger
895460aea3 Update yarn.lock 2019-01-11 14:29:09 +01:00
Fabio Berger
7956127b29 Ensure the process exits 2019-01-11 14:29:02 +01:00
Fabio Berger
6fb2721294 Fix copy and links 2019-01-11 14:20:56 +01:00
Fabio Berger
ebb10e6604 Remove unused import 2019-01-11 14:15:24 +01:00
Fabio Berger
db878f4a7b Fix title and og tags for sol-coverage 2019-01-11 14:15:15 +01:00
Leonid Logvinov
bb992458a3 Revert CHANGELOG changes 2019-01-11 11:29:39 +01:00
Leonid Logvinov
66add14ca5 Remove generated wrappers 2019-01-11 11:28:44 +01:00
Leonid Logvinov
0b38513c3f Remove generated artifacts 2019-01-11 11:28:08 +01:00
Remco Bloemen
d9ac5b611a Generate blocks at interval for truffle 2019-01-11 11:26:38 +01:00
Remco Bloemen
e1b99b5e2f Use tracer for debug traces 2019-01-11 11:26:38 +01:00
Remco Bloemen
7af0818dff Capture errors in next callbacks 2019-01-11 11:26:38 +01:00
Remco Bloemen
296b3d6311 Throw error when source location is missing 2019-01-11 11:26:38 +01:00
Remco Bloemen
4d03c3035c Fix typo 2019-01-11 11:26:38 +01:00
Remco Bloemen
27c4d2522b Add tracer params type 2019-01-11 11:26:37 +01:00
Fabio Berger
4dbd3ea902 Re-add changelog for 0x.js 2019-01-11 11:26:37 +01:00
Fabio B
2cf57a48dd Merge pull request #1500 from 0xProject/update-prettier-version
Update prettier to version ^1.15.3
2019-01-11 11:18:18 +01:00
Alex Browne
a091b2c19d Rebase and re-apply prettier 2019-01-10 17:44:35 -08:00
Alex Browne
89e398fa39 Update prettier to version ^1.15.3 2019-01-10 17:41:13 -08:00
Steve Klebanoff
1192314510 Add helper functions and expose to umd object 2019-01-10 16:13:16 -08:00
Fabio Berger
583e690b7a Merge branch 'development' into fix/dev-tools-pages/finalTouches
* development: (49 commits)
  upgrade to ddex api v3 (#1507)
  Add new deployment related instructions to pipeline README (#1499)
  feature: implement logging and friendly wallet name for Opera
  Fix prettier
  Add missing dependencies
  Remove second yarn call
  Add .gitkeep
  Rename sol-trace-based-tools-common to sol-tracing-utils
  Update packages/sol-trace/README.md
  Update packages/sol-trace/CHANGELOG.json
  Update packages/sol-trace-based-tools-common/src/source_maps.ts
  Update packages/sol-trace-based-tools-common/CHANGELOG.json
  Update packages/sol-profiler/CHANGELOG.json
  Update packages/sol-coverage/CHANGELOG.json
  Update packages/monorepo-scripts/src/test_installation.ts
  chore: changelog update
  fix: account for undefined errors in promisify, not only null
  Clean up docs before publish
  In README's, don't mention non-existent tests (#1497)
  fix: use getBackendBaseUrl instead of hardcoded string
  ...
2019-01-11 00:47:57 +01:00
Fabio Berger
a516b00a03 Fix footer links 2019-01-11 00:45:26 +01:00
Steve Klebanoff
841ad8757c Add LiquidityRequestOpts type 2019-01-10 15:40:55 -08:00
Steve Klebanoff
127bd4bf9d Getting rid of unused params and adding documentation 2019-01-10 15:38:41 -08:00
Justin Barry
a8c3b4126e Output Chrome 41 compatible version of 0x instant
This is important for SEO as Googlebot is still using Chrome 41 to crawl
thick clients.
2019-01-10 14:25:50 -08:00
Steve Klebanoff
2360b8282f rename tokensAvailableInUnitAmount to tokensAvailableInBaseUnits and use test helpers 2019-01-10 14:00:16 -08:00
Steve Klebanoff
0dade8624c Adding more test coverage 2019-01-10 13:51:02 -08:00
Steve Klebanoff
a9fad77eb4 Implement liquidity checking w/ testing 2019-01-10 13:41:28 -08:00
Xianny
a5b7a35160 upgrade to ddex api v3 (#1507) 2019-01-10 13:07:52 -08:00
Alex Browne
53fc860d61 Add new deployment related instructions to pipeline README (#1499)
* Add new deployment related instructions to pipeline README

* Apply prettier

* Respond to PR feedback
2019-01-10 13:04:34 -08:00
Fabio Berger
dc20429bca Add deployment commands for the Dev tools pages 2019-01-10 20:14:51 +01:00
Francesco Agosti
749312c0e8 Merge pull request #1506 from 0xProject/feature/instant/opera-followups
[instant] Implement logging and friendly wallet name for Opera
2019-01-10 10:48:06 -08:00
fragosti
ffd14ab2f2 feature: implement logging and friendly wallet name for Opera 2019-01-10 09:47:46 -08:00
Francesco Agosti
bf332d578c Merge pull request #1501 from 0xProject/fix/utils/promisify-not-accounting-for-undefined-error
[utils] account for undefined errors in promisify, not only null (and fix instant in Opera)
2019-01-10 09:33:22 -08:00
Leonid Logvinov
6c22594882 Merge pull request #1492 from 0xProject/feature/sol-cov-sol-profiler-sol-trace-divorce
Refactor out sol-cov, sol-profiler and sol-trace into their separate packages
2019-01-10 14:35:13 +01:00
Leonid Logvinov
b8e3829fdb Fix prettier 2019-01-10 14:05:29 +01:00
Leonid Logvinov
c317a69e7e Add missing dependencies 2019-01-10 13:33:56 +01:00
Leonid Logvinov
4c60d59123 Remove second yarn call 2019-01-10 11:57:18 +01:00
Leonid Logvinov
cee2954245 Merge development 2019-01-10 11:56:15 +01:00
Leonid Logvinov
a8d9263062 Add .gitkeep 2019-01-10 11:42:50 +01:00
Leonid Logvinov
7ae9e79235 Rename sol-trace-based-tools-common to sol-tracing-utils 2019-01-10 11:21:05 +01:00
Fabio B
15c9479ebe Update packages/sol-trace/README.md
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:15:34 +01:00
Fabio B
03dea585b4 Update packages/sol-trace/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:15:26 +01:00
Fabio B
d7df402c42 Update packages/sol-trace-based-tools-common/src/source_maps.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:15:19 +01:00
Fabio B
052ed21e9c Update packages/sol-trace-based-tools-common/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:12:08 +01:00
Fabio B
36504646f9 Update packages/sol-profiler/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:11:52 +01:00
Fabio B
60cdbbccae Update packages/sol-coverage/CHANGELOG.json
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:11:43 +01:00
Fabio B
420333e3c3 Update packages/monorepo-scripts/src/test_installation.ts
Co-Authored-By: LogvinovLeon <logvinov.leon@gmail.com>
2019-01-10 11:11:23 +01:00
fragosti
b639843115 chore: changelog update 2019-01-09 18:31:23 -08:00
fragosti
7a114a6ef1 fix: account for undefined errors in promisify, not only null 2019-01-09 18:26:18 -08:00
Steve Klebanoff
686f27a96f Merge pull request #1482 from 0xProject/feature/monorepo/release-notes
[monorepo-scripts] Automatically alert new release to Discord
2019-01-09 16:49:12 -08:00
Steve Klebanoff
6487fae113 Merge pull request #1437 from 0xProject/feature/instant/tell-amount-available
[instant] Tell user how much of an asset is available
2019-01-09 16:29:11 -08:00
Francesco Agosti
87c287a5e2 Merge pull request #1489 from 0xProject/fix/website/0x-org-endpoints
[website] Audit and fix 0x.org migration URLs
2019-01-09 12:03:28 -08:00
F. Eugene Aumson
e39ef60775 Clean up docs before publish 2019-01-09 12:12:20 -05:00
Steve Klebanoff
fb3605026e Merge branch 'development' into feature/instant/tell-amount-available 2019-01-09 08:54:55 -08:00
Fabio Berger
241be6de30 Rename sol-cov to sol-coverage, fix links 2019-01-09 17:30:34 +01:00
Fabio Berger
589b535b91 Add docLink 2019-01-09 17:30:01 +01:00
Fabio Berger
eb6b07e804 Update yarn.lock 2019-01-09 17:29:13 +01:00
F. Eugene Aumson
5b8c9122a2 In README's, don't mention non-existent tests (#1497) 2019-01-09 11:02:58 -05:00
Fabio B
08d0ff48c3 Merge pull request #1249 from bakkenbaeck/dev-tools-pages
Dev tools pages
2019-01-09 16:22:59 +01:00
F. Eugene Aumson
aa5af04447 Python contract demo, with lots of refactoring (#1485)
* Refine Order for Web3 compat. & add conversions

Changed some of the fields in the Order class so that it can be passed
to our contracts via Web3.

Added conversion utilities so that an Order can be easily converted to
and from a JSON-compatible dict (specifically by encoding/decoding the
`bytes` fields), to facilitate validation against the JSON schema.

Also modified JSON order schema to accept integers in addition to
stringified integers.

* Fixes for json_schemas

Has-types indicator file, py.typed, was not being included in package.

Schemas were not being properly gathered into package installation.

* Add test/demo of Exchange.getOrderInfo()

* web3 bug workaround

* Fix problem packaging contract artifacts

* Move contract addresses to their own package

* Move contract artifacts to their own package

* Add scripts to install, test & lint all components

* prettierignore files in local python dev env

* Correct missing coverage analysis for sra_client

* CI cache lint: don't save, re-use from test-python

* tag hacks as hacks

* correct merge mistake

* remove local strip_0x() in favor of eth_utils

* remove json schemas from old order_utils location

* correct merge mistake

* doctest json schemas via command-line, not code
2019-01-09 09:58:29 -05:00
Leonid Logvinov
39786c3ad5 Merge development 2019-01-09 15:19:59 +01:00
Fabio Berger
5b7eff217e Publish
- 0x.js@3.0.0
 - @0x/abi-gen@1.0.20
 - @0x/abi-gen-wrappers@2.1.0
 - @0x/assert@1.0.21
 - @0x/asset-buyer@3.0.5
 - @0x/base-contract@3.0.11
 - @0x/connect@3.0.11
 - @0x/contract-addresses@2.1.0
 - @0x/contract-artifacts@1.2.0
 - @0x/contract-wrappers@4.2.0
 - @0x/dev-tools-pages@0.0.11
 - @0x/dev-utils@1.0.22
 - @0x/fill-scenarios@1.1.0
 - @0x/instant@1.0.5
 - @0x/json-schemas@2.1.5
 - @0x/metacoin@0.0.33
 - @0x/migrations@2.3.0
 - @0x/monorepo-scripts@1.0.16
 - @0x/order-utils@3.1.0
 - @0x/order-watcher@2.4.0
 - @0x/pipeline@1.0.3
 - @0x/react-docs@1.0.23
 - @0x/react-shared@1.1.0
 - @0x/sol-compiler@2.0.0
 - @0x/sol-cov@2.1.17
 - @0x/sol-doc@1.0.12
 - @0x/sol-resolver@1.2.1
 - @0x/sra-spec@1.0.14
 - @0x/subproviders@2.1.9
 - @0x/testnet-faucets@1.0.61
 - @0x/types@1.5.0
 - @0x/utils@2.1.1
 - @0x/web3-wrapper@3.2.2
 - @0x/website@0.0.64
 - @0x/contracts-examples@1.0.3
 - @0x/contracts-extensions@1.2.0
 - @0x/contracts-interfaces@1.0.3
 - @0x/contracts-libs@1.0.3
 - @0x/contracts-multisig@1.0.3
 - @0x/contracts-protocol@2.2.0
 - @0x/contracts-test-utils@1.0.3
 - @0x/contracts-tokens@1.0.3
 - @0x/contracts-utils@1.0.3
2019-01-09 14:44:17 +01:00
Fabio Berger
0a6ead90d9 Updated CHANGELOGS 2019-01-09 14:44:03 +01:00
Leonid Logvinov
7f2727236d Pin @types/styled-components versions 2019-01-09 14:39:19 +01:00
Leonid Logvinov
d6644ed035 Add yarn.lock changes 2019-01-09 13:45:34 +01:00
Leonid Logvinov
a2eede2ec9 Remove accidentally commited files 2019-01-09 13:45:23 +01:00
Leonid Logvinov
2fa4ed1fb7 Merge pull request #1496 from 0xProject/feature/solc-5.0
Solc 5.0 support in sol-compiler
2019-01-09 13:22:20 +01:00
Leonid Logvinov
3733a29ee2 Add CHENGELOG entrie 2019-01-09 12:46:51 +01:00
Leonid Logvinov
62b5eef4a0 Update sol-compiler binPaths to include the newest solidity 2019-01-09 12:36:05 +01:00
Leonid Logvinov
377d6367e0 Update solc used by sol-compiler 2019-01-09 12:35:35 +01:00
Leonid Logvinov
a3b364dbdf Remove contracts dependency on solc 2019-01-09 12:34:45 +01:00
Leonid Logvinov
ea14913b41 Merge development 2019-01-09 12:02:25 +01:00
Fabio B
5dd55491b8 Merge pull request #1494 from 0xProject/feature/order-watcher/dockerize
Dockerize OrderWatcher WS Server
2019-01-09 11:27:22 +01:00
Fabio Berger
28aa12691e rename method 2019-01-09 11:06:15 +01:00
Leonid Logvinov
5868c91cfb Fix static tests 2019-01-09 10:54:32 +01:00
Leonid Logvinov
fd034cc1e4 Remove redundant semicolons 2019-01-09 10:21:58 +01:00
Jacob Evans
c1bf2754a8 Merge pull request #1439 from 0xProject/migrations/docker-image
Add Docker image and Snapshot commands for migrations
2019-01-09 12:55:42 +11:00
Chris Kalani
c388e6d2b8 Update README.md 2019-01-08 17:15:20 -08:00
Chris Kalani
622fa951ca Update README.md
Fixing logo
2019-01-08 17:13:04 -08:00
fragosti
d00dd07435 fix: use getBackendBaseUrl instead of hardcoded string 2019-01-08 16:45:35 -08:00
Xianny
27fc640a9e fetch and save copper (#1472)
Fetch and save Copper CRM
2019-01-08 13:50:51 -08:00
F. Eugene Aumson
4689f20b86 Move json_schemas to its own package (#1435)
* Move zero_ex.json_schemas to its own package

* Support ALL the schemas

* Stop installing packages as editable

* HACK: cp files because CircleCI isn't

* Add example usage to sra_client README

* Tweak special case: only strip Schema as suffix

* Correct doc titles

* Clarify what kind of support ticket was raised.

* Correct inconsistencies in JSON schema names

In both ref ID's and file names.

* Add entry point for validation of JSON strings
2019-01-08 14:28:32 -05:00
Fabio Berger
de927d7207 Merge branch 'development' of github.com:0xProject/0x-monorepo into development
* 'development' of github.com:0xProject/0x-monorepo:
  Remove beta note from asset-buyer
2019-01-08 20:16:48 +01:00
Fabio Berger
93121892d6 Fix typo 2019-01-08 20:16:34 +01:00
fragosti
16fc2c3776 fix: use new forum URL 2019-01-08 10:34:40 -08:00
Francesco Agosti
c3a7cbc57d Merge pull request #1493 from 0xProject/fix/asset-buyer/no-longer-beta
[asset-buyer] Remove beta note from asset-buyer
2019-01-08 18:33:53 +00:00
Fabio Berger
0cfeea7c8c Remove stray console 2019-01-08 17:15:05 +01:00
Leonid Logvinov
82f29c395a Fix the circleci image 2019-01-08 17:14:06 +01:00
Fabio Berger
e2df4b355b Add assertions to catch trying to add undefined schemas 2019-01-08 17:07:10 +01:00
Leonid Logvinov
03248244ff Bump up the chunk size 2019-01-08 17:03:42 +01:00
Steve Klebanoff
74ed0f4134 Remove beta note from asset-buyer 2019-01-08 08:02:33 -08:00
Leonid Logvinov
f05d2906e8 Split installation tests in chunks of 10 to not run out of memory 2019-01-08 16:00:05 +01:00
Fabio Berger
5e39eae84e Fixx request payload and expected responses 2019-01-08 15:37:50 +01:00
Fabio Berger
0ea8669552 Fixx OrderWatcher WS tests so they are completely independent from one another 2019-01-08 15:37:14 +01:00
Leonid Logvinov
2c974b5f3f Refactor out sol-cov, sol-profiler and sol-trace into their separate packages 2019-01-08 14:48:06 +01:00
Fabio Berger
1631031fa7 Merge branch 'development' into feature/order-watcher/dockerize
* development: (898 commits)
  Fixed merge conflict from development
  Ran prettier
  Doc generation working for changes by dutch auction wrapper
  added changelog entry for monorepo-scripts
  Hide dutch auction wrapper from docs -- hopefully this will prevent the "must export Web3Wrapper" error from doc generation
  relaxed version on contract-extension dependencies
  Added NetworkID 50 address for dutch auction wrapper
  removed manual updte of package.json version
  export dutch auction wrapper types from 0x.js
  Export dutch auction wrapper in 0x.js
  ran prettier
  Minor documentation updates to dutch auction wrapper
  `afterAuctionDetails` -> `auctionDetails`
  Added @todo for including dutch auction addresses once deployed
  Ran prettier & linter
  Removed redundant assignment
  removed needless newline on contract-wrappers changelog
  removed timestamp from changelog for abi-gen-wrappers
  added dutch auction address for testnets
  removed .only
  ...
2019-01-08 14:30:38 +01:00
Fabio Berger
0bcb81d3a9 Create server entry point and Dockerfile for OrderWatcher 2019-01-08 14:29:45 +01:00
fragosti
f412c36e23 fix: use old forum URL for now 2019-01-07 17:36:14 -08:00
fragosti
eae255b0ff chore: point to 0x.org website-api 2019-01-07 17:19:36 -08:00
fragosti
1f0f2076a9 fix: CORS issue by accessing 0x geth nodes through 0x.org endpoint 2019-01-07 17:09:36 -08:00
Greg Hysen
0ac36cef28 Merge pull request #1465 from 0xProject/feature/contracts/dutchAuctionWrapper
Dutch Auction Wrapper
2019-01-07 17:16:06 -07:00
Greg Hysen
04db7f0fae Fixed merge conflict from development 2019-01-07 15:50:48 -08:00
Greg Hysen
e39ae0350b Ran prettier 2019-01-07 15:50:48 -08:00
Greg Hysen
d0a0673694 Doc generation working for changes by dutch auction wrapper 2019-01-07 15:50:48 -08:00
Greg Hysen
3c62815fe3 added changelog entry for monorepo-scripts 2019-01-07 15:50:48 -08:00
Greg Hysen
37b6858869 Hide dutch auction wrapper from docs -- hopefully this will prevent the "must export Web3Wrapper" error from doc generation 2019-01-07 15:50:48 -08:00
Greg Hysen
641685a41e relaxed version on contract-extension dependencies 2019-01-07 15:50:48 -08:00
Greg Hysen
7ad23ef6dc Added NetworkID 50 address for dutch auction wrapper 2019-01-07 15:50:48 -08:00
Greg Hysen
5f2a7cb78f removed manual updte of package.json version 2019-01-07 15:50:48 -08:00
Greg Hysen
edb989fbf3 export dutch auction wrapper types from 0x.js 2019-01-07 15:50:48 -08:00
Greg Hysen
ff0093460d Export dutch auction wrapper in 0x.js 2019-01-07 15:50:48 -08:00
Greg Hysen
a00e416a19 ran prettier 2019-01-07 15:50:48 -08:00
Greg Hysen
77a2ca1ddc Minor documentation updates to dutch auction wrapper 2019-01-07 15:50:48 -08:00
Greg Hysen
61a3368826 afterAuctionDetails -> auctionDetails 2019-01-07 15:50:48 -08:00
Greg Hysen
55e3774480 Added @todo for including dutch auction addresses once deployed 2019-01-07 15:50:48 -08:00
Greg Hysen
c6ab380685 Ran prettier & linter 2019-01-07 15:50:48 -08:00
Greg Hysen
d6467d707f Removed redundant assignment 2019-01-07 15:50:48 -08:00
Greg Hysen
0893614859 removed needless newline on contract-wrappers changelog 2019-01-07 15:50:48 -08:00
Greg Hysen
dc940d692f removed timestamp from changelog for abi-gen-wrappers 2019-01-07 15:50:48 -08:00
Greg Hysen
e83a108c52 added dutch auction address for testnets 2019-01-07 15:50:48 -08:00
Greg Hysen
bbd4828340 removed .only 2019-01-07 15:50:48 -08:00
Greg Hysen
6de3a33f36 updated relevant changelogs 2019-01-07 15:50:48 -08:00
Greg Hysen
06139cbfe5 Added dutch auction utils to contract-wrappers 2019-01-07 15:50:48 -08:00
Greg Hysen
cb1bfa0f97 ran prettier + added changelog entry for contract wrappers 2019-01-07 15:50:48 -08:00
Greg Hysen
b249a50d8f ran prettier 2019-01-07 15:50:48 -08:00
Greg Hysen
0432212a34 dutch wrapper tests working 2019-01-07 15:50:48 -08:00
Greg Hysen
7203ca90cf all dutchie wrapper tests passing 2019-01-07 15:50:48 -08:00
Greg Hysen
5da748a062 Progress on dutch auction wrapper. Need to add auction data decoding to it. 2019-01-07 15:50:48 -08:00
Greg Hysen
09afee55ed Removed unnecessary fields from dutch auction artifacts 2019-01-07 15:50:48 -08:00
Greg Hysen
43b648e7dc Dutch wrapper 2019-01-07 15:50:48 -08:00
Greg Hysen
89fcbec43b changed name for confusion 2019-01-07 15:50:48 -08:00
Greg Hysen
c850046ea0 Dutch Auction Contract Wrapper 2019-01-07 15:50:48 -08:00
Alex Browne
7dda953bc9 Optimize SQL queries in pull_missing_blocks (#1458)
* Optimize SQL queries in pull_missing_blocks

* Update comment in pull_missing_blocks
2019-01-07 15:04:00 -08:00
Brandon Millman
b8f3fa9c8c chore(website): update copy on market making page 2019-01-07 13:21:42 -08:00
Brandon Millman
42e04012df fix(website): fix some copy on the market maker page 2019-01-07 13:03:45 -08:00
Brandon Millman
17f0878707 Merge pull request #1487 from 0xProject/feature/website/market-maker-page
[website] Add market making grant program page
2019-01-07 12:41:10 -08:00
Brandon Millman
e4bb6a4652 chore(website): fix linter 2019-01-07 12:19:21 -08:00
Amir Bandeali
3cdb85606a Merge pull request #1363 from 0xProject/feat/order-utils/abiEncoder
Add MAP support to order-utils, order-watcher, and types
2019-01-07 11:30:00 -08:00
Amir Bandeali
fd37e88bdb Use enums in pipeline 2019-01-07 11:11:19 -08:00
Amir Bandeali
24564b986d Minimize unnecessary type assertions 2019-01-07 10:31:11 -08:00
Amir Bandeali
a91bc415ed Fix linting errors 2019-01-07 10:31:11 -08:00
Amir Bandeali
ccdb81ac40 Add tests for MAP in order watcher 2019-01-07 10:31:11 -08:00
Amir Bandeali
d7f9e3f0a0 Do not export AssetData in 0x.js 2019-01-07 10:31:11 -08:00
Amir Bandeali
5720589515 Add tests for recursive MAP decoding 2019-01-07 10:31:11 -08:00
Amir Bandeali
70508f52a1 Update CHANGELOGs 2019-01-07 10:31:11 -08:00
Amir Bandeali
b90c3196a3 FIx linting errors 2019-01-07 10:31:11 -08:00
Amir Bandeali
1dda10b4f3 Add recursive MultiAsset decoding, store first address in pipeline 2019-01-07 10:31:11 -08:00
Amir Bandeali
0fba0b1a1b feat: Add balance and allowance checks for MultiAssetProxy 2019-01-07 10:31:11 -08:00
Amir Bandeali
df4f3d9eac feat: Add fields to OrderRelevantState and change AssetData to SingleAssetData 2019-01-07 10:31:11 -08:00
Amir Bandeali
de4916ccb8 Add individual balances and allowances to OrderRelevantState 2019-01-07 10:31:11 -08:00
Amir Bandeali
b797a45d4a Do not attempt to parse tokenAddress if decoding data from multiAssetProxy 2019-01-07 10:31:11 -08:00
Amir Bandeali
eeb07d76fc Fix transferFrom to work with MAP 2019-01-07 10:31:11 -08:00
Amir Bandeali
0abace337c Rename functions 2019-01-07 10:31:11 -08:00
Amir Bandeali
c6ff77bdd8 Add prefix to names of properties in EncodingRules and DecodingRules 2019-01-07 10:31:11 -08:00
Amir Bandeali
492e0ae345 feat: Export MultiAssetData in types 2019-01-07 10:31:11 -08:00
Amir Bandeali
8549252a2c Fix decoding and add tests 2019-01-07 10:31:11 -08:00
Amir Bandeali
aae32037da Run linter 2019-01-07 10:31:11 -08:00
Amir Bandeali
46359c098b Add support for MAP in fill-scenarios 2019-01-07 10:31:11 -08:00
Amir Bandeali
fc71d87d2b Update CHANGELOG 2019-01-07 10:31:11 -08:00
Amir Bandeali
67dfe6030c feat: Add support for MultiAssetProxy 2019-01-07 10:31:11 -08:00
Amir Bandeali
19e93440b3 fix: Add error message if assetProxyId is not ERC20 or ERC721 2019-01-07 10:31:11 -08:00
Amir Bandeali
0cb5209266 Add length check to MultiAsset encoding 2019-01-07 10:31:11 -08:00
Amir Bandeali
1553b366da Update CHANGELOGs 2019-01-07 10:31:11 -08:00
Amir Bandeali
d957cd5344 Use assetDataUtils instead of IAssetData for encoding MultiAsset values 2019-01-07 10:31:11 -08:00
Amir Bandeali
354f7053dc Use new AbiEncoder, add logic for encoding/decoding MultiAsset assetData 2019-01-07 10:31:11 -08:00
Amir Bandeali
4d5fcf8985 feat: Add MultiAsset types 2019-01-07 10:31:11 -08:00
Steve Klebanoff
80f1fe1373 Merge branch 'feature/monorepo/release-notes' of github.com:0xProject/0x-monorepo into feature/monorepo/release-notes 2019-01-07 09:45:21 -08:00
Steve Klebanoff
571bc736e5 Make error message less scary 2019-01-07 09:45:04 -08:00
Fabio B
99016cc5a6 Use explicit undefined check
Co-Authored-By: steveklebanoff <steve@0xproject.com>
2019-01-07 09:43:35 -08:00
Steve Klebanoff
71c9b2f718 Merge pull request #1484 from 0xProject/fix/sra-spec/title-tag
[sra-spec] Add title tag
2019-01-07 09:40:39 -08:00
Brandon Millman
79863d830e chore(website): update market making page copy 2019-01-06 21:40:39 -08:00
Brandon Millman
59ec243c26 feat(website): add contact us hero action to market maker page 2019-01-06 21:40:14 -08:00
Brandon Millman
5e8da70eae feat(website): implement market maker form 2019-01-06 20:45:46 -08:00
Brandon Millman
99b6ca5b4f feat(website): Add support for copper forms in the offers 2019-01-04 10:00:41 -08:00
Brandon Millman
4e4de07e69 feat(website): add link underneath the first feature in market maker page 2019-01-04 09:44:25 -08:00
Brandon Millman
1b65efb38c feat(website): update market maker page copy and links 2019-01-04 09:24:59 -08:00
Brandon Millman
ed0e6181bd feat(website): add market making section to developers dropdown 2019-01-04 09:09:34 -08:00
Steve Klebanoff
f1a7efc97e Return void and throw error instead of logging and returning boolean 2019-01-04 09:01:13 -08:00
Steve Klebanoff
76dde294f1 Add PR number 2019-01-04 07:54:01 -08:00
Steve Klebanoff
4dded13259 fix(sra-spec): Add title tag 2019-01-04 07:47:41 -08:00
Brandon Millman
c82393d763 feature(website): add market making page 2019-01-03 16:18:33 -08:00
Steve Klebanoff
2111ea159e Merge pull request #1481 from 0xProject/fix/instant/dropdown-color
[instant] Dropdown hover 10% of primary color
2019-01-03 09:07:57 -08:00
Francesco Agosti
c1150824dc Merge pull request #1480 from 0xProject/feature/instant/performance-boost
[instant] No more laggy input
2019-01-03 13:36:18 +01:00
Steve Klebanoff
edb3a61387 Merge branch 'development' into feature/instant/tell-amount-available 2019-01-02 16:56:49 -08:00
Steve Klebanoff
89f67b9bec take out no-longer necessary test 2019-01-02 16:56:28 -08:00
Steve Klebanoff
c62d862967 fix(instant): Dropdown hover should be 10% of primary color 2019-01-02 10:58:41 -08:00
fragosti
1ceb3c9664 feat: unmount the token selector when its not displaying 2019-01-02 19:07:02 +01:00
fragosti
4252a760f0 feat: dont re-render the token selector on every input change 2019-01-02 16:55:29 +01:00
fragosti
5721b25c3a feat: give all stateless components a displayName or make them private 2019-01-02 16:08:15 +01:00
fragosti
586a8ba8e7 feat: use PureComponent instead of Component 2019-01-02 16:01:40 +01:00
Jacob Evans
72a56db5ab chore(python-packages): Change docker command in setup.py 2019-01-02 15:03:09 +11:00
Jacob Evans
646e856b51 Python ganache snapshot 2.2.2 2018-12-29 10:20:42 +11:00
F. Eugene Aumson
e62e61bf71 Add entry point for validation of JSON strings 2018-12-28 15:28:30 -05:00
F. Eugene Aumson
a3eab71908 Correct inconsistencies in JSON schema names
In both ref ID's and file names.
2018-12-28 15:08:15 -05:00
Jacob Evans
9d5d0dbe14 Readme, read snapshot name from package.json 2018-12-27 12:45:29 +11:00
Jacob Evans
2b7875571d Dockerfile defaults to latest 2018-12-24 13:22:39 +11:00
Jacob Evans
0a1701eac9 Copy latest published version to 0x_ganache_snapshot-latest.zip 2018-12-24 13:20:50 +11:00
Jacob Evans
bcd20081d3 Use new bucket, bind on 0.0.0.0 2018-12-24 13:14:16 +11:00
Steve Klebanoff
f17fe381bf Merge branch 'development' into feature/instant/tell-amount-available 2018-12-21 16:30:00 -08:00
Steve Klebanoff
26977f6408 Fix var name and use floor instead of .round(0, ROUND_DOWN) 2018-12-21 16:29:53 -08:00
Steve Klebanoff
c8c8219c05 Make amountAvailableToFill required 2018-12-21 16:26:07 -08:00
Steve Klebanoff
e144ebbb93 Merge branch 'development' into feature/instant/tell-amount-available 2018-12-21 14:57:16 -08:00
F. Eugene Aumson
7e12ae1bfc Clarify what kind of support ticket was raised. 2018-12-20 17:34:14 -05:00
Jacob Evans
2a577e0475 Add Docker image and Snapshot commands 2018-12-17 15:44:24 +11:00
Steve Klebanoff
aa9aa1f58a more documentation 2018-12-14 17:05:52 -08:00
F. Eugene Aumson
c6815bddac Correct doc titles 2018-12-14 16:22:58 -08:00
Steve Klebanoff
2e2e157fc8 Fix for asset-buyer documentation 2018-12-14 16:20:45 -08:00
F. Eugene Aumson
6639201fdb Tweak special case: only strip Schema as suffix 2018-12-14 16:11:00 -08:00
F. Eugene Aumson
57ac2f28a4 Add example usage to sra_client README 2018-12-14 16:08:57 -08:00
Steve Klebanoff
219902a169 rename boolean var 2018-12-14 15:55:52 -08:00
Steve Klebanoff
ab10119c5a one more test for undefined 2018-12-14 15:34:45 -08:00
Steve Klebanoff
5981823ac1 Update asset-buyer changelog describing error change 2018-12-14 15:34:45 -08:00
Steve Klebanoff
69054d85e8 Only send in amountAvailableToFill if it's a non-zero amount, add additional tests and nest, and put error into its own file 2018-12-14 15:34:45 -08:00
Steve Klebanoff
3e596f6a8c Nesting errors 2018-12-14 15:34:45 -08:00
Steve Klebanoff
c3884dfa32 More tests for assetBuyerErrorMessage 2018-12-14 15:34:45 -08:00
Steve Klebanoff
a3d93d17cd Factor in slippage amount in InsufficientAssetLiquidityError error, and show in instant 2018-12-14 15:34:45 -08:00
Steve Klebanoff
c6c45095a8 feat(asset-buyer): Custom InsufficientAssetLiquidityError error
BREAKING CHANGE: A custom InsufficientAssetLiquidityError error is now raised when there is insufficient liquidity
2018-12-14 15:34:45 -08:00
F. Eugene Aumson
210840444d HACK: cp files because CircleCI isn't 2018-12-14 13:53:21 -08:00
F. Eugene Aumson
d92e143a7e Stop installing packages as editable 2018-12-14 13:53:21 -08:00
F. Eugene Aumson
087469f1f3 Support ALL the schemas 2018-12-14 13:53:21 -08:00
F. Eugene Aumson
b6c8126589 Move zero_ex.json_schemas to its own package 2018-12-14 13:53:15 -08:00
August Skare
21d9783ef8 fix puppeteer options for react-snap 2018-11-21 14:09:47 +01:00
August Skare
89ce87f9f1 fix casing for entries in webpack 2018-11-21 12:36:58 +01:00
August Skare
592e1a3e6f Merge branch 'development' into dev-tools-pages 2018-11-21 08:19:29 +01:00
August Skare
99176c2d54 comment for commented BundleAnalyzerPlugin webpack plugin 2018-11-20 15:41:39 +01:00
August Skare
ad0083dfa0 fix type for svg icon in footer 2018-11-20 15:30:49 +01:00
August Skare
6919409c2b typedef for context data 2018-11-20 15:28:18 +01:00
August Skare
f360b2edd6 fix import order 2018-11-20 15:27:56 +01:00
August Skare
339ec3e8eb uniq export names for animations 2018-11-20 15:18:09 +01:00
August Skare
b0c22a222e use lodash.map insted of array.map 2018-11-20 15:15:17 +01:00
August Skare
ea18050589 use lodash isUndefined function 2018-11-20 15:10:59 +01:00
August Skare
117726c6d8 fix imports after renaming 2018-11-19 17:35:22 +01:00
August Skare
31d07fdac8 rename all files and directories to lowercase 2018-11-19 17:27:00 +01:00
August Skare
881655bb57 separate component for inlinecode component 2018-11-19 15:18:07 +01:00
August Skare
38949f7ea4 added missing ; 2018-11-19 15:14:01 +01:00
August Skare
8d3e6f77b7 cleand up code component 2018-11-19 15:13:52 +01:00
August Skare
5865d1f62c strict check for children in contentblock 2018-11-19 14:56:40 +01:00
August Skare
e2607980eb type function call for Container in Animation class 2018-11-19 09:57:18 +01:00
August Skare
f519f5744e remove new-lines between methods in classes 2018-11-19 09:55:03 +01:00
August Skare
fa24ec1a04 clean up tabs component 2018-11-19 09:50:19 +01:00
August Skare
6e1014a647 remove unnecessary children in Interface 2018-11-19 09:47:34 +01:00
August Skare
0b46f44ad3 fix typings for components in header 2018-11-19 09:32:53 +01:00
August Skare
b811b51af9 use styled-components theme in logo insted of color prop 2018-11-19 09:15:50 +01:00
August Skare
b88e2c5483 removed unused prop def from footer component 2018-11-19 09:07:05 +01:00
August Skare
cd333e0977 rename copied to didCopy in Code state 2018-11-19 09:05:22 +01:00
August Skare
62706d83c4 remove constructor from Code component 2018-11-19 09:04:00 +01:00
August Skare
284252e7a4 less verbose tslint disable rule 2018-11-19 08:56:59 +01:00
August Skare
3ad857be6c fix timeout type in animation component 2018-11-19 08:53:25 +01:00
August Skare
7fec2f630c fixed base link styling color 2018-11-16 16:18:03 +01:00
August Skare
c081081448 Merge branch 'development' into dev-tools-pages 2018-11-16 11:28:24 +01:00
August Skare
54bd7df900 fix linting + code syntax for statless components 2018-11-16 11:05:30 +01:00
August Skare
5afef5fe82 update styled-component and styled-component typings 2018-11-16 11:04:55 +01:00
August Skare
0c222f9890 Merge branch 'development' into dev-tools-pages 2018-11-13 10:14:04 +01:00
August Skare
e43988aa44 Merge branch 'development' into dev-tools-pages 2018-11-13 09:52:41 +01:00
August Skare
ee91f56bbe remove unused dependecies 2018-11-12 08:24:21 +01:00
August Skare
52b49fee24 better positioning of hero animation 2018-11-07 13:08:08 +01:00
August Skare
31f096248d lower deboune on animation resize 2018-11-07 13:01:53 +01:00
August Skare
d91c41b29c fix alignment on list bullest 2018-11-07 12:45:25 +01:00
August Skare
c27a2b64ef visual tweaks in code component 2018-11-07 12:39:47 +01:00
August Skare
fdaffb67e8 styling adjustment in uniq components 2018-11-07 12:39:33 +01:00
August Skare
d32bf15b69 align 0x logo in footer 2018-11-07 10:19:33 +01:00
August Skare
7536648f7a right align icons in trace component 2018-11-07 10:16:13 +01:00
August Skare
eb2fa8e4af more spacing on footer items 2018-11-07 10:13:49 +01:00
August Skare
5d3d2736f5 break compiler cards on an earlier breakpoint 2018-11-07 09:51:42 +01:00
August Skare
0574794496 new og images 2018-11-07 09:48:49 +01:00
August Skare
3a23e795ac new hero animation using bodymovin and lottie 2018-11-07 09:48:10 +01:00
August Skare
2dfca078fd copy changes 2018-11-07 09:10:25 +01:00
August Skare
9006e8fced fix issues in code element 2018-11-06 14:39:48 +01:00
August Skare
6b8f8580d8 fix large button on small screens 2018-11-06 14:33:31 +01:00
August Skare
eb9d802146 rename pesudo element in code gutter 2018-10-30 09:07:25 +01:00
August Skare
6b11ca6c1d fix code highlighting with ... 2018-10-30 09:05:52 +01:00
August Skare
4c8178fc30 remove outline on buttons 2018-10-30 08:42:32 +01:00
August Skare
4616d6f59d button tweaks 2018-10-30 08:39:24 +01:00
August Skare
5cb944fe1b optional copy button in code component 2018-10-30 08:27:31 +01:00
August Skare
50c4909f22 change footer copy 2018-10-30 08:24:14 +01:00
August Skare
dd8b9bf987 fix link to 0x in header 2018-10-30 08:21:39 +01:00
August Skare
0e3cd82348 Fixes/august (#12)
* fix button dimensions

* fix footer hover color

* breakout in trace component

* fix padding on button on small screens

* fix title with content on small screens

* sizing adjustment in intro component

* intro component adjustments

* container size adjustments

* meta og images

* fixed gutter size

* trace component fix + breakout fix

* show copy button if touch device

* responsive hero animation
2018-10-29 08:15:20 +00:00
August Skare
3d4041ecd3 Feature/feedbacktweaks (#11)
* Fix typo

* Fix 1px line showing in middle of divs

* Increase inline code padding by 2px

* Make masonry block not full width on screens larger than mobile

* Align list items

* Change button text to copied if it's been copied
2018-10-29 08:13:03 +00:00
August Skare
89e439c521 update content in tabs 2018-10-26 09:59:10 +02:00
August Skare
0f97771d5a fix props drilling to far down 2018-10-26 09:33:30 +02:00
August Skare
74f0515370 alernate prop on inlinecode component 2018-10-26 09:23:09 +02:00
August Skare
f17c7e4a22 fix button position in code component 2018-10-26 08:50:20 +02:00
August Skare
5fe98c816d fix scrollbars in code components 2018-10-26 08:48:17 +02:00
August Skare
f75cfd8aa4 fixed links in footer 2018-10-26 08:44:27 +02:00
August Skare
7577d96671 new hover styling 2018-10-26 08:38:10 +02:00
August Skare
58f5b6d0ad new favicons 2018-10-26 08:29:21 +02:00
August Skare
a11348ce6b fix line-height in lead component 2018-10-26 08:24:44 +02:00
August Skare
a4825d8748 center logo text 2018-10-26 08:22:29 +02:00
August Skare
e3c0363db1 update codeblock in trace component 2018-10-26 08:18:04 +02:00
August Skare
3fdc6e5e47 text color in trace component 2018-10-26 08:15:43 +02:00
August Skare
2ef8204ab4 14px fontsize on code 2018-10-26 08:13:04 +02:00
August Skare
72b4ee76fb update text color on dark background 2018-10-26 08:10:31 +02:00
August Skare
3901380ffb update content on copiler page 2018-10-26 08:08:40 +02:00
August Skare
fb24a18f3f fix dom elements type in intro 2018-10-25 14:15:47 +02:00
August Skare
1899493ca8 breakpoint on medium in intro component 2018-10-25 14:15:47 +02:00
August Skare
1581ced6ec add json support to highlight 2018-10-25 14:15:47 +02:00
Megan Pearson
5e8f53c7b7 Updates intro component 2018-10-25 14:15:47 +02:00
Megan Pearson
370d15ed1d Merge remote-tracking branch 'origin/dev-tools-pages' into dev-tools-pages 2018-10-25 14:12:17 +02:00
Megan Pearson
43b792f307 Fixed typos 2018-10-25 14:12:01 +02:00
Megan Pearson
b844126516 Updates intro component (#10)
* Updates intro component

* Remove unused Inner

* Use Breakout component in Intro
2018-10-25 13:04:50 +01:00
August Skare
43e55a963b Feature/syntaxhighlighting (#9)
* wip code highlighting of lines

* Implements gutter component

* WIP: Profiler with gutter

* cleaned up highlight code

* Removes before content for gutter styling

* Styles gutter

* Add correct Profiler code content

* Adds color variable for gutter gray

* refactor code component width gutter and diffing
2018-10-25 12:19:56 +01:00
Megan Pearson
9cf055c159 Add highlighter.js; basic styling for .diff classes; Start of code block in cov 2018-10-25 13:13:00 +02:00
Megan Pearson
16b5157078 Updates Intro Component to use IntroBody and IntroAside 2018-10-25 13:12:38 +02:00
August Skare
1ae9f68db8 Content (#7)
* optional children in List component

* added real content to trace page

* added real content to cov page

* add support for json highlighting

* real content on compiler page

* real content on profiler page

* remove unused import

* remove list from compiler page

* wrap code components in pages with breakout component

* fix font size on text

* fix typo
2018-10-25 12:10:35 +01:00
August Skare
e5d3e3b33a Feature/tweaks (#8)
* show copy button on focs

* change base link styling

* text-decoration underline on basic links

* basic hover and focus styles on button and tabs

* add links in footer

* change breakpoints vars

* medium breakpoint on footer
2018-10-25 10:54:53 +01:00
August Skare
1c8ea1336e Feature/animations (#6)
* test animation

* test two part video

* new video test

* replace videos with gifs

* rename videos folder to images

* sol-cov gifs

* renames variables

* compiler gif

* change in hero srcset

* better positioning of hero image
2018-10-25 10:50:09 +01:00
August Skare
a4de585feb Feature/colors (#5)
* fix color variables

* rename link var to type
2018-10-23 12:34:35 +01:00
Megan Pearson
e624759bc7 Merge pull request #4 from bakkenbaeck/feature/moreresponsive
Feature/moreresponsive
2018-10-23 10:18:12 +02:00
August Skare
0836ab370e Update margin-bottom
Co-Authored-By: mepearso <megan.e.pearson@gmail.com>
2018-10-23 10:17:48 +02:00
Megan Pearson
66848ef80f Responsive Compiler 2018-10-23 09:59:09 +02:00
Megan Pearson
f0b9365ca9 Responsive intro, again 2018-10-23 09:59:09 +02:00
Megan Pearson
614ca51cb1 Adds wide prop for full width sections 2018-10-23 09:58:34 +02:00
Megan Pearson
f31f9eb24e Implements Lead typography 2018-10-23 09:57:53 +02:00
Megan Pearson
bc029df082 Merge branch 'feature/variables' into dev-tools-pages 2018-10-22 17:05:27 +02:00
Megan Pearson
63b53acd48 Merge branch 'dev-tools-pages' into feature/variables 2018-10-22 14:28:05 +02:00
Megan Pearson
50eee9a657 Merge branch 'feature/alternate-main' into dev-tools-pages 2018-10-22 14:11:20 +02:00
Megan Pearson
917952bc2a Remove unused imports 2018-10-22 14:04:23 +02:00
August Skare
00afb2440d remove contentBlock from content component 2018-10-22 13:27:49 +02:00
August Skare
8cf720986e rename Main to Content 2018-10-22 13:27:49 +02:00
August Skare
97c54f84f0 remove container from all pages 2018-10-22 13:27:49 +02:00
August Skare
e485a98143 support dark alternative of Main component 2018-10-22 13:27:49 +02:00
Megan Pearson
1e29f2875d Remove font size adjustment for small screens from Beta 2018-10-22 13:27:35 +02:00
Megan Pearson
61cd36cc96 Responsive footer 2018-10-22 13:27:35 +02:00
Megan Pearson
a9b4c1cba8 Responsive font sizes in typography and globalstyles 2018-10-22 13:27:35 +02:00
Megan Pearson
5187017f21 Responsive trace 2018-10-22 13:27:35 +02:00
Megan Pearson
73ea2dac6d Responsive header 2018-10-22 13:27:35 +02:00
Megan Pearson
e9232bf070 Exports media breakpoints 2018-10-22 13:27:35 +02:00
Megan Pearson
ee3538262d Changed name of export to colors and updates components 2018-10-22 13:27:35 +02:00
Megan Pearson
47b281b754 Implements color variables and updates components 2018-10-22 13:27:35 +02:00
Megan Pearson
dfa03feb43 Responsive Intro 2018-10-22 11:55:02 +02:00
Megan Pearson
49beb6b7a3 Add light prop to code 2018-10-22 09:53:58 +02:00
Megan Pearson
6066db8f42 Responsive list 2018-10-22 09:53:22 +02:00
August Skare
68c1818139 breakout container for small screens 2018-10-22 09:20:54 +02:00
August Skare
12087b6b70 ligt theme on code 2018-10-22 09:11:37 +02:00
August Skare
15a3c234c5 dont shrink icons in trace component 2018-10-22 09:05:07 +02:00
August Skare
bf7443c985 button styling on small screens 2018-10-22 09:02:59 +02:00
August Skare
6c39d498c2 code fontsize on small screens 2018-10-22 08:52:21 +02:00
August Skare
cacb8acf76 hero spacing adjustment on small screen 2018-10-22 08:46:46 +02:00
August Skare
c1082b9b08 spacing adjustments on contentblock and main components 2018-10-22 08:40:38 +02:00
August Skare
d3c5c68296 remove padding on Trace component on small breakpoint 2018-10-22 08:40:07 +02:00
August Skare
39fd3fd866 spacing adjustment in footer 2018-10-22 08:29:41 +02:00
August Skare
7ed95d3954 don't shrink icons in footer 2018-10-22 08:27:41 +02:00
August Skare
4dc91c86ae keep fonts folder in git 2018-10-22 08:21:34 +02:00
August Skare
7d7f54c751 Feature/build step (#2)
* BundleAnalyzerPlugin

* lazy load highlight.js

* seperate bundles for each page

* prerender apps to html on build

* preload important font files

* dont prerender code copy button

* fix woff2 variant of font

* added missing doctype

* remove metatags component
2018-10-19 16:05:09 +02:00
August Skare
580e574c84 Feature/build step (#2)
* BundleAnalyzerPlugin

* lazy load highlight.js

* seperate bundles for each page

* prerender apps to html on build

* preload important font files

* dont prerender code copy button

* fix woff2 variant of font

* added missing doctype

* remove metatags component
2018-10-19 15:02:15 +01:00
Megan Pearson
736e1717fa Merge branch 'feature/responsive' into feature/variables 2018-10-19 15:36:38 +02:00
Megan Pearson
d6ac1a4f78 Remove font size adjustment for small screens from Beta 2018-10-19 15:32:02 +02:00
Megan Pearson
8a7c61c6f4 Responsive footer 2018-10-19 15:31:26 +02:00
Megan Pearson
9a024fdacf Responsive font sizes in typography and globalstyles 2018-10-19 14:30:38 +02:00
Megan Pearson
135a623b1f Responsive trace 2018-10-19 14:29:59 +02:00
Megan Pearson
ba0b9b259f Responsive header 2018-10-19 11:59:03 +02:00
Megan Pearson
45a24738b5 Exports media breakpoints 2018-10-19 11:33:41 +02:00
Megan Pearson
585ca203b0 Changed name of export to colors and updates components 2018-10-19 11:32:59 +02:00
Megan Pearson
561f441a5b Implements color variables and updates components 2018-10-19 09:37:14 +02:00
August Skare
30f7f83573 added trace component to trace view 2018-10-18 15:25:08 +02:00
August Skare
97646571a1 tweaking header and hero position and sizing 2018-10-18 14:09:02 +02:00
August Skare
ac60d45969 compiler component in compiler view 2018-10-18 14:08:46 +02:00
August Skare
afa52e280c intro component on cov view 2018-10-18 13:59:16 +02:00
August Skare
c57c9752a2 intro component in profiler view 2018-10-18 13:58:07 +02:00
August Skare
b158a6d722 initial commit 2018-10-18 13:28:44 +02:00
August Skare
c616b53c9c update react and styled-components 2018-10-15 13:40:49 +02:00
1137 changed files with 32791 additions and 12469 deletions

View File

@@ -4,7 +4,7 @@ jobs:
build:
resource_class: medium+
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
environment:
CONTRACTS_COMMIT_HASH: '9ed05f5'
working_directory: ~/repo
@@ -16,7 +16,8 @@ jobs:
command: sudo npm install --global yarn@1.9.4
- run:
name: yarn
command: yarn --frozen-lockfile install || yarn --frozen-lockfile install
command: yarn --frozen-lockfile --ignore-engines install
- setup_remote_docker
- run: yarn build:ci:no_website
- run: yarn build:ts
- save_cache:
@@ -26,7 +27,7 @@ jobs:
build-website:
resource_class: medium+
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
working_directory: ~/repo
steps:
- restore_cache:
@@ -35,7 +36,7 @@ jobs:
- run: cd packages/website && yarn build:prod
test-contracts-ganache:
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
working_directory: ~/repo
steps:
- restore_cache:
@@ -43,13 +44,16 @@ jobs:
- repo-{{ .Environment.CIRCLE_SHA1 }}
- run: yarn wsrun test:circleci @0x/contracts-multisig
- run: yarn wsrun test:circleci @0x/contracts-utils
- run: yarn wsrun test:circleci @0x/contracts-libs
- run: yarn wsrun test:circleci @0x/contracts-tokens
- run: yarn wsrun test:circleci @0x/contracts-exchange-libs
- run: yarn wsrun test:circleci @0x/contracts-erc20
- run: yarn wsrun test:circleci @0x/contracts-erc721
- run: yarn wsrun test:circleci @0x/contracts-extensions
- run: yarn wsrun test:circleci @0x/contracts-protocol
- run: yarn wsrun test:circleci @0x/contracts-asset-proxy
- run: yarn wsrun test:circleci @0x/contracts-exchange
- run: yarn wsrun test:circleci @0x/contracts-exchange-forwarder
test-contracts-geth:
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
- image: 0xorg/devnet
working_directory: ~/repo
steps:
@@ -59,15 +63,18 @@ jobs:
# HACK(albrow): we need to sleep 10 seconds to ensure the devnet is
# initialized
- run: sleep 10 && TEST_PROVIDER=geth yarn wsrun test @0x/contracts-multisig
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-utils
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-libs
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-tokens
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-extensions
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-protocol
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-utils
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-exchange-libs
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-erc20
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-erc721
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-extensions
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-asset-proxy
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-exchange
- run: TEST_PROVIDER=geth yarn wsrun test:circleci @0x/contracts-exchange-forwarder
test-publish:
resource_class: medium+
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
- image: 0xorg/verdaccio
working_directory: ~/repo
steps:
@@ -77,7 +84,7 @@ jobs:
- run: yarn test:publish:circleci
test-doc-generation:
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
working_directory: ~/repo
steps:
- restore_cache:
@@ -100,7 +107,7 @@ jobs:
- ~/repo/packages/pipeline/coverage/lcov.info
test-rest:
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
working_directory: ~/repo
steps:
- restore_cache:
@@ -118,7 +125,7 @@ jobs:
- run: yarn wsrun test:circleci @0x/order-utils
- run: yarn wsrun test:circleci @0x/order-watcher
- run: yarn wsrun test:circleci @0x/sol-compiler
- run: yarn wsrun test:circleci @0x/sol-cov
- run: yarn wsrun test:circleci @0x/sol-tracing-utils
- run: yarn wsrun test:circleci @0x/sol-doc
- run: yarn wsrun test:circleci @0x/subproviders
- run: yarn wsrun test:circleci @0x/web3-wrapper
@@ -169,9 +176,9 @@ jobs:
paths:
- ~/repo/packages/sol-compiler/coverage/lcov.info
- save_cache:
key: coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
key: coverage-sol-tracing-utils-{{ .Environment.CIRCLE_SHA1 }}
paths:
- ~/repo/packages/sol-cov/coverage/lcov.info
- ~/repo/packages/sol-tracing-utils/coverage/lcov.info
- save_cache:
key: coverage-sol-doc-{{ .Environment.CIRCLE_SHA1 }}
paths:
@@ -188,45 +195,46 @@ jobs:
working_directory: ~/repo
docker:
- image: circleci/python
- image: 0xorg/ganache-cli
command: |
ganache-cli --gasLimit 10000000 --noVMErrorsOnRPCResponse --db /snapshot --noVMErrorsOnRPCResponse -p 8545 --networkId 50 -m "concert load couple harbor equip island argue ramp clarify fence smart topic"
- image: 0xorg/ganache-cli:2.2.2
- image: 0xorg/launch-kit-ci
command: |
yarn start:ts -p 3000:3000
steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7
- restore_cache:
key: deps9-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
- run:
command: |
cd python-packages/order_utils
cd python-packages
python -m ensurepip
python -m pip install -e .[dev]
- run:
command: |
cd python-packages/sra_client
python -m ensurepip
python -m pip install -e .
./install
- save_cache:
key: deps9-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
paths:
- '/usr/local/bin'
- '/usr/local/lib/python3.7/site-packages'
- '.eggs'
- '.mypy_cache'
- '.pytest_cache'
- '.tox'
- run:
command: |
cd python-packages/order_utils
coverage run setup.py test
- run:
command: |
cd python-packages/sra_client
coverage run setup.py test
cd python-packages
./cmd_pkgs_in_dep_order.py coverage run setup.py test
- save_cache:
key: coverage-python-contract-addresses-{{ .Environment.CIRCLE_SHA1 }}
paths:
- ~/repo/python-packages/contract_addresses/.coverage
- save_cache:
key: coverage-python-contract-artifacts-{{ .Environment.CIRCLE_SHA1 }}
paths:
- ~/repo/python-packages/contract_artifacts/.coverage
- save_cache:
key: coverage-python-contract-demo-{{ .Environment.CIRCLE_SHA1 }}
paths:
- ~/repo/python-packages/contract_demo/.coverage
- save_cache:
key: coverage-python-json-schemas-{{ .Environment.CIRCLE_SHA1 }}
paths:
- ~/repo/python-packages/json_schemas/.coverage
- save_cache:
key: coverage-python-order-utils-{{ .Environment.CIRCLE_SHA1 }}
paths:
@@ -242,14 +250,14 @@ jobs:
steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7
- restore_cache:
key: deps9-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
- run:
command: |
cd python-packages/order_utils
python -m ensurepip
python -m pip install -e .[dev]
python -m pip install .
- save_cache:
key: deps9-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
paths:
@@ -270,38 +278,31 @@ jobs:
steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7
- restore_cache:
key: deps9-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
- run:
command: |
cd python-packages/order_utils
python -m ensurepip
python -m pip install -e .[dev]
- save_cache:
key: deps9-{{ .Branch }}-{{ .Environment.CIRCLE_SHA1 }}
paths:
- '/usr/local/bin'
- '/usr/local/lib/python3.7/site-packages'
- run:
command: |
cd python-packages/order_utils
python setup.py lint
cd python-packages
./install
./lint
static-tests:
working_directory: ~/repo
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
steps:
- restore_cache:
keys:
- repo-{{ .Environment.CIRCLE_SHA1 }}
- run: yarn lerna run lint
- run: yarn prettier:ci
- run: yarn deps_versions:ci
- run: cd packages/0x.js && yarn build:umd:prod
- run: yarn bundlewatch
submit-coverage:
docker:
- image: circleci/node:9
- image: circleci/node:9-browsers
working_directory: ~/repo
steps:
- restore_cache:
@@ -342,7 +343,7 @@ jobs:
- coverage-sol-compiler-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-sol-cov-{{ .Environment.CIRCLE_SHA1 }}
- coverage-sol-tracing-utils-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-sol-doc-{{ .Environment.CIRCLE_SHA1 }}
@@ -355,6 +356,21 @@ jobs:
- restore_cache:
keys:
- coverage-contracts-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-python-json-schemas-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-python-contract-addresses-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-python-contract-artifacts-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-python-contract-demo-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-python-sra-client-{{ .Environment.CIRCLE_SHA1 }}
- restore_cache:
keys:
- coverage-python-order-utils-{{ .Environment.CIRCLE_SHA1 }}
@@ -392,7 +408,9 @@ workflows:
requires:
- test-rest
- test-python
- static-tests-python:
requires:
- test-python
- test-python
- static-tests-python
# skip python tox run for now, as we don't yet have multiple test environments to support.
#- test-rest-python

View File

@@ -13,7 +13,10 @@ instant: ['packages/instant']
abi-gen-templates: ['packages/abi-gen-templates']
abi-gen: ['packages/abi-gen']
website: ['packages/website']
sol-cov: ['packages/sol-cov']
sol-coverage: ['packages/sol-coverage']
sol-profiler: ['packages/sol-profiler']
sol-trace: ['packages/sol-trace']
sol-tracing-utils: ['packages/sol-tracing-utils']
utils: ['packages/utils']
tslint-config: ['packages/tslint-config']
asset-buyer: ['packages/asset-buyer']

24
.gitignore vendored
View File

@@ -83,27 +83,29 @@ packages/react-docs/example/public/bundle*
packages/testnet-faucets/server/
# generated contract artifacts/
contracts/protocol/generated-artifacts/
contracts/exchange/generated-artifacts/
contracts/asset-proxy/generated-artifacts/
contracts/multisig/generated-artifacts/
contracts/utils/generated-artifacts/
contracts/libs/generated-artifacts/
contracts/interfaces/generated-artifacts/
contracts/tokens/generated-artifacts/
contracts/examples/generated-artifacts/
contracts/exchange-libs/generated-artifacts/
contracts/erc20/generated-artifacts/
contracts/erc721/generated-artifacts/
contracts/extensions/generated-artifacts/
packages/sol-cov/test/fixtures/artifacts/
contracts/exchange-forwarder/generated-artifacts/
packages/sol-tracing-utils/test/fixtures/artifacts/
packages/metacoin/artifacts/
# generated contract wrappers
packages/abi-gen-wrappers/wrappers
contracts/protocol/generated-wrappers/
contracts/exchange/generated-wrappers/
contracts/asset-proxy/generated-wrappers/
contracts/multisig/generated-wrappers/
contracts/utils/generated-wrappers/
contracts/libs/generated-wrappers/
contracts/interfaces/generated-wrappers/
contracts/tokens/generated-wrappers/
contracts/examples/generated-wrappers/
contracts/exchange-libs/generated-wrappers/
contracts/erc20/generated-wrappers/
contracts/erc721/generated-wrappers/
contracts/extensions/generated-wrappers/
contracts/exchange-forwarder/generated-wrappers/
packages/metacoin/src/contract_wrappers
# solc-bin in sol-compiler

View File

@@ -1,29 +1,35 @@
lib
.nyc_output
/contracts/protocol/generated-wrappers
/contracts/protocol/generated-artifacts
/contracts/exchange/generated-wrappers
/contracts/exchange/generated-artifacts
/contracts/asset-proxy/generated-wrappers
/contracts/asset-proxy/generated-artifacts
/contracts/multisig/generated-wrappers
/contracts/multisig/generated-artifacts
/contracts/utils/generated-wrappers
/contracts/utils/generated-artifacts
/contracts/libs/generated-wrappers
/contracts/libs/generated-artifacts
/contracts/interfaces/generated-wrappers
/contracts/interfaces/generated-artifacts
/contracts/tokens/generated-wrappers
/contracts/tokens/generated-artifacts
/contracts/examples/generated-wrappers
/contracts/examples/generated-artifacts
/contracts/exchange-libs/generated-wrappers
/contracts/exchange-libs/generated-artifacts
/contracts/erc20/generated-wrappers
/contracts/erc20/generated-artifacts
/contracts/erc721/generated-wrappers
/contracts/erc721/generated-artifacts
/contracts/extensions/generated-wrappers
/contracts/extensions/generated-artifacts
/contracts/exchange-forwarder/generated-wrappers
/contracts/exchange-forwarder/generated-artifacts
/packages/abi-gen-wrappers/src/generated-wrappers
/packages/contract-artifacts/artifacts
/python-packages/order_utils/src/zero_ex/contract_artifacts/artifacts
/python-packages/contract_artifacts/src/zero_ex/contract_artifacts/artifacts
/packages/json-schemas/schemas
/python-packages/order_utils/src/zero_ex/json_schemas/schemas
/python-packages/json_schemas/src/zero_ex/json_schemas/schemas
/packages/metacoin/src/contract_wrappers
/packages/metacoin/artifacts
/packages/sra-spec/public/
/packages/dev-tools-pages/ts/**/data.json
package.json
scripts/postpublish_utils.js
packages/sol-cov/test/fixtures/artifacts
packages/sol-coverage/test/fixtures/artifacts
.pytest_cache
.mypy_cache
.tox

View File

@@ -24,7 +24,10 @@ packages/metacoin/ @LogvinovLeon
packages/monorepo-scripts/ @fabioberger
packages/order-utils/ @fabioberger @LogvinovLeon
packages/sol-compiler/ @LogvinovLeon
packages/sol-cov/ @LogvinovLeon
packages/sol-coverage/ @LogvinovLeon
packages/sol-profiler/ @LogvinovLeon
packages/sol-trace/ @LogvinovLeon
packages/sol-tracing-utils/ @LogvinovLeon
packages/sol-resolver/ @LogvinovLeon
packages/subproviders/ @fabioberger @dekz
packages/verdaccio/ @albrow

View File

@@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities

View File

@@ -12,26 +12,26 @@ We welcome contributions from anyone on the internet and are grateful for even t
Before removing the `[WIP]` tag and submitting the PR for review, make sure:
* It passes our linter checks (`yarn lint`)
* It is properly formatted with Prettier (`yarn prettier`)
* It passes our continuous integration tests (See: [Enabling code coverage checks on your fork](#enabling-code-coverage-checks-on-your-fork) for instructions on getting the `submit-coverage` test to pass on forks)
* You've created/updated the corresponding [CHANGELOG](#CHANGELOGs) entries.
* Your changes have sufficient test coverage (e.g regression tests have been added for bug fixes)
- It passes our linter checks (`yarn lint`)
- It is properly formatted with Prettier (`yarn prettier`)
- It passes our continuous integration tests (See: [Enabling code coverage checks on your fork](#enabling-code-coverage-checks-on-your-fork) for instructions on getting the `submit-coverage` test to pass on forks)
- You've created/updated the corresponding [CHANGELOG](#CHANGELOGs) entries.
- Your changes have sufficient test coverage (e.g regression tests have been added for bug fixes)
### Branch structure
We have two main branches:
* `master` represents the most recently released (published on npm) version of the codebase.
* `development` represents the current development state of the codebase.
- `master` represents the most recently released (published on npm) version of the codebase.
- `development` represents the current development state of the codebase.
ALL PRs should be opened against `development`.
Branch names should be prefixed with `fix`, `feature` or `refactor`.
* e.g `fix/broken-wiki-link`
* If the PR only edits a single package, add it's name too
* e.g `fix/website/broken-wiki-link`
- e.g `fix/broken-wiki-link`
- If the PR only edits a single package, add it's name too
- e.g `fix/website/broken-wiki-link`
### CHANGELOGs
@@ -67,8 +67,8 @@ If you want to change a rule, or add a custom rule, please make these changes to
Integrate it into your text editor:
* VSCode: [vscode-tslint](https://marketplace.visualstudio.com/items?itemName=eg2.tslint)
* Atom: [linter-tslint](https://atom.io/packages/linter-tslint)
- VSCode: [vscode-tslint](https://marketplace.visualstudio.com/items?itemName=eg2.tslint)
- Atom: [linter-tslint](https://atom.io/packages/linter-tslint)
#### Auto-formatter
@@ -76,8 +76,8 @@ We use [Prettier](https://prettier.io/) to auto-format our code. Be sure to eith
If using the Atom text editor, we recommend you install the following packages:
* VSCode: [prettier-vscode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
* Atom: [prettier-atom](https://atom.io/packages/prettier-atom)
- VSCode: [prettier-vscode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
- Atom: [prettier-atom](https://atom.io/packages/prettier-atom)
## Unenforced coding conventions

View File

@@ -20,7 +20,7 @@
<!--- The following points should be used to indicate the progress of your PR. Put an `x` in all the boxes that apply right now, and come back over time and check them off as you make progress. If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
* [ ] Prefix PR title with `[WIP]` if necessary.
* [ ] Add tests to cover changes as needed.
* [ ] Update documentation as needed.
* [ ] Add new entries to the relevant CHANGELOG.jsons.
- [ ] Prefix PR title with `[WIP]` if necessary.
- [ ] Add tests to cover changes as needed.
- [ ] Update documentation as needed.
- [ ] Add new entries to the relevant CHANGELOG.jsons.

View File

@@ -1,4 +1,4 @@
<img src="https://github.com/0xProject/branding/blob/master/0x_Black_CMYK.png" width="200px" >
<img src="https://github.com/0xProject/branding/blob/master/0x%20Logo/PNG/0x-Logo-Black.png" width="150px" >
---
@@ -24,10 +24,28 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr
### Python Packages
| Package | Version | Description |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [`0x-order-utils`](/python-packages/order_utils) | [![PyPI](https://img.shields.io/pypi/v/0x-order-utils.svg)](https://pypi.org/project/0x-order-utils/) | A set of utilities for generating, parsing, signing and validating 0x orders |
| [`0x-sra-client`](/python-packages/sra_client) | [![PyPI](https://img.shields.io/pypi/v/0x-sra-client.svg)](https://pypi.org/project/0x-sra-client/) | A Python client for interacting with servers conforming to the Standard Relayer API specification |
| Package | Version | Description |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [`0x-contract-addresses`](/python-packages/contract_addresses) | [![PyPI](https://img.shields.io/pypi/v/0x-contract-addresses.svg)](https://pypi.org/project/0x-contract-addresses/) | A tiny utility library for getting known deployed contract addresses for a particular network |
| [`0x-contract-artifacts`](/python-packages/contract_artifacts) | [![PyPI](https://img.shields.io/pypi/v/0x-contract-artifacts.svg)](https://pypi.org/project/0x-contract-artifacts/) | 0x smart contract compilation artifacts |
| [`0x-json-schemas`](/python-packages/json_schemas) | [![PyPI](https://img.shields.io/pypi/v/0x-json-schemas.svg)](https://pypi.org/project/0x-json-schemas/) | 0x-related JSON schemas |
| [`0x-order-utils`](/python-packages/order_utils) | [![PyPI](https://img.shields.io/pypi/v/0x-order-utils.svg)](https://pypi.org/project/0x-order-utils/) | A set of utilities for generating, parsing, signing and validating 0x orders |
| [`0x-sra-client`](/python-packages/sra_client) | [![PyPI](https://img.shields.io/pypi/v/0x-sra-client.svg)](https://pypi.org/project/0x-sra-client/) | A Python client for interacting with servers conforming to the Standard Relayer API specification |
### Solidity Packages
| Package | Version | Description |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`@0x/contracts-asset-proxy`](/contracts/asset-proxy) | [![npm](https://img.shields.io/npm/v/@0x/contracts-asset-proxy.svg)](https://www.npmjs.com/package/@0x/contracts-asset-proxy) | [`AssetProxy`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxy) contracts used within the protocol |
| [`@0x/contracts-erc20`](/contracts/erc20) | [![npm](https://img.shields.io/npm/v/@0x/contracts-erc20.svg)](https://www.npmjs.com/package/@0x/contracts-erc20) | Implementations of various ERC20 tokens |
| [`@0x/contracts-erc721`](/contracts/erc721) | [![npm](https://img.shields.io/npm/v/@0x/contracts-erc721.svg)](https://www.npmjs.com/package/@0x/contracts-erc721) | Implementations of various ERC721 tokens |
| [`@0x/contracts-exchange`](/contracts/exchange) | [![npm](https://img.shields.io/npm/v/@0x/contracts-exchange.svg)](https://www.npmjs.com/package/@0x/contracts-exchange) | The [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract used for settling trades within the protocol |
| [`@0x/contracts-exchange-forwarder`](/contracts/exchange-forwarder) | [![npm](https://img.shields.io/npm/v/@0x/contracts-exchange-forwarder.svg)](https://www.npmjs.com/package/@0x/contracts-exchange-forwarder) | A [`Forwarder`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract used to simplify UX for interacting with the protocol |
| [`@0x/contracts-exchange-libs`](/contracts/exchange-libs) | [![npm](https://img.shields.io/npm/v/@0x/contracts-exchange-libs.svg)](https://www.npmjs.com/package/@0x/contracts-exchange-libs) | Protocol specific Llbraries used within the [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract |
| [`@0x/contracts-extensions`](/contracts/extensions) | [![npm](https://img.shields.io/npm/v/@0x/contracts-extensions.svg)](https://www.npmjs.com/package/@0x/contracts-extensions) | Contracts that interact with and extend the functionality of the core protocol |
| [`@0x/contracts-multisig`](/contracts/multisig) | [![npm](https://img.shields.io/npm/v/@0x/contracts-multisig.svg)](https://www.npmjs.com/package/@0x/contracts-multisig) | Various implementations of multisignature wallets, including the [`AssetProxyOwner`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxyowner) contract that has permissions to upgrade the protocol |
| [`@0x/contracts-test-utils`](/contracts/test-utils) | [![npm](https://img.shields.io/npm/v/@0x/contracts-test-utils.svg)](https://www.npmjs.com/package/@0x/contracts-test-utils) | Typescript/Javascript shared utilities used for testing contracts |
| [`@0x/contracts-utils`](/contracts/utils) | [![npm](https://img.shields.io/npm/v/@0x/contracts-utils.svg)](https://www.npmjs.com/package/@0x/contracts-utils) | Generic libraries and utilities used throughout all of the contracts |
### Typescript/Javascript Packages
@@ -54,7 +72,9 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`@0x/web3-wrapper`](/packages/web3-wrapper) | [![npm](https://img.shields.io/npm/v/@0x/web3-wrapper.svg)](https://www.npmjs.com/package/@0x/web3-wrapper) | An Ethereum JSON RPC client |
| [`@0x/sol-compiler`](/packages/sol-compiler) | [![npm](https://img.shields.io/npm/v/@0x/sol-compiler.svg)](https://www.npmjs.com/package/@0x/sol-compiler) | A wrapper around solc-js that adds smart re-compilation, ability to compile an entire project, Solidity version specific compilation, standard input description support and much more. |
| [`@0x/sol-cov`](/packages/sol-cov) | [![npm](https://img.shields.io/npm/v/@0x/sol-cov.svg)](https://www.npmjs.com/package/@0x/sol-cov) | A solidity test coverage tool |
| [`@0x/sol-coverage`](/packages/sol-coverage) | [![npm](https://img.shields.io/npm/v/@0x/sol-coverage.svg)](https://www.npmjs.com/package/@0x/sol-coverage) | A solidity test coverage tool |
| [`@0x/sol-profiler`](/packages/sol-profiler) | [![npm](https://img.shields.io/npm/v/@0x/sol-profiler.svg)](https://www.npmjs.com/package/@0x/sol-profiler) | A solidity gas cost profiler |
| [`@0x/sol-trace`](/packages/sol-trace) | [![npm](https://img.shields.io/npm/v/@0x/sol-trace.svg)](https://www.npmjs.com/package/@0x/sol-trace) | A solidity stack trace tool |
| [`@0x/sol-resolver`](/packages/sol-resolver) | [![npm](https://img.shields.io/npm/v/@0x/sol-resolver.svg)](https://www.npmjs.com/package/@0x/sol-resolver) | Import resolver for smart contracts dependencies |
| [`@0x/subproviders`](/packages/subproviders) | [![npm](https://img.shields.io/npm/v/@0x/subproviders.svg)](https://www.npmjs.com/package/@0x/subproviders) | Web3 provider middlewares (e.g. LedgerSubprovider) |
| [`@0x/sol-doc`](/packages/sol-doc) | [![npm](https://img.shields.io/npm/v/@0x/sol-doc.svg)](https://www.npmjs.com/package/@0x/sol-doc) | Solidity documentation generator |
@@ -79,7 +99,6 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr
| Package | Description |
| -------------------------------------------------- | -------------------------------------------------------------------------------- |
| [`@0x/contracts`](/contracts/core) | 0x protocol solidity smart contracts & tests |
| [`@0x/instant`](/packages/instant) | A free and flexible way to offer simple crypto purchasing in any app or website. |
| [`@0x/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
| [`@0x/website`](/packages/website) | 0x website |
@@ -129,6 +148,12 @@ To build a specific package:
PKG=@0x/web3-wrapper yarn build
```
To build all contracts packages:
```bash
yarn build:contracts
```
### Watch
To re-build all packages on change:
@@ -201,3 +226,9 @@ Run a specific package's test:
```bash
PKG=@0x/web3-wrapper yarn test
```
Run all contracts packages tests:
```bash
yarn test:contracts
```

View File

@@ -20,7 +20,7 @@ TEST_PROVIDER=geth yarn test
## Code coverage
In order to see the Solidity code coverage output generated by `@0x/sol-cov`, run:
In order to see the Solidity code coverage output generated by `@0x/sol-coverage`, run:
```
yarn test:coverage

View File

@@ -0,0 +1,29 @@
[
{
"timestamp": 1549452781,
"version": "1.0.2",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1549373905,
"version": "1.0.1",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"version": "1.0.0",
"changes": [
{
"note": "Move all AssetProxy contracts out of contracts-protocol to new package",
"pr": 1539
}
]
}
]

View File

@@ -0,0 +1,18 @@
<!--
changelogUtils.file is auto-generated using the monorepo-scripts package. Don't edit directly.
Edit the package's CHANGELOG.json file only.
-->
CHANGELOG
## v1.0.2 - _February 6, 2019_
* Dependencies updated
## v1.0.1 - _February 5, 2019_
* Dependencies updated
## v1.0.0 - _Invalid date_
* Move all AssetProxy contracts out of contracts-protocol to new package (#1539)

View File

@@ -0,0 +1,47 @@
[
{
"name": "MultiAssetProxy",
"version": "1.0.0",
"changes": [
{
"note": "Add MultiAssetProxy implementation",
"pr": 1224,
"networks": {
"3": "0xab8fbd189c569ccdee3a4d929bb7f557be4028f6",
"4": "0xb34cde0ad3a83d04abebc0b66e75196f22216621",
"42": "0xf6313a772c222f51c28f2304c0703b8cf5428fd8"
}
}
]
},
{
"name": "ERC20Proxy",
"version": "1.0.0",
"changes": [
{
"note": "protocol v2 deploy",
"networks": {
"1": "0x2240dab907db71e64d3e0dba4800c83b5c502d4e",
"3": "0xb1408f4c245a23c31b98d2c626777d4c0d766caa",
"4": "0x3e809c563c15a295e832e37053798ddc8d6c8dab",
"42": "0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e"
}
}
]
},
{
"name": "ERC721Proxy",
"version": "1.0.0",
"changes": [
{
"note": "protocol v2 deploy",
"networks": {
"1": "0x208e41fb445f1bb1b6780d58356e81405f3e6127",
"3": "0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4",
"4": "0x8e1ff02637cb5e39f2fa36c14706aa348b065b09",
"42": "0x2a9127c745688a165106c11cd4d647d2220af821"
}
}
]
}
]

View File

@@ -1,15 +1,14 @@
## Contracts
## AssetProxy
Smart contracts that implement the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package.
This package contains the implementations of all of the [`AssetProxy`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxy) contracts available within the 0x protocol. These contracts are responsible for decoding the `assetData` sent to them and performing the actual transfer of assets. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package.
## Usage
## Installation
Contracts that make up and interact with version 2.0.0 of the protocol can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories:
**Install**
* [protocol](./contracts/protocol)
* This directory contains the contracts that make up version 2.0.0. A full specification can be found [here](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md).
* [test](./contracts/test)
* This directory contains mocks and other contracts that are used solely for testing contracts within the other directories.
```bash
npm install @0x/contracts-asset-proxy --save
```
## Bug bounty
@@ -42,13 +41,13 @@ yarn install
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
```bash
PKG=@0x/contracts-protocol yarn build
PKG=@0x/contracts-asset-proxy yarn build
```
Or continuously rebuild on change:
```bash
PKG=@0x/contracts-protocol yarn watch
PKG=@0x/contracts-asset-proxy yarn watch
```
### Clean

View File

@@ -1,6 +1,7 @@
{
"artifactsDir": "./generated-artifacts",
"contractsDir": "./contracts",
"useDockerisedSolc": true,
"compilerSettings": {
"optimizer": {
"enabled": true,
@@ -22,14 +23,9 @@
"IAssetData",
"IAssetProxy",
"IAuthorizable",
"IAssetProxyDispatcher",
"IExchange",
"IExchangeCore",
"IMatchOrders",
"ISignatureValidator",
"ITransactions",
"IValidator",
"IWallet",
"IWrapperFunctions"
"ERC20Proxy",
"ERC721Proxy",
"MixinAuthorizable",
"MultiAssetProxy"
]
}

View File

@@ -18,9 +18,9 @@
pragma solidity ^0.4.24;
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
import "@0x/contracts-utils/contracts/src/Ownable.sol";
import "./mixins/MAssetProxyDispatcher.sol";
import "@0x/contracts-interfaces/contracts/protocol/AssetProxy/IAssetProxy.sol";
import "./interfaces/IAssetProxy.sol";
contract MixinAssetProxyDispatcher is

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
import "@0x/contracts-utils/contracts/src/Ownable.sol";
import "./mixins/MAuthorizable.sol";

View File

@@ -18,7 +18,7 @@
pragma solidity 0.4.24;
import "../Exchange/MixinAssetProxyDispatcher.sol";
import "./MixinAssetProxyDispatcher.sol";
import "./MixinAuthorizable.sol";

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "@0x/contracts-utils/contracts/utils/Ownable/IOwnable.sol";
import "@0x/contracts-utils/contracts/src/interfaces/IOwnable.sol";
contract IAuthorizable is

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IAssetProxyDispatcher.sol";
import "../interfaces/IAssetProxyDispatcher.sol";
contract MAssetProxyDispatcher is

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "@0x/contracts-interfaces/contracts/protocol/AssetProxy/IAuthorizable.sol";
import "../interfaces/IAuthorizable.sol";
contract MAuthorizable is

View File

@@ -0,0 +1,82 @@
{
"name": "@0x/contracts-asset-proxy",
"version": "1.0.2",
"engines": {
"node": ">=6.12"
},
"description": "Smart contract components of 0x protocol",
"main": "lib/src/index.js",
"directories": {
"test": "test"
},
"scripts": {
"build": "yarn pre_build && tsc -b",
"build:ci": "yarn build",
"pre_build": "run-s compile generate_contract_wrappers",
"test": "yarn run_mocha",
"rebuild_and_test": "run-s build test",
"test:coverage": "SOLIDITY_COVERAGE=true run-s build run_mocha coverage:report:text coverage:report:lcov",
"test:profiler": "SOLIDITY_PROFILER=true run-s build run_mocha profiler:report:html",
"test:trace": "SOLIDITY_REVERT_TRACE=true run-s build run_mocha",
"run_mocha": "mocha --require source-map-support/register --require make-promises-safe 'lib/test/**/*.js' --timeout 100000 --bail --exit",
"compile": "sol-compiler",
"watch": "sol-compiler -w",
"clean": "shx rm -rf lib generated-artifacts generated-wrappers",
"generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output generated-wrappers --backend ethers",
"lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
"coverage:report:text": "istanbul report text",
"coverage:report:html": "istanbul report html && open coverage/index.html",
"profiler:report:html": "istanbul report html && open coverage/index.html",
"coverage:report:lcov": "istanbul report lcov",
"test:circleci": "yarn test",
"lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol"
},
"config": {
"abis": "generated-artifacts/@(ERC20Proxy|ERC721Proxy|IAssetData|IAssetProxy|IAuthorizable|MixinAuthorizable|MultiAssetProxy).json"
},
"repository": {
"type": "git",
"url": "https://github.com/0xProject/0x-monorepo.git"
},
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/0xProject/0x-monorepo/issues"
},
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md",
"devDependencies": {
"@0x/abi-gen": "^2.0.1",
"@0x/dev-utils": "^2.0.1",
"@0x/sol-compiler": "^3.0.1",
"@0x/tslint-config": "^3.0.0",
"@types/lodash": "4.14.104",
"@types/node": "*",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
"chai-bignumber": "^3.0.0",
"dirty-chai": "^2.0.1",
"make-promises-safe": "^1.1.0",
"mocha": "^4.1.0",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
"solhint": "^1.4.1",
"tslint": "5.11.0",
"typescript": "3.0.1"
},
"dependencies": {
"@0x/base-contract": "^4.0.1",
"@0x/contracts-erc20": "^1.0.2",
"@0x/contracts-erc721": "^1.0.2",
"@0x/contracts-test-utils": "^3.0.1",
"@0x/contracts-utils": "^2.0.1",
"@0x/order-utils": "^5.0.0",
"@0x/types": "^2.0.1",
"@0x/typescript-typings": "^4.0.0",
"@0x/utils": "^4.0.2",
"@0x/web3-wrapper": "^4.0.1",
"ethereum-types": "^2.0.0",
"lodash": "^4.17.5"
},
"publishConfig": {
"access": "public"
}
}

View File

@@ -0,0 +1,19 @@
import { ContractArtifact } from 'ethereum-types';
import * as ERC20Proxy from '../../generated-artifacts/ERC20Proxy.json';
import * as ERC721Proxy from '../../generated-artifacts/ERC721Proxy.json';
import * as IAssetData from '../../generated-artifacts/IAssetData.json';
import * as IAssetProxy from '../../generated-artifacts/IAssetProxy.json';
import * as IAuthorizable from '../../generated-artifacts/IAuthorizable.json';
import * as MixinAuthorizable from '../../generated-artifacts/MixinAuthorizable.json';
import * as MultiAssetProxy from '../../generated-artifacts/MultiAssetProxy.json';
export const artifacts = {
IAuthorizable: IAuthorizable as ContractArtifact,
IAssetData: IAssetData as ContractArtifact,
IAssetProxy: IAssetProxy as ContractArtifact,
ERC20Proxy: ERC20Proxy as ContractArtifact,
ERC721Proxy: ERC721Proxy as ContractArtifact,
MixinAuthorizable: MixinAuthorizable as ContractArtifact,
MultiAssetProxy: MultiAssetProxy as ContractArtifact,
};

View File

@@ -0,0 +1,7 @@
export * from '../../generated-wrappers/i_asset_data';
export * from '../../generated-wrappers/i_asset_proxy';
export * from '../../generated-wrappers/erc20_proxy';
export * from '../../generated-wrappers/erc721_proxy';
export * from '../../generated-wrappers/mixin_authorizable';
export * from '../../generated-wrappers/multi_asset_proxy';
export * from '../../generated-wrappers/i_authorizable';

View File

@@ -12,8 +12,7 @@ import { BigNumber } from '@0x/utils';
import * as chai from 'chai';
import * as _ from 'lodash';
import { MixinAuthorizableContract } from '../../generated-wrappers/mixin_authorizable';
import { artifacts } from '../../src/artifacts';
import { artifacts, MixinAuthorizableContract } from '../src';
chaiSetup.configure();
const expect = chai.expect;

View File

@@ -1,4 +1,15 @@
import { artifacts as interfacesArtifacts, IAssetDataContract, IAssetProxyContract } from '@0x/contracts-interfaces';
import {
artifacts as erc20Artifacts,
DummyERC20TokenContract,
DummyERC20TokenTransferEventArgs,
DummyMultipleReturnERC20TokenContract,
DummyNoReturnERC20TokenContract,
} from '@0x/contracts-erc20';
import {
artifacts as erc721Artifacts,
DummyERC721ReceiverContract,
DummyERC721TokenContract,
} from '@0x/contracts-erc721';
import {
chaiSetup,
constants,
@@ -9,15 +20,6 @@ import {
txDefaults,
web3Wrapper,
} from '@0x/contracts-test-utils';
import {
artifacts as tokensArtifacts,
DummyERC20TokenContract,
DummyERC20TokenTransferEventArgs,
DummyERC721ReceiverContract,
DummyERC721TokenContract,
DummyMultipleReturnERC20TokenContract,
DummyNoReturnERC20TokenContract,
} from '@0x/contracts-tokens';
import { BlockchainLifecycle } from '@0x/dev-utils';
import { assetDataUtils } from '@0x/order-utils';
import { RevertReason } from '@0x/types';
@@ -26,23 +28,27 @@ import * as chai from 'chai';
import { LogWithDecodedArgs } from 'ethereum-types';
import * as _ from 'lodash';
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
import { MultiAssetProxyContract } from '../../generated-wrappers/multi_asset_proxy';
import { artifacts } from '../../src/artifacts';
import { ERC20Wrapper } from '../utils/erc20_wrapper';
import { ERC721Wrapper } from '../utils/erc721_wrapper';
import {
artifacts,
ERC20ProxyContract,
ERC20Wrapper,
ERC721ProxyContract,
ERC721Wrapper,
IAssetDataContract,
IAssetProxyContract,
MultiAssetProxyContract,
} from '../src';
chaiSetup.configure();
const expect = chai.expect;
const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
const assetProxyInterface = new IAssetProxyContract(
interfacesArtifacts.IAssetProxy.compilerOutput.abi,
artifacts.IAssetProxy.compilerOutput.abi,
constants.NULL_ADDRESS,
provider,
);
const assetDataInterface = new IAssetDataContract(
interfacesArtifacts.IAssetData.compilerOutput.abi,
artifacts.IAssetData.compilerOutput.abi,
constants.NULL_ADDRESS,
provider,
);
@@ -148,7 +154,7 @@ describe('Asset Transfer Proxies', () => {
constants.DUMMY_TOKEN_DECIMALS,
);
noReturnErc20Token = await DummyNoReturnERC20TokenContract.deployFrom0xArtifactAsync(
tokensArtifacts.DummyNoReturnERC20Token,
erc20Artifacts.DummyNoReturnERC20Token,
provider,
txDefaults,
constants.DUMMY_TOKEN_NAME,
@@ -157,7 +163,7 @@ describe('Asset Transfer Proxies', () => {
constants.DUMMY_TOKEN_TOTAL_SUPPLY,
);
multipleReturnErc20Token = await DummyMultipleReturnERC20TokenContract.deployFrom0xArtifactAsync(
tokensArtifacts.DummyMultipleReturnERC20Token,
erc20Artifacts.DummyMultipleReturnERC20Token,
provider,
txDefaults,
constants.DUMMY_TOKEN_NAME,
@@ -198,7 +204,7 @@ describe('Asset Transfer Proxies', () => {
// Deploy and configure ERC721 tokens and receiver
[erc721TokenA, erc721TokenB] = await erc721Wrapper.deployDummyTokensAsync();
erc721Receiver = await DummyERC721ReceiverContract.deployFrom0xArtifactAsync(
tokensArtifacts.DummyERC721Receiver,
erc721Artifacts.DummyERC721Receiver,
provider,
txDefaults,
);
@@ -259,7 +265,7 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(amount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(amount),
erc20Balances[toAddress][erc20TokenA.address].plus(amount),
);
});
@@ -318,7 +324,7 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(amount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(amount),
erc20Balances[toAddress][erc20TokenA.address].plus(amount),
);
});
@@ -562,7 +568,7 @@ describe('Asset Transfer Proxies', () => {
erc721Receiver.address,
amount,
);
const logDecoder = new LogDecoder(web3Wrapper, { ...artifacts, ...tokensArtifacts });
const logDecoder = new LogDecoder(web3Wrapper, { ...artifacts, ...erc721Artifacts });
const tx = await logDecoder.getTxWithDecodedLogsAsync(
await web3Wrapper.sendTransactionAsync({
to: erc721Proxy.address,
@@ -715,7 +721,7 @@ describe('Asset Transfer Proxies', () => {
const erc20AssetData = assetDataUtils.encodeERC20AssetData(erc20TokenA.address);
const amounts = [erc20Amount];
const nestedAssetData = [erc20AssetData];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -737,7 +743,7 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalAmount),
);
});
it('should dispatch an ERC20 transfer when input amount is 0', async () => {
@@ -754,7 +760,7 @@ describe('Asset Transfer Proxies', () => {
inputAmount,
);
const erc20Balances = await erc20Wrapper.getBalancesAsync();
const logDecoder = new LogDecoder(web3Wrapper, { ...artifacts, ...tokensArtifacts });
const logDecoder = new LogDecoder(web3Wrapper, { ...artifacts, ...erc20Artifacts });
const tx = await logDecoder.getTxWithDecodedLogsAsync(
await web3Wrapper.sendTransactionAsync({
to: multiAssetProxy.address,
@@ -778,7 +784,7 @@ describe('Asset Transfer Proxies', () => {
const erc20AssetData2 = assetDataUtils.encodeERC20AssetData(erc20TokenA.address);
const amounts = [erc20Amount1, erc20Amount2];
const nestedAssetData = [erc20AssetData1, erc20AssetData2];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -800,7 +806,7 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalAmount),
);
});
it('should successfully transfer multiple different ERC20 tokens', async () => {
@@ -811,7 +817,7 @@ describe('Asset Transfer Proxies', () => {
const erc20AssetData2 = assetDataUtils.encodeERC20AssetData(erc20TokenB.address);
const amounts = [erc20Amount1, erc20Amount2];
const nestedAssetData = [erc20AssetData1, erc20AssetData2];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -834,13 +840,13 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalErc20AAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalErc20AAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalErc20AAmount),
);
expect(newBalances[fromAddress][erc20TokenB.address]).to.be.bignumber.equal(
erc20Balances[fromAddress][erc20TokenB.address].minus(totalErc20BAmount),
);
expect(newBalances[toAddress][erc20TokenB.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenB.address].add(totalErc20BAmount),
erc20Balances[toAddress][erc20TokenB.address].plus(totalErc20BAmount),
);
});
it('should transfer a single ERC721 token', async () => {
@@ -849,7 +855,7 @@ describe('Asset Transfer Proxies', () => {
const erc721AssetData = assetDataUtils.encodeERC721AssetData(erc721TokenA.address, erc721AFromTokenId);
const amounts = [erc721Amount];
const nestedAssetData = [erc721AssetData];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -881,7 +887,7 @@ describe('Asset Transfer Proxies', () => {
const erc721Amount = new BigNumber(1);
const amounts = [erc721Amount, erc721Amount];
const nestedAssetData = [erc721AssetData1, erc721AssetData2];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -913,7 +919,7 @@ describe('Asset Transfer Proxies', () => {
const erc721Amount = new BigNumber(1);
const amounts = [erc721Amount, erc721Amount];
const nestedAssetData = [erc721AssetData1, erc721AssetData2];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -946,7 +952,7 @@ describe('Asset Transfer Proxies', () => {
const erc721AssetData = assetDataUtils.encodeERC721AssetData(erc721TokenA.address, erc721AFromTokenId);
const amounts = [erc20Amount, erc721Amount];
const nestedAssetData = [erc20AssetData, erc721AssetData];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -970,7 +976,7 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalAmount),
);
const newOwnerFromAsset = await erc721TokenA.ownerOf.callAsync(erc721AFromTokenId);
expect(newOwnerFromAsset).to.be.equal(toAddress);
@@ -984,10 +990,7 @@ describe('Asset Transfer Proxies', () => {
const amounts = [erc20Amount, erc721Amount];
const nestedAssetData = [erc20AssetData, erc721AssetData];
const extraData = '0102030405060708';
const assetData = `${assetDataInterface.MultiAsset.getABIEncodedTransactionData(
amounts,
nestedAssetData,
)}${extraData}`;
const assetData = `${assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData)}${extraData}`;
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -1011,7 +1014,7 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalAmount),
);
const newOwnerFromAsset = await erc721TokenA.ownerOf.callAsync(erc721AFromTokenId);
expect(newOwnerFromAsset).to.be.equal(toAddress);
@@ -1024,7 +1027,7 @@ describe('Asset Transfer Proxies', () => {
const erc20AssetData2 = assetDataUtils.encodeERC20AssetData(erc20TokenB.address);
const amounts = [erc20Amount1, erc20Amount2];
const nestedAssetData = [erc20AssetData1, erc20AssetData2];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -1047,13 +1050,13 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalErc20AAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalErc20AAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalErc20AAmount),
);
expect(newBalances[fromAddress][erc20TokenB.address]).to.be.bignumber.equal(
erc20Balances[fromAddress][erc20TokenB.address].minus(totalErc20BAmount),
);
expect(newBalances[toAddress][erc20TokenB.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenB.address].add(totalErc20BAmount),
erc20Balances[toAddress][erc20TokenB.address].plus(totalErc20BAmount),
);
});
it('should successfully transfer a large amount of tokens', async () => {
@@ -1085,7 +1088,7 @@ describe('Asset Transfer Proxies', () => {
erc721AssetData3,
erc721AssetData4,
];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -1125,13 +1128,13 @@ describe('Asset Transfer Proxies', () => {
erc20Balances[fromAddress][erc20TokenA.address].minus(totalErc20AAmount),
);
expect(newBalances[toAddress][erc20TokenA.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenA.address].add(totalErc20AAmount),
erc20Balances[toAddress][erc20TokenA.address].plus(totalErc20AAmount),
);
expect(newBalances[fromAddress][erc20TokenB.address]).to.be.bignumber.equal(
erc20Balances[fromAddress][erc20TokenB.address].minus(totalErc20BAmount),
);
expect(newBalances[toAddress][erc20TokenB.address]).to.be.bignumber.equal(
erc20Balances[toAddress][erc20TokenB.address].add(totalErc20BAmount),
erc20Balances[toAddress][erc20TokenB.address].plus(totalErc20BAmount),
);
});
it('should revert if a single transfer fails', async () => {
@@ -1143,7 +1146,7 @@ describe('Asset Transfer Proxies', () => {
const erc721AssetData = assetDataUtils.encodeERC721AssetData(erc721TokenA.address, erc721AFromTokenId);
const amounts = [erc20Amount, erc721Amount];
const nestedAssetData = [erc20AssetData, erc721AssetData];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -1169,6 +1172,7 @@ describe('Asset Transfer Proxies', () => {
const invalidErc721AssetData = `${invalidProxyId}${erc721AssetData.slice(10)}`;
const amounts = [erc20Amount, erc721Amount];
const nestedAssetData = [erc20AssetData, invalidErc721AssetData];
// HACK: This is used to get around validation built into assetDataUtils
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
@@ -1192,6 +1196,7 @@ describe('Asset Transfer Proxies', () => {
const erc721AssetData = assetDataUtils.encodeERC721AssetData(erc721TokenA.address, erc721AFromTokenId);
const amounts = [erc20Amount];
const nestedAssetData = [erc20AssetData, erc721AssetData];
// HACK: This is used to get around validation built into assetDataUtils
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
@@ -1214,7 +1219,7 @@ describe('Asset Transfer Proxies', () => {
const erc20AssetData = assetDataUtils.encodeERC20AssetData(erc20TokenA.address);
const amounts = [erc20Amount];
const nestedAssetData = [erc20AssetData];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,
@@ -1238,6 +1243,7 @@ describe('Asset Transfer Proxies', () => {
const erc721AssetData = '0x123456';
const amounts = [erc20Amount, erc721Amount];
const nestedAssetData = [erc20AssetData, erc721AssetData];
// HACK: This is used to get around validation built into assetDataUtils
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
@@ -1262,7 +1268,7 @@ describe('Asset Transfer Proxies', () => {
const erc721AssetData = assetDataUtils.encodeERC721AssetData(erc721TokenA.address, erc721AFromTokenId);
const amounts = [erc20Amount, erc721Amount];
const nestedAssetData = [erc20AssetData, erc721AssetData];
const assetData = assetDataInterface.MultiAsset.getABIEncodedTransactionData(amounts, nestedAssetData);
const assetData = assetDataUtils.encodeMultiAssetData(amounts, nestedAssetData);
const data = assetProxyInterface.transferFrom.getABIEncodedTransactionData(
assetData,
fromAddress,

View File

@@ -1,5 +1,5 @@
import { artifacts as tokensArtifacts, DummyERC20TokenContract } from '@0x/contracts-erc20';
import { constants, ERC20BalancesByOwner, txDefaults } from '@0x/contracts-test-utils';
import { artifacts as tokensArtifacts, DummyERC20TokenContract } from '@0x/contracts-tokens';
import { assetDataUtils } from '@0x/order-utils';
import { BigNumber } from '@0x/utils';
import { Web3Wrapper } from '@0x/web3-wrapper';

View File

@@ -1,5 +1,5 @@
import { artifacts as tokensArtifacts, DummyERC721TokenContract } from '@0x/contracts-erc721';
import { constants, ERC721TokenIdsByOwner, txDefaults } from '@0x/contracts-test-utils';
import { artifacts as tokensArtifacts, DummyERC721TokenContract } from '@0x/contracts-tokens';
import { generatePseudoRandomSalt } from '@0x/order-utils';
import { BigNumber } from '@0x/utils';
import { Web3Wrapper } from '@0x/web3-wrapper';

View File

@@ -1,3 +1,2 @@
export * from './exchange_wrapper';
export * from './erc20_wrapper';
export * from './erc721_wrapper';

View File

@@ -0,0 +1,19 @@
{
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "lib",
"rootDir": ".",
"resolveJsonModule": true
},
"include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"],
"files": [
"./generated-artifacts/IAssetData.json",
"./generated-artifacts/IAssetProxy.json",
"./generated-artifacts/IAuthorizable.json",
"./generated-artifacts/ERC20Proxy.json",
"./generated-artifacts/ERC721Proxy.json",
"./generated-artifacts/MixinAuthorizable.json",
"./generated-artifacts/MultiAssetProxy.json"
],
"exclude": ["./deploy/solc/solc_bin"]
}

View File

@@ -0,0 +1 @@
contracts/src/ZRXToken.sol

View File

@@ -0,0 +1,29 @@
[
{
"timestamp": 1549452781,
"version": "1.0.2",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1549373905,
"version": "1.0.1",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"version": "1.0.0",
"changes": [
{
"note": "Move all ERC20 contracts out of contracts-tokens to new package",
"pr": 1539
}
]
}
]

View File

@@ -0,0 +1,18 @@
<!--
changelogUtils.file is auto-generated using the monorepo-scripts package. Don't edit directly.
Edit the package's CHANGELOG.json file only.
-->
CHANGELOG
## v1.0.2 - _February 6, 2019_
* Dependencies updated
## v1.0.1 - _February 5, 2019_
* Dependencies updated
## v1.0.0 - _Invalid date_
* Move all ERC20 contracts out of contracts-tokens to new package (#1539)

View File

@@ -8,6 +8,7 @@
"networks": {
"1": "0xe41d2489571d322189246dafa5ebde1f4699f498",
"3": "0xff67881f8d12f372d91baae9752eb3631ff0ed00",
"4": "0x2727e688b8fd40b198cd5fe6e408e00494a06f07",
"42": "0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa"
}
}

View File

@@ -1,13 +1,14 @@
## Contract interfaces
## ERC20 Tokens
Smart contract interfaces of the 0x protocol.
This package contains implementations of various [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md) tokens, including WETH (Wrapped Ether) and ZRX. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package.
## Usage
## Installation
Contracts that make up and interact with version 2.0.0 of the protocol can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories:
**Install**
* [protocol](./contracts/protocol)
* This directory contains the contract interfaces that make up version 2.0.0. A full specification can be found [here](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md).
```bash
npm install @0x/contracts-erc20 --save
```
## Bug bounty
@@ -40,13 +41,13 @@ yarn install
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
```bash
PKG=@0x/contracts-interfaces yarn build
PKG=@0x/contracts-erc20 yarn build
```
Or continuously rebuild on change:
```bash
PKG=@0x/contracts-interfaces yarn watch
PKG=@0x/contracts-erc20 yarn watch
```
### Clean

View File

@@ -1,6 +1,7 @@
{
"artifactsDir": "./generated-artifacts",
"contractsDir": "./contracts",
"useDockerisedSolc": true,
"compilerSettings": {
"optimizer": {
"enabled": true,
@@ -22,23 +23,13 @@
"DummyERC20Token",
"DummyMultipleReturnERC20Token",
"DummyNoReturnERC20Token",
"DummyERC721Receiver",
"InvalidERC721Receiver",
"DummyERC721Token",
"ReentrantERC20Token",
"ERC20Token",
"IERC20Token",
"MintableERC20Token",
"UnlimitedAllowanceERC20Token",
"ERC721Token",
"IERC721Receiver",
"IERC721Token",
"MintableERC721Token",
"IEtherToken",
"WETH9",
"ERC20Token_v1",
"Token_v1",
"UnlimitedAllowanceToken_v1",
"ZRXToken"
]
}

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "./IERC20Token.sol";
import "./interfaces/IERC20Token.sol";
contract ERC20Token is

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "@0x/contracts-utils/contracts/utils/SafeMath/SafeMath.sol";
import "@0x/contracts-utils/contracts/src/SafeMath.sol";
import "./UnlimitedAllowanceERC20Token.sol";

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "../ERC20Token/ERC20Token.sol";
import "./ERC20Token.sol";
contract UnlimitedAllowanceERC20Token is

View File

@@ -0,0 +1,150 @@
/*
Copyright 2018 ZeroEx Intl.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
pragma solidity 0.4.11;
contract Token {
/// @return total amount of tokens
function totalSupply() constant returns (uint supply) {}
/// @param _owner The address from which the balance will be retrieved
/// @return The balance
function balanceOf(address _owner) constant returns (uint balance) {}
/// @notice send `_value` token to `_to` from `msg.sender`
/// @param _to The address of the recipient
/// @param _value The amount of token to be transferred
/// @return Whether the transfer was successful or not
function transfer(address _to, uint _value) returns (bool success) {}
/// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
/// @param _from The address of the sender
/// @param _to The address of the recipient
/// @param _value The amount of token to be transferred
/// @return Whether the transfer was successful or not
function transferFrom(address _from, address _to, uint _value) returns (bool success) {}
/// @notice `msg.sender` approves `_addr` to spend `_value` tokens
/// @param _spender The address of the account able to transfer the tokens
/// @param _value The amount of wei to be approved for transfer
/// @return Whether the approval was successful or not
function approve(address _spender, uint _value) returns (bool success) {}
/// @param _owner The address of the account owning tokens
/// @param _spender The address of the account able to transfer the tokens
/// @return Amount of remaining tokens allowed to spent
function allowance(address _owner, address _spender) constant returns (uint remaining) {}
event Transfer(address indexed _from, address indexed _to, uint _value);
event Approval(address indexed _owner, address indexed _spender, uint _value);
}
contract ERC20Token is Token {
function transfer(address _to, uint _value) returns (bool) {
//Default assumes totalSupply can't be over max (2^256 - 1).
if (balances[msg.sender] >= _value && balances[_to] + _value >= balances[_to]) {
balances[msg.sender] -= _value;
balances[_to] += _value;
Transfer(msg.sender, _to, _value);
return true;
} else { return false; }
}
function transferFrom(address _from, address _to, uint _value) returns (bool) {
if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value >= balances[_to]) {
balances[_to] += _value;
balances[_from] -= _value;
allowed[_from][msg.sender] -= _value;
Transfer(_from, _to, _value);
return true;
} else { return false; }
}
function balanceOf(address _owner) constant returns (uint) {
return balances[_owner];
}
function approve(address _spender, uint _value) returns (bool) {
allowed[msg.sender][_spender] = _value;
Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) constant returns (uint) {
return allowed[_owner][_spender];
}
mapping (address => uint) balances;
mapping (address => mapping (address => uint)) allowed;
uint public totalSupply;
}
contract UnlimitedAllowanceToken is ERC20Token {
uint constant MAX_UINT = 2**256 - 1;
/// @dev ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance.
/// @param _from Address to transfer from.
/// @param _to Address to transfer to.
/// @param _value Amount to transfer.
/// @return Success of transfer.
function transferFrom(address _from, address _to, uint _value)
public
returns (bool)
{
uint allowance = allowed[_from][msg.sender];
if (balances[_from] >= _value
&& allowance >= _value
&& balances[_to] + _value >= balances[_to]
) {
balances[_to] += _value;
balances[_from] -= _value;
if (allowance < MAX_UINT) {
allowed[_from][msg.sender] -= _value;
}
Transfer(_from, _to, _value);
return true;
} else {
return false;
}
}
}
contract ZRXToken is
UnlimitedAllowanceToken
{
// solhint-disable const-name-snakecase
uint8 constant public decimals = 18;
uint256 public totalSupply = 10**27; // 1 billion tokens, 18 decimal places
string constant public name = "0x Protocol Token";
string constant public symbol = "ZRX";
// solhint-enableconst-name-snakecase
function ZRXToken()
public
{
balances[msg.sender] = totalSupply;
}
}

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "../ERC20Token/IERC20Token.sol";
import "./IERC20Token.sol";
contract IEtherToken is

View File

@@ -18,8 +18,8 @@
pragma solidity 0.4.24;
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
import "../../tokens/ERC20Token/MintableERC20Token.sol";
import "@0x/contracts-utils/contracts/src/Ownable.sol";
import "../src/MintableERC20Token.sol";
contract DummyERC20Token is

View File

@@ -19,10 +19,10 @@
pragma solidity 0.4.24;
pragma experimental ABIEncoderV2;
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
import "../../tokens/ERC20Token/ERC20Token.sol";
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
import "@0x/contracts-utils/contracts/src/LibBytes.sol";
import "../src/ERC20Token.sol";
import "@0x/contracts-exchange/contracts/src/interfaces/IExchange.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibOrder.sol";
// solhint-disable no-unused-vars

View File

@@ -1,5 +1,5 @@
{
"name": "@0x/contracts-tokens",
"name": "@0x/contracts-erc20",
"version": "1.0.2",
"engines": {
"node": ">=6.12"
@@ -32,7 +32,7 @@
"lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol"
},
"config": {
"abis": "generated-artifacts/@(DummyERC20Token|DummyMultipleReturnERC20Token|DummyNoReturnERC20Token|DummyERC721Receiver|InvalidERC721Receiver|DummyERC721Token|ReentrantERC20Token|ERC20Token|IERC20Token|MintableERC20Token|UnlimitedAllowanceERC20Token|ERC721Token|IERC721Receiver|IERC721Token|MintableERC721Token|IEtherToken|WETH9|ERC20Token_v1|Token_v1|UnlimitedAllowanceToken_v1|ZRXToken).json"
"abis": "generated-artifacts/@(DummyERC20Token|DummyMultipleReturnERC20Token|DummyNoReturnERC20Token|ReentrantERC20Token|ERC20Token|IERC20Token|MintableERC20Token|UnlimitedAllowanceERC20Token|IEtherToken|WETH9|ZRXToken).json"
},
"repository": {
"type": "git",
@@ -44,47 +44,34 @@
},
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
"devDependencies": {
"@0x/abi-gen": "^1.0.19",
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
"@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
"@0x/abi-gen": "^2.0.1",
"@0x/contracts-test-utils": "^3.0.1",
"@0x/dev-utils": "^2.0.1",
"@0x/sol-compiler": "^3.0.1",
"@0x/tslint-config": "^3.0.0",
"@types/lodash": "4.14.104",
"@types/node": "*",
"@types/yargs": "^10.0.0",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
"chai-bignumber": "^2.0.1",
"chai-bignumber": "^3.0.0",
"dirty-chai": "^2.0.1",
"ethereumjs-abi": "0.6.5",
"make-promises-safe": "^1.1.0",
"mocha": "^4.1.0",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
"solc": "^0.4.24",
"solhint": "^1.4.1",
"tslint": "5.11.0",
"typescript": "3.0.1",
"yargs": "^10.0.3"
"typescript": "3.0.1"
},
"dependencies": {
"@0x/base-contract": "^3.0.10",
"@0x/contracts-interfaces": "^1.0.2",
"@0x/contracts-libs": "^1.0.2",
"@0x/contracts-multisig": "^1.0.2",
"@0x/contracts-utils": "^1.0.2",
"@0x/order-utils": "^3.0.7",
"@0x/types": "^1.4.1",
"@0x/typescript-typings": "^3.0.6",
"@0x/utils": "^2.0.8",
"@0x/web3-wrapper": "^3.2.1",
"@types/js-combinatorics": "^0.5.29",
"bn.js": "^4.11.8",
"ethereum-types": "^1.1.4",
"ethereumjs-util": "^5.1.1",
"@0x/base-contract": "^4.0.1",
"@0x/contracts-exchange-libs": "^1.0.2",
"@0x/contracts-utils": "^2.0.1",
"@0x/types": "^2.0.1",
"@0x/typescript-typings": "^4.0.0",
"@0x/utils": "^4.0.2",
"@0x/web3-wrapper": "^4.0.1",
"ethereum-types": "^2.0.0",
"lodash": "^4.17.5"
},
"publishConfig": {

View File

@@ -1,48 +1,29 @@
import { ContractArtifact } from 'ethereum-types';
import * as DummyERC20Token from '../../generated-artifacts/DummyERC20Token.json';
import * as DummyERC721Receiver from '../../generated-artifacts/DummyERC721Receiver.json';
import * as DummyERC721Token from '../../generated-artifacts/DummyERC721Token.json';
import * as DummyMultipleReturnERC20Token from '../../generated-artifacts/DummyMultipleReturnERC20Token.json';
import * as DummyNoReturnERC20Token from '../../generated-artifacts/DummyNoReturnERC20Token.json';
import * as ERC20Token from '../../generated-artifacts/ERC20Token.json';
import * as ERC20Token_v1 from '../../generated-artifacts/ERC20Token_v1.json';
import * as ERC721Token from '../../generated-artifacts/ERC721Token.json';
import * as IERC20Token from '../../generated-artifacts/IERC20Token.json';
import * as IERC721Receiver from '../../generated-artifacts/IERC721Receiver.json';
import * as IERC721Token from '../../generated-artifacts/IERC721Token.json';
import * as IEtherToken from '../../generated-artifacts/IEtherToken.json';
import * as InvalidERC721Receiver from '../../generated-artifacts/InvalidERC721Receiver.json';
import * as MintableERC20Token from '../../generated-artifacts/MintableERC20Token.json';
import * as MintableERC721Token from '../../generated-artifacts/MintableERC721Token.json';
import * as ReentrantERC20Token from '../../generated-artifacts/ReentrantERC20Token.json';
import * as Token_v1 from '../../generated-artifacts/Token_v1.json';
import * as UnlimitedAllowanceERC20Token from '../../generated-artifacts/UnlimitedAllowanceERC20Token.json';
import * as UnlimitedAllowanceToken_v1 from '../../generated-artifacts/UnlimitedAllowanceToken_v1.json';
import * as WETH9 from '../../generated-artifacts/WETH9.json';
import * as ZRXToken from '../../generated-artifacts/ZRXToken.json';
// tslint:disable:no-unnecessary-type-assertion
export const artifacts = {
DummyERC20Token: DummyERC20Token as ContractArtifact,
DummyMultipleReturnERC20Token: DummyMultipleReturnERC20Token as ContractArtifact,
DummyNoReturnERC20Token: DummyNoReturnERC20Token as ContractArtifact,
DummyERC721Receiver: DummyERC721Receiver as ContractArtifact,
InvalidERC721Receiver: InvalidERC721Receiver as ContractArtifact,
DummyERC721Token: DummyERC721Token as ContractArtifact,
ReentrantERC20Token: ReentrantERC20Token as ContractArtifact,
ERC20Token: ERC20Token as ContractArtifact,
IERC20Token: IERC20Token as ContractArtifact,
MintableERC20Token: MintableERC20Token as ContractArtifact,
UnlimitedAllowanceERC20Token: UnlimitedAllowanceERC20Token as ContractArtifact,
ERC721Token: ERC721Token as ContractArtifact,
IERC721Receiver: IERC721Receiver as ContractArtifact,
IERC721Token: IERC721Token as ContractArtifact,
MintableERC721Token: MintableERC721Token as ContractArtifact,
IEtherToken: IEtherToken as ContractArtifact,
WETH9: WETH9 as ContractArtifact,
ERC20Token_v1: ERC20Token_v1 as ContractArtifact,
Token_v1: Token_v1 as ContractArtifact,
UnlimitedAllowanceToken_v1: UnlimitedAllowanceToken_v1 as ContractArtifact,
// Note(albrow): "as any" hack still required here because ZRXToken does not
// conform to the v2 artifact type.
ZRXToken: (ZRXToken as any) as ContractArtifact,

View File

@@ -1,21 +1,11 @@
export * from '../../generated-wrappers/zrx_token';
export * from '../../generated-wrappers/weth9';
export * from '../../generated-wrappers/unlimitedallowancetoken_v1';
export * from '../../generated-wrappers/unlimited_allowance_erc20_token';
export * from '../../generated-wrappers/token_v1';
export * from '../../generated-wrappers/reentrant_erc20_token';
export * from '../../generated-wrappers/mintable_erc721_token';
export * from '../../generated-wrappers/mintable_erc20_token';
export * from '../../generated-wrappers/invalid_erc721_receiver';
export * from '../../generated-wrappers/i_ether_token';
export * from '../../generated-wrappers/i_erc721_token';
export * from '../../generated-wrappers/i_erc721_receiver';
export * from '../../generated-wrappers/i_erc20_token';
export * from '../../generated-wrappers/erc721_token';
export * from '../../generated-wrappers/erc20token_v1';
export * from '../../generated-wrappers/erc20_token';
export * from '../../generated-wrappers/dummy_no_return_erc20_token';
export * from '../../generated-wrappers/dummy_multiple_return_erc20_token';
export * from '../../generated-wrappers/dummy_erc721_token';
export * from '../../generated-wrappers/dummy_erc721_receiver';
export * from '../../generated-wrappers/dummy_erc20_token';

View File

@@ -109,7 +109,7 @@ describe('UnlimitedAllowanceToken', () => {
const amountToTransfer = ownerBalance;
const spenderAllowance = await token.allowance.callAsync(owner, spender);
const isSpenderAllowanceInsufficient = spenderAllowance.cmp(amountToTransfer) < 0;
const isSpenderAllowanceInsufficient = spenderAllowance.comparedTo(amountToTransfer) < 0;
expect(isSpenderAllowanceInsufficient).to.be.true();
return expectContractCallFailedAsync(

View File

@@ -117,7 +117,7 @@ describe('ZRXToken', () => {
const amountToTransfer = ownerBalance;
const spenderAllowance = await zrxToken.allowance.callAsync(owner, spender);
const isSpenderAllowanceInsufficient = spenderAllowance.cmp(amountToTransfer) < 0;
const isSpenderAllowanceInsufficient = spenderAllowance.comparedTo(amountToTransfer) < 0;
expect(isSpenderAllowanceInsufficient).to.be.true();
const didReturnTrue = await zrxToken.transferFrom.callAsync(owner, spender, amountToTransfer, {

View File

@@ -10,23 +10,13 @@
"./generated-artifacts/DummyERC20Token.json",
"./generated-artifacts/DummyMultipleReturnERC20Token.json",
"./generated-artifacts/DummyNoReturnERC20Token.json",
"./generated-artifacts/DummyERC721Receiver.json",
"./generated-artifacts/InvalidERC721Receiver.json",
"./generated-artifacts/DummyERC721Token.json",
"./generated-artifacts/ReentrantERC20Token.json",
"./generated-artifacts/ERC20Token.json",
"./generated-artifacts/IERC20Token.json",
"./generated-artifacts/MintableERC20Token.json",
"./generated-artifacts/UnlimitedAllowanceERC20Token.json",
"./generated-artifacts/ERC721Token.json",
"./generated-artifacts/IERC721Receiver.json",
"./generated-artifacts/IERC721Token.json",
"./generated-artifacts/MintableERC721Token.json",
"./generated-artifacts/IEtherToken.json",
"./generated-artifacts/WETH9.json",
"./generated-artifacts/ERC20Token_v1.json",
"./generated-artifacts/Token_v1.json",
"./generated-artifacts/UnlimitedAllowanceToken_v1.json",
"./generated-artifacts/ZRXToken.json"
],
"exclude": ["./deploy/solc/solc_bin"]

View File

@@ -0,0 +1,29 @@
[
{
"timestamp": 1549452781,
"version": "1.0.2",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1549373905,
"version": "1.0.1",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"version": "1.0.0",
"changes": [
{
"note": "Move all ERC721 contracts out of contracts-tokens to new package",
"pr": 1539
}
]
}
]

View File

@@ -0,0 +1,18 @@
<!--
changelogUtils.file is auto-generated using the monorepo-scripts package. Don't edit directly.
Edit the package's CHANGELOG.json file only.
-->
CHANGELOG
## v1.0.2 - _February 6, 2019_
* Dependencies updated
## v1.0.1 - _February 5, 2019_
* Dependencies updated
## v1.0.0 - _Invalid date_
* Move all ERC721 contracts out of contracts-tokens to new package (#1539)

View File

@@ -0,0 +1 @@
[]

View File

@@ -1,15 +1,18 @@
## Contracts libs
## ERC721 Tokens
Smart contracts libs used in the 0x protocol.
This package contains implementations of various [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md) tokens. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package.
## Usage
## Installation
Contracts can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories:
**Install**
* [libs](./contracts/protocol)
* This directory contains the libs.
* [test](./contracts/test)
* This directory contains mocks and other contracts that are used solely for testing contracts within the other directories.
```bash
npm install @0x/contracts-erc721 --save
```
## Bug bounty
A bug bounty for the 2.0.0 contracts is ongoing! Instructions can be found [here](https://0xproject.com/wiki#Bug-Bounty).
## Contributing
@@ -38,13 +41,13 @@ yarn install
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
```bash
PKG=@0x/contracts-libs yarn build
PKG=@0x/contracts-erc721 yarn build
```
Or continuously rebuild on change:
```bash
PKG=@0x/contracts-libs yarn watch
PKG=@0x/contracts-erc721 yarn watch
```
### Clean

View File

@@ -0,0 +1,31 @@
{
"artifactsDir": "./generated-artifacts",
"contractsDir": "./contracts",
"useDockerisedSolc": true,
"compilerSettings": {
"optimizer": {
"enabled": true,
"runs": 1000000
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode.object",
"evm.bytecode.sourceMap",
"evm.deployedBytecode.object",
"evm.deployedBytecode.sourceMap"
]
}
}
},
"contracts": [
"DummyERC721Receiver",
"InvalidERC721Receiver",
"DummyERC721Token",
"ERC721Token",
"IERC721Receiver",
"IERC721Token",
"MintableERC721Token"
]
}

View File

@@ -18,9 +18,9 @@
pragma solidity ^0.4.24;
import "./IERC721Token.sol";
import "./IERC721Receiver.sol";
import "@0x/contracts-utils/contracts/utils/SafeMath/SafeMath.sol";
import "./interfaces/IERC721Token.sol";
import "./interfaces/IERC721Receiver.sol";
import "@0x/contracts-utils/contracts/src/SafeMath.sol";
contract ERC721Token is

View File

@@ -18,7 +18,7 @@
pragma solidity 0.4.24;
import "../../tokens/ERC721Token/IERC721Receiver.sol";
import "../src/interfaces/IERC721Receiver.sol";
contract DummyERC721Receiver is

View File

@@ -18,8 +18,8 @@
pragma solidity 0.4.24;
import "../../tokens/ERC721Token/MintableERC721Token.sol";
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
import "../src/MintableERC721Token.sol";
import "@0x/contracts-utils/contracts/src/Ownable.sol";
// solhint-disable no-empty-blocks

View File

@@ -18,7 +18,7 @@
pragma solidity 0.4.24;
import "../../tokens/ERC721Token/IERC721Receiver.sol";
import "../src/interfaces/IERC721Receiver.sol";
contract InvalidERC721Receiver is

View File

@@ -1,10 +1,10 @@
{
"name": "@0x/contracts-examples",
"name": "@0x/contracts-erc721",
"version": "1.0.2",
"engines": {
"node": ">=6.12"
},
"description": "Smart contract examples of 0x protocol",
"description": "Token contracts used by 0x protocol",
"main": "lib/src/index.js",
"directories": {
"test": "test"
@@ -13,15 +13,26 @@
"build": "yarn pre_build && tsc -b",
"build:ci": "yarn build",
"pre_build": "run-s compile generate_contract_wrappers",
"test": "yarn run_mocha",
"rebuild_and_test": "run-s build test",
"test:coverage": "SOLIDITY_COVERAGE=true run-s build run_mocha coverage:report:text coverage:report:lcov",
"test:profiler": "SOLIDITY_PROFILER=true run-s build run_mocha profiler:report:html",
"test:trace": "SOLIDITY_REVERT_TRACE=true run-s build run_mocha",
"run_mocha": "mocha --require source-map-support/register --require make-promises-safe 'lib/test/**/*.js' --timeout 100000 --bail --exit",
"compile": "sol-compiler",
"watch": "sol-compiler -w",
"clean": "shx rm -rf lib generated-artifacts generated-wrappers",
"generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output generated-wrappers --backend ethers",
"lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
"coverage:report:text": "istanbul report text",
"coverage:report:html": "istanbul report html && open coverage/index.html",
"profiler:report:html": "istanbul report html && open coverage/index.html",
"coverage:report:lcov": "istanbul report lcov",
"test:circleci": "yarn test",
"lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol"
},
"config": {
"abis": "generated-artifacts/@(ExchangeWrapper|Validator|Wallet|Whitelist).json"
"abis": "generated-artifacts/@(DummyERC721Receiver|InvalidERC721Receiver|DummyERC721Token|ERC721Token|IERC721Receiver|IERC721Token|MintableERC721Token).json"
},
"repository": {
"type": "git",
@@ -31,50 +42,35 @@
"bugs": {
"url": "https://github.com/0xProject/0x-monorepo/issues"
},
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/examples/README.md",
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
"devDependencies": {
"@0x/abi-gen": "^1.0.19",
"@0x/contracts-test-utils": "^1.0.2",
"@0x/dev-utils": "^1.0.21",
"@0x/sol-compiler": "^1.1.16",
"@0x/sol-cov": "^2.1.16",
"@0x/subproviders": "^2.1.8",
"@0x/tslint-config": "^2.0.0",
"@types/bn.js": "^4.11.0",
"@0x/abi-gen": "^2.0.1",
"@0x/contracts-test-utils": "^3.0.1",
"@0x/dev-utils": "^2.0.1",
"@0x/sol-compiler": "^3.0.1",
"@0x/tslint-config": "^3.0.0",
"@types/lodash": "4.14.104",
"@types/node": "*",
"@types/yargs": "^10.0.0",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
"chai-bignumber": "^2.0.1",
"chai-bignumber": "^3.0.0",
"dirty-chai": "^2.0.1",
"ethereumjs-abi": "0.6.5",
"make-promises-safe": "^1.1.0",
"mocha": "^4.1.0",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
"solc": "^0.4.24",
"solhint": "^1.4.1",
"tslint": "5.11.0",
"typescript": "3.0.1",
"yargs": "^10.0.3"
"typescript": "3.0.1"
},
"dependencies": {
"@0x/base-contract": "^3.0.10",
"@0x/contracts-interfaces": "^1.0.2",
"@0x/contracts-libs": "^1.0.2",
"@0x/contracts-multisig": "^1.0.2",
"@0x/contracts-tokens": "^1.0.2",
"@0x/contracts-utils": "^1.0.2",
"@0x/order-utils": "^3.0.7",
"@0x/types": "^1.4.1",
"@0x/typescript-typings": "^3.0.6",
"@0x/utils": "^2.0.8",
"@0x/web3-wrapper": "^3.2.1",
"@types/js-combinatorics": "^0.5.29",
"bn.js": "^4.11.8",
"ethereum-types": "^1.1.4",
"ethereumjs-util": "^5.1.1",
"@0x/base-contract": "^4.0.1",
"@0x/contracts-utils": "^2.0.1",
"@0x/types": "^2.0.1",
"@0x/typescript-typings": "^4.0.0",
"@0x/utils": "^4.0.2",
"@0x/web3-wrapper": "^4.0.1",
"ethereum-types": "^2.0.0",
"lodash": "^4.17.5"
},
"publishConfig": {

View File

@@ -0,0 +1,20 @@
import { ContractArtifact } from 'ethereum-types';
import * as DummyERC721Receiver from '../../generated-artifacts/DummyERC721Receiver.json';
import * as DummyERC721Token from '../../generated-artifacts/DummyERC721Token.json';
import * as ERC721Token from '../../generated-artifacts/ERC721Token.json';
import * as IERC721Receiver from '../../generated-artifacts/IERC721Receiver.json';
import * as IERC721Token from '../../generated-artifacts/IERC721Token.json';
import * as InvalidERC721Receiver from '../../generated-artifacts/InvalidERC721Receiver.json';
import * as MintableERC721Token from '../../generated-artifacts/MintableERC721Token.json';
// tslint:disable:no-unnecessary-type-assertion
export const artifacts = {
DummyERC721Receiver: DummyERC721Receiver as ContractArtifact,
InvalidERC721Receiver: InvalidERC721Receiver as ContractArtifact,
DummyERC721Token: DummyERC721Token as ContractArtifact,
ERC721Token: ERC721Token as ContractArtifact,
IERC721Receiver: IERC721Receiver as ContractArtifact,
IERC721Token: IERC721Token as ContractArtifact,
MintableERC721Token: MintableERC721Token as ContractArtifact,
};

View File

@@ -1,2 +1,2 @@
export * from './artifacts';
export * from './wrappers';
export * from './artifacts';

View File

@@ -0,0 +1,7 @@
export * from '../../generated-wrappers/mintable_erc721_token';
export * from '../../generated-wrappers/invalid_erc721_receiver';
export * from '../../generated-wrappers/i_erc721_token';
export * from '../../generated-wrappers/i_erc721_receiver';
export * from '../../generated-wrappers/erc721_token';
export * from '../../generated-wrappers/dummy_erc721_token';
export * from '../../generated-wrappers/dummy_erc721_receiver';

View File

@@ -0,0 +1,19 @@
{
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "lib",
"rootDir": ".",
"resolveJsonModule": true
},
"include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"],
"files": [
"./generated-artifacts/DummyERC721Receiver.json",
"./generated-artifacts/InvalidERC721Receiver.json",
"./generated-artifacts/DummyERC721Token.json",
"./generated-artifacts/ERC721Token.json",
"./generated-artifacts/IERC721Receiver.json",
"./generated-artifacts/IERC721Token.json",
"./generated-artifacts/MintableERC721Token.json"
],
"exclude": ["./deploy/solc/solc_bin"]
}

View File

@@ -1,11 +0,0 @@
[
{
"timestamp": 1544741676,
"version": "1.0.2",
"changes": [
{
"note": "Dependencies updated"
}
]
}
]

View File

@@ -1,10 +0,0 @@
<!--
changelogUtils.file is auto-generated using the monorepo-scripts package. Don't edit directly.
Edit the package's CHANGELOG.json file only.
-->
CHANGELOG
## v1.0.2 - _December 13, 2018_
* Dependencies updated

View File

@@ -1,13 +0,0 @@
import { ContractArtifact } from 'ethereum-types';
import * as ExchangeWrapper from '../../generated-artifacts/ExchangeWrapper.json';
import * as Validator from '../../generated-artifacts/Validator.json';
import * as Wallet from '../../generated-artifacts/Wallet.json';
import * as Whitelist from '../../generated-artifacts/Whitelist.json';
export const artifacts = {
ExchangeWrapper: ExchangeWrapper as ContractArtifact,
Validator: Validator as ContractArtifact,
Wallet: Wallet as ContractArtifact,
Whitelist: Whitelist as ContractArtifact,
};

View File

@@ -1,4 +0,0 @@
export * from '../../generated-wrappers/exchange_wrapper';
export * from '../../generated-wrappers/validator';
export * from '../../generated-wrappers/wallet';
export * from '../../generated-wrappers/whitelist';

View File

@@ -0,0 +1,29 @@
[
{
"timestamp": 1549452781,
"version": "1.0.2",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"timestamp": 1549373905,
"version": "1.0.1",
"changes": [
{
"note": "Dependencies updated"
}
]
},
{
"version": "1.0.0",
"changes": [
{
"note": "Move Forwarder contract out of contracts-extensions into new package",
"pr": 1539
}
]
}
]

View File

@@ -0,0 +1,18 @@
<!--
changelogUtils.file is auto-generated using the monorepo-scripts package. Don't edit directly.
Edit the package's CHANGELOG.json file only.
-->
CHANGELOG
## v1.0.2 - _February 6, 2019_
* Dependencies updated
## v1.0.1 - _February 5, 2019_
* Dependencies updated
## v1.0.0 - _Invalid date_
* Move Forwarder contract out of contracts-extensions into new package (#1539)

View File

@@ -0,0 +1,32 @@
[
{
"name": "Forwarder",
"version": "1.1.0",
"changes": [
{
"note": "Round up when calculating remaining amounts in marketBuy functions",
"pr": 1162,
"networks": {
"1": "0x5468a1dc173652ee28d249c271fa9933144746b1",
"3": "0x2240dab907db71e64d3e0dba4800c83b5c502d4e",
"4": "0xd2dbf3250a764eaaa94fa0c84ed87c0edc8ed04e",
"42": "0x17992e4ffb22730138e4b62aaa6367fa9d3699a6"
}
}
]
},
{
"name": "Forwarder",
"version": "1.0.0",
"changes": [
{
"note": "protocol v2 deploy",
"networks": {
"1": "0x7afc2d5107af94c462a194d2c21b5bdd238709d6",
"3": "0x3983e204b12b3c02fb0638caf2cd406a62e0ead3",
"42": "0xd85e2fa7e7e252b27b01bf0d65c946959d2f45b8"
}
}
]
}
]

View File

@@ -1,15 +1,14 @@
## Token contracts
## Exchange Forwarder
Token smart contracts that are used in the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package.
This package contains the implementation of the [`Forwarder`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract. This contract is intended to improve the UX of interacting with the 0x [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract by abstracting user approvals, converting ETH to WETH, and paying fees. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package.
## Usage
## Installation
Token contracts that make up and interact with version 2.0.0 of the protocol can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories:
**Install**
* [tokens](./contracts/tokens)
* This directory contains implementations of different tokens and token standards, including [wETH](https://weth.io/), ZRX, [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md), and [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md).
* [test](./contracts/test)
* This directory contains mocks and other contracts that are used solely for testing contracts within the other directories.
```bash
npm install @0x/contracts-exchange-forwarder --save
```
## Bug bounty
@@ -42,13 +41,13 @@ yarn install
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
```bash
PKG=@0x/contracts-tokens yarn build
PKG=@0x/contracts-exchange-forwarder yarn build
```
Or continuously rebuild on change:
```bash
PKG=@0x/contracts-tokens yarn watch
PKG=@0x/contracts-exchange-forwarder yarn watch
```
### Clean

View File

@@ -1,6 +1,7 @@
{
"artifactsDir": "./generated-artifacts",
"contractsDir": "./contracts",
"useDockerisedSolc": true,
"compilerSettings": {
"optimizer": {
"enabled": true,
@@ -18,5 +19,5 @@
}
}
},
"contracts": ["ExchangeWrapper", "Validator", "Wallet", "Whitelist"]
"contracts": ["Forwarder"]
}

View File

@@ -18,10 +18,10 @@
pragma solidity ^0.4.24;
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
import "@0x/contracts-tokens/contracts/tokens/ERC20Token/IERC20Token.sol";
import "@0x/contracts-tokens/contracts/tokens/ERC721Token/IERC721Token.sol";
import "@0x/contracts-utils/contracts/src/LibBytes.sol";
import "@0x/contracts-utils/contracts/src/Ownable.sol";
import "@0x/contracts-erc20/contracts/src/interfaces/IERC20Token.sol";
import "@0x/contracts-erc721/contracts/src/interfaces/IERC721Token.sol";
import "./libs/LibConstants.sol";
import "./mixins/MAssets.sol";

View File

@@ -21,10 +21,10 @@ pragma experimental ABIEncoderV2;
import "./libs/LibConstants.sol";
import "./mixins/MExchangeWrapper.sol";
import "@0x/contracts-libs/contracts/libs/LibAbiEncoder.sol";
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
import "@0x/contracts-libs/contracts/libs/LibFillResults.sol";
import "@0x/contracts-libs/contracts/libs/LibMath.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibAbiEncoder.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibOrder.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibFillResults.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibMath.sol";
contract MixinExchangeWrapper is

View File

@@ -24,10 +24,10 @@ import "./mixins/MWeth.sol";
import "./mixins/MAssets.sol";
import "./mixins/MExchangeWrapper.sol";
import "./interfaces/IForwarderCore.sol";
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
import "@0x/contracts-libs/contracts/libs/LibFillResults.sol";
import "@0x/contracts-libs/contracts/libs/LibMath.sol";
import "@0x/contracts-utils/contracts/src/LibBytes.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibOrder.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibFillResults.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibMath.sol";
contract MixinForwarderCore is

View File

@@ -18,7 +18,7 @@
pragma solidity ^0.4.24;
import "@0x/contracts-libs/contracts/libs/LibMath.sol";
import "@0x/contracts-exchange-libs/contracts/src/LibMath.sol";
import "./libs/LibConstants.sol";
import "./mixins/MWeth.sol";

Some files were not shown because too many files have changed in this diff Show More