diff --git a/src/api/GraffitiAuctionACI.json b/src/api/GraffitiAuctionACI.json new file mode 100644 index 000000000..35b6e35da --- /dev/null +++ b/src/api/GraffitiAuctionACI.json @@ -0,0 +1,332 @@ +[ + { + "namespace": { + "name": "ListInternal", + "typedefs": [] + } + }, + { + "namespace": { + "name": "List", + "typedefs": [] + } + }, + { + "namespace": { + "name": "Pair", + "typedefs": [] + } + }, + { + "contract": { + "functions": [ + { + "arguments": [ + { + "name": "geolocation'", + "type": "string" + }, + { + "name": "canvas_width'", + "type": "int" + }, + { + "name": "canvas_height'", + "type": "int" + } + ], + "name": "init", + "payable": false, + "returns": "GraffitiAuction.state", + "stateful": false + }, + { + "arguments": [], + "name": "get_auction_metadata", + "payable": false, + "returns": "GraffitiAuction.auction_metadata", + "stateful": false + }, + { + "arguments": [ + { + "name": "time_capacity'", + "type": "int" + }, + { + "name": "start_block_height'", + "type": "int" + }, + { + "name": "end_block_height'", + "type": "int" + }, + { + "name": "minimum_time_per_bid'", + "type": "int" + }, + { + "name": "maximum_time_per_bid'", + "type": "int" + } + ], + "name": "add_auction_slot", + "payable": false, + "returns": "int", + "stateful": true + }, + { + "arguments": [], + "name": "all_auction_slots", + "payable": false, + "returns": { + "list": [ + "GraffitiAuction.auction_slot" + ] + }, + "stateful": false + }, + { + "arguments": [ + { + "name": "id", + "type": "int" + } + ], + "name": "get_auction_slot", + "payable": false, + "returns": "GraffitiAuction.auction_slot", + "stateful": false + }, + { + "arguments": [ + { + "name": "auction_slot_id", + "type": "int" + }, + { + "name": "time'", + "type": "int" + }, + { + "name": "artwork_reference'", + "type": "string" + }, + { + "name": "x'", + "type": "int" + }, + { + "name": "y'", + "type": "int" + } + ], + "name": "place_bid", + "payable": true, + "returns": "GraffitiAuction.auction_slot", + "stateful": true + }, + { + "arguments": [ + { + "name": "to_address", + "type": "address" + } + ], + "name": "admin_withdraw_to_address", + "payable": false, + "returns": "int", + "stateful": true + }, + { + "arguments": [], + "name": "admin_withdraw_to_admin", + "payable": false, + "returns": "int", + "stateful": true + } + ], + "kind": "contract_main", + "name": "GraffitiAuction", + "payable": false, + "state": { + "record": [ + { + "name": "is_admin", + "type": "GraffitiAuction.is_admin" + }, + { + "name": "auction_metadata", + "type": "GraffitiAuction.auction_metadata" + }, + { + "name": "latest_auction_slot_id", + "type": "int" + }, + { + "name": "latest_bid_seq_id", + "type": "int" + }, + { + "name": "auction_slots", + "type": "GraffitiAuction.auction_slots_map" + } + ] + }, + "typedefs": [ + { + "name": "is_admin", + "typedef": { + "map": [ + "address", + "bool" + ] + }, + "vars": [] + }, + { + "name": "auction_slots_map", + "typedef": { + "map": [ + "int", + "GraffitiAuction.auction_slot" + ] + }, + "vars": [] + }, + { + "name": "auction_metadata", + "typedef": { + "record": [ + { + "name": "geolocation", + "type": "string" + }, + { + "name": "canvas_width", + "type": "int" + }, + { + "name": "canvas_height", + "type": "int" + } + ] + }, + "vars": [] + }, + { + "name": "auction_slot", + "typedef": { + "record": [ + { + "name": "id", + "type": "int" + }, + { + "name": "time_capacity", + "type": "int" + }, + { + "name": "minimum_time_per_bid", + "type": "int" + }, + { + "name": "maximum_time_per_bid", + "type": "int" + }, + { + "name": "successful_bids", + "type": { + "list": [ + "GraffitiAuction.bid" + ] + } + }, + { + "name": "failed_bids", + "type": { + "list": [ + "GraffitiAuction.bid" + ] + } + }, + { + "name": "start_block_height", + "type": "int" + }, + { + "name": "end_block_height", + "type": "int" + } + ] + }, + "vars": [] + }, + { + "name": "bid", + "typedef": { + "record": [ + { + "name": "seq_id", + "type": "int" + }, + { + "name": "user", + "type": "address" + }, + { + "name": "amount", + "type": "int" + }, + { + "name": "time", + "type": "int" + }, + { + "name": "amount_per_time", + "type": "int" + }, + { + "name": "data", + "type": "GraffitiAuction.artwork_data" + } + ] + }, + "vars": [] + }, + { + "name": "artwork_data", + "typedef": { + "record": [ + { + "name": "artwork_reference", + "type": "string" + }, + { + "name": "coordinates", + "type": "GraffitiAuction.coordinates" + } + ] + }, + "vars": [] + }, + { + "name": "coordinates", + "typedef": { + "record": [ + { + "name": "x", + "type": "int" + }, + { + "name": "y", + "type": "int" + } + ] + }, + "vars": [] + } + ] + } + } +] diff --git a/src/assets/graffiti/5dca8eb572c3a570288364.gif b/src/assets/graffiti/5dca8eb572c3a570288364.gif new file mode 100644 index 000000000..ce48f0c4d Binary files /dev/null and b/src/assets/graffiti/5dca8eb572c3a570288364.gif differ diff --git a/src/assets/graffiti/graffiti_logo.svg b/src/assets/graffiti/graffiti_logo.svg new file mode 100644 index 000000000..1ffb3f2fd --- /dev/null +++ b/src/assets/graffiti/graffiti_logo.svg @@ -0,0 +1,59 @@ + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/graffiti/latest.svg b/src/assets/graffiti/latest.svg new file mode 100644 index 000000000..61c72b963 --- /dev/null +++ b/src/assets/graffiti/latest.svg @@ -0,0 +1 @@ + diff --git a/src/assets/graffiti/satoshi.svg b/src/assets/graffiti/satoshi.svg new file mode 100644 index 000000000..b3dffa0f8 --- /dev/null +++ b/src/assets/graffiti/satoshi.svg @@ -0,0 +1,4 @@ + + diff --git a/src/assets/graffiti/step1.png b/src/assets/graffiti/step1.png new file mode 100644 index 000000000..113df1ee7 Binary files /dev/null and b/src/assets/graffiti/step1.png differ diff --git a/src/assets/graffiti/step2.png b/src/assets/graffiti/step2.png new file mode 100644 index 000000000..81c8ab49f Binary files /dev/null and b/src/assets/graffiti/step2.png differ diff --git a/src/assets/graffiti/step3.png b/src/assets/graffiti/step3.png new file mode 100644 index 000000000..cbdca05be Binary files /dev/null and b/src/assets/graffiti/step3.png differ diff --git a/src/components/ToastProvider.tsx b/src/components/ToastProvider.tsx index 38a3f784c..bf114d6ef 100644 --- a/src/components/ToastProvider.tsx +++ b/src/components/ToastProvider.tsx @@ -16,7 +16,7 @@ export default function ToastProvider({ children }: { children: React.ReactNode return ( {children} -
+
{toasts.map((t) => (
{t.message}
diff --git a/src/components/layout/RightRail.tsx b/src/components/layout/RightRail.tsx index 2a2db3f80..6de39f353 100644 --- a/src/components/layout/RightRail.tsx +++ b/src/components/layout/RightRail.tsx @@ -1161,6 +1161,13 @@ export default function RightRail({ > 🔄 Swap Tokens +