Skip to content

Instantly share code, notes, and snippets.

View stackup-dev's full-sized avatar

StackUp stackup-dev

View GitHub Profile
address <insert-your-address-here> {
module RockPaperScissors {
use std::signer;
use aptos_framework::randomness;
const ROCK: u8 = 1;
const PAPER: u8 = 2;
const SCISSORS: u8 = 3;
@stackup-dev
stackup-dev / service.rs
Last active April 18, 2024 06:00
Completed service.rs
#![cfg_attr(target_arch = "wasm32", no_main)]
mod state;
use self::state::FungibleToken;
use async_graphql::{
EmptySubscription, InputObject, Object, Request, Response, Schema, SimpleObject,
};
use fungible::Operation;
use linera_sdk::base::{AccountOwner, Amount, ChainId};
@stackup-dev
stackup-dev / contract.rs
Last active April 19, 2024 06:23
Completed contract.rs
// Copyright (c) Zefchain Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
#![cfg_attr(target_arch = "wasm32", no_main)]
mod state;
use self::state::FungibleToken;
use async_trait::async_trait;
use fungible::{Account, Message, Operation};
@stackup-dev
stackup-dev / state.rs
Last active April 9, 2024 01:36
Completed state.rs
// Copyright (c) Zefchain Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
use linera_sdk::base::{Amount, Owner};
use linera_sdk::views::{linera_views, MapView, RootView, ViewStorageContext};
use thiserror::Error;
#[derive(RootView)]
#[view(context = "ViewStorageContext")]
pub struct FungibleToken {
@stackup-dev
stackup-dev / lib.rs
Last active April 9, 2024 01:37
Completed lib.rs
// Copyright (c) Zefchain Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
use async_graphql::{InputObject, Request, Response};
use linera_sdk::base::{Amount, ChainId, ContractAbi, Owner, ServiceAbi};
use linera_sdk::graphql::GraphQLMutationRoot;
use serde::{Deserialize, Serialize};
pub struct FungibleAbi;
@stackup-dev
stackup-dev / contract.rs
Last active April 18, 2024 05:56
contract.rs
// Copyright (c) Zefchain Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
#![cfg_attr(target_arch = "wasm32", no_main)]
mod state;
use self::state::FungibleToken;
use async_trait::async_trait;
use fungible::{Account, Message, Operation};
@stackup-dev
stackup-dev / state.rs
Last active April 19, 2024 06:19
state.rs
// Copyright (c) Zefchain Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
use linera_sdk::base::{Amount, Owner};
use linera_sdk::views::{linera_views, MapView, RootView, ViewStorageContext};
use thiserror::Error;
#[derive(RootView)]
#[view(context = "ViewStorageContext")]
pub struct FungibleToken {
@stackup-dev
stackup-dev / lib.rs
Last active April 23, 2024 18:33
lib.rs
// Copyright (c) Zefchain Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
use async_graphql::{InputObject, Request, Response};
use linera_sdk::base::{Amount, ChainId, ContractAbi, Owner, ServiceAbi};
use linera_sdk::graphql::GraphQLMutationRoot;
use serde::{Deserialize, Serialize};
pub struct FungibleAbi;
@stackup-dev
stackup-dev / NFT.sol
Created February 20, 2024 12:43
ZetaChain Campaign 4 Quest 2
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
import "@zetachain/protocol-contracts/contracts/zevm/SystemContract.sol";
import "@zetachain/protocol-contracts/contracts/zevm/interfaces/zContract.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@zetachain/toolkit/contracts/BytesHelperLib.sol";
contract NFT is zContract, ERC721 {
@stackup-dev
stackup-dev / App.js
Created December 27, 2023 01:13
Step 14
import React, { useEffect, useState } from "react";
import contract from "./contracts/StackUp.json";
import { ethers } from "ethers";
const contractAddr = "0x5FbDB2315678afecb367f032d93F642f64180aa3";
const abi = contract.abi;
function App() {
const [adminAddr, setAdminAddr] = useState("nil");
const [currentAccount, setCurrentAccount] = useState(null);