Commit 6c8d2a3
Feature/marketplace checkout (#209)
* Implement GenerateBuyTransaction endpoint/request support
* Added sardine whitelist checking support
* Integrate GetSardineSupportedRegions request
* Added GetSardineClientToken endpoint support
* Basic integration for sardine checkout. Moved CollectibleOrder and dependant classes to the Integrations assembly so that Marketplace assembly can inherrit from Integrations assembly (using Transak and Sardine)
* Checkout Options implementation
* Implemented support for the remaining marketplace reader API requests
* GetCheckoutOptions using Order[]
* Added events for reading callbacks and updated tests to make sure they are being hit
* Add tests for checking the supported checkout options for a given order array
* Generate buy transaction implementation and test
* Fixed ListCurrencies implementation such that tests pass
* Finish generateBuyTransaction interface and finish writing test
* Fix GetCollectible implementation such that tests pass
* Rename get collectible listing/offer requests and tests
* Rename ListCollectibleListings/Offers to ListListings/Offers-ForCollectibles and add missing tests
* Rename ListCollectiblesWithLowestListing/HighestOffer to more descriptive names and fix implementation to new endpoint configuration and update test namings
* Remove TransactionGenerator as it was unused and duplicating code
* Added GenerateSellTransaction method and test
* Fix json construction
* Fix GenerateBuy/Sell-Transaction calls such that buy tests pass
* Added GenerateListingTransaction and GenerateOfferTransaction implementation and tests
* Refactor such that I use a more generic EnumConverter as opposed to creating separate json converters for each enum
* Fixed GetCheckoutOptions implementation and test
* Added GetFloorOrder implementation
* Updated Transak NFT checkout integration - not currently working, I am told I have invalid calldata when opening the link. I am also needing to mock the gas estimation as my estimator thinks the transaction will revert (which makes sense as I wouldn't be executing)
* Added Sardine data types
* Added SardineGetNFTCheckoutToken integration and test. Cleaner testing interface
* Handle gas currency case by checking for currency address = zero address
* FirstCommitForQr (#170)
* FirstCommitForQr
Qr Setup and exposure with link to add funds for the respective order chain id in native token address
* More automatization on adding funds
Detecting specifics straight from collectible order
* Automated inputs for QR
Included automated inputs for adding funds via qr transfer link. Fills Qr with selected order Order component information.
* Updated qr token address setting
Made check for nativetokenaddress placeholder to use in case ChainTokenAddress.Get(),(renamed) and also made some minor ui text updates.
* Standarized to EIP-618 transfer link
It includes all etheremum eip-618 compatible wallets (metamask is such). Also revisions on price names and formats
* Use dev for now
* Add preserve compiler tag to constructors that are used by Newtonsoft for json serialization/deserialization so that they don't get striped during builds
* Fix broken tests
* Rename orderbookKind arg to orderbook
* Fixed SardineGetSupportedRegions request and httpclient
* Fix broken test
* Fix more tests
* Fix more tests
* Reset session id and session wallet when trying to login not when logged out. Additionally, removed the federate auth methods from the GuestConnector since this flow isn't supported
* Fix broken tests
* Added basic swap api integration and tests
* Use polygon for test
* Update currency swap API, the slippage percentage is in percentage not in basis points. GetSwapQuote will now first confirm the user has sufficient funds before swapping; unfulfilled swap quotes lead to Sequence being penalized. Fix broken tests
* Throw an exception if we get a null response from API without an error attached
* Fix broken tests and add additional tests for the pre validation before sending swap quote request
* Fix broken generate listing transaction test implementation
* add CreateListingAndBuyIt end to end test
* Finish CreateListingAndBuyIt end to end test
* fixed stuck in loading screen when a user entered an empty email
* Added retry logic to CreateListingAndBuyIt test as the orders are not always refreshed right away which was causing the test to be spotty. The test was still spotty so I added a SeedMarketplace method that can be run to seed the marketplace with 100 offers and 100 listings, this uses a fair amount of credits to run so it should be done sparingly. Added a CreateOfferAndSellIt method that tests the other side of the marketplace. Switched to prod. Fixed GenerateSellTransaction implementation
* Fix GenerateBuy/SellTransaction interface to include amount to buy/sell
* Fix broken tests. Move marketplace seeding logic to its own class MarketplaceSeeder
* Switch currency swap to prod api
* Fix test implementation
* Rename SeeMarketplaceListingsPage/Panel to ViewMarketplaceListingsPage/Panel so we don't look like we've made typos when having an Open... method.
* Added GenerateCancelRequest support and test. Test cleanup
* Added default contract to viewMarketplaceListingsPage
* Update cancel order test such that I filter my fetch to only include the orders created by my wallet
* Added ListAllSellableOffers and ListAllPurchasableListings methods to reader and unit tests
* Added IReader interface with intellisence summaries that is implemented by MarketplaceReader. Added some additional unit tests
* Added ICheckout interface with intellisence summaries that is implemented by Checkout. Added callback events to Checkout. Added intellisence summaries to FilterAffordableOrders
* Extended Step[] such that it is easier to turn these into transactions and submit
* Added ISwap interface with intellisence summary implemented by CurrencySwap. Added callback events
* Update ViewMarketplacePage such that listings are shown with their prices listed in cryptocurrency (with the associated currency token icon displayed) and available amount
* Fetch mock collectible orders for now. Add focus button for marketplace tiles and buy button. Also setup support for token info page
* Populate checkout page with CartItems
* Fix transition screen UI
* increment package version
* Fix broken test
* Switch to prod
* Added Cart and respective tests
* Create a cart with a single listing. Return a decorated error message if we fail to fetch a swap price
* Fix listings page assembly. Add mising array utils function
* Revert "Switch to prod"
This reverts commit 1582e50.
* Update intellisense summaries and fix broken tests
* Build temporary scene to make it easier to update checkout page UI. Add working scrollview to CheckoutPage
* Instantiate estimated cost area, network banner, and divider
* Instantiate crypto payment options
* Checkout setup. Additional CartTests
* increment package version
* Migrate CheckoutPage to use an ICheckoutHelper interface, implemented by Cart and NftCheckout (the same as Cart but with a max of one collectible in the cart). New dev endpoint.
* Get checkout UI working with mocks
* Purchase tokens via demo scene
* Incrementing or decrementing amount of tokens refreshes UI
* Fix broken test
* Fix decimal normalizer for large BigInts
* Add test for purchasing listing with native currency
* Fund account with QR code
* Clear spawned items in CheckoutPage when we close so that we don't end up spawning extra stuff on subsequent openings
* Added on-ramp button to checkout page, supporting transak
* include placeholder image url and name for sardine as these are required
* Added intellisense summaries for ICheckoutHelper
* Switch tests to using dev env
* Rename IReader to IMarketplaceReader
* Rename mock
* Fix compile error
* Cleanup CheckoutPage implementation and make most methods protected to make the class easier to extend
* Fix transak nft checkout test
* Cleanup - remove code I'm not as confident in and remove Temp scene + scripts
---------
Co-authored-by: Tomas Kolakovic <[email protected]>
Co-authored-by: Andy Grüning <[email protected]>1 parent 7ebe426 commit 6c8d2a3
File tree
359 files changed
+23100
-9425
lines changed- Assets
- GuestLogin
- SequenceFrontend/Scenes
- SequenceSDK
- Integrations/Tests
- Mocks
- Sardine
- Marketplace
- Mocks
- WaaS/Tests
- Packages/Sequence-Unity
- Sequence
- Samples~
- DemoScene
- Setup/Resources
- SequenceFrontend
- Prefabs
- Marketplace
- Scripts
- UI
- Demos
- PrimarySales
- Helpers
- Marketplace
- Mocks
- QrCode
- Sprites
- Icons
- SequenceSDK
- Ethereum
- Address
- Transaction
- Indexer
- Integrations
- Sardine
- DataTypes
- Transak/DataTypes
- Marketplace
- DataTypes
- Utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
359 files changed
+23100
-9425
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
| |||
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
28 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
29 | 34 | | |
30 | 35 | | |
31 | 36 | | |
| |||
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
61 | 71 | | |
62 | 72 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
576 | 576 | | |
577 | 577 | | |
578 | 578 | | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
579 | 714 | | |
580 | 715 | | |
581 | 716 | | |
| |||
781 | 916 | | |
782 | 917 | | |
783 | 918 | | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
784 | 1067 | | |
785 | 1068 | | |
786 | 1069 | | |
| |||
1211 | 1494 | | |
1212 | 1495 | | |
1213 | 1496 | | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
1214 | 1502 | | |
1215 | 1503 | | |
1216 | 1504 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments