From 1e853ae78165935ddeebeef7e071d26358ed3532 Mon Sep 17 00:00:00 2001 From: trevorjtclarke Date: Sat, 5 Feb 2022 16:41:14 -0800 Subject: [PATCH] Adding old files --- .gitignore | 16 + Cargo.lock | 1293 +++++++++++++++++ Cargo.toml | 16 + LICENSE | 21 + README.md | 163 +++ build.sh | 6 + sputnikdao-factory/Cargo.toml | 12 + sputnikdao-factory/README.md | 31 + sputnikdao-factory/build.sh | 5 + .../res/sputnikdao_factory.wasm | Bin 0 -> 408511 bytes sputnikdao-factory/src/lib.rs | 95 ++ sputnikdao/Cargo.toml | 12 + sputnikdao/README.md | 155 ++ sputnikdao/build.sh | 5 + sputnikdao/res/sputnikdao.wasm | Bin 0 -> 267912 bytes sputnikdao/src/bounty.rs | 32 + sputnikdao/src/lib.rs | 722 +++++++++ 17 files changed, 2584 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 LICENSE create mode 100644 README.md create mode 100755 build.sh create mode 100644 sputnikdao-factory/Cargo.toml create mode 100644 sputnikdao-factory/README.md create mode 100755 sputnikdao-factory/build.sh create mode 100755 sputnikdao-factory/res/sputnikdao_factory.wasm create mode 100644 sputnikdao-factory/src/lib.rs create mode 100644 sputnikdao/Cargo.toml create mode 100644 sputnikdao/README.md create mode 100755 sputnikdao/build.sh create mode 100755 sputnikdao/res/sputnikdao.wasm create mode 100644 sputnikdao/src/bounty.rs create mode 100644 sputnikdao/src/lib.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..22bdab4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# Generated by Cargo +# will have compiled files and executables +target/ + +# These are backup files generated by rustfmt +**/*.rs.bk + +# IDEA +.idea + +# Key folders +neardev +.neardev + +**/nodemodules +**/*.lock.json diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..7ec134d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1293 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.4", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest", + "opaque-debug", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + +[[package]] +name = "borsh" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +dependencies = [ + "borsh-derive", + "hashbrown", +] + +[[package]] +name = "borsh-derive" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "byte-slice-cast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cpufeatures" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +dependencies = [ + "libc", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2", + "zeroize", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "generic-array" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.2+wasi-snapshot-preview1", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "indexmap" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + +[[package]] +name = "keccak" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c" + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[package]] +name = "memchr" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" + +[[package]] +name = "memory_units" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" + +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "near-account-id", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + +[[package]] +name = "near-primitives-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" +dependencies = [ + "base64 0.11.0", + "borsh", + "bs58", + "derive_more", + "hex", + "lazy_static", + "near-account-id", + "num-rational", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "near-rpc-error-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" +dependencies = [ + "near-rpc-error-core", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "near-sdk" +version = "4.0.0-pre.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4f17c763e91999827a2ad30b909f79e82a56c448bf7170ed72841756397e5a3" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "near-primitives-core", + "near-sdk-macros", + "near-sys", + "near-vm-logic", + "serde", + "serde_json", + "wee_alloc", +] + +[[package]] +name = "near-sdk-macros" +version = "4.0.0-pre.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07b8d59302bf900707c41654a7ba178c5a2d8040a8812647f6b7e7e28dc5b1" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "near-sys" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6a7aa3f46fac44416d8a93d14f30a562c4d730a1c6bf14bffafab5f475c244a" + +[[package]] +name = "near-vm-errors" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" +dependencies = [ + "borsh", + "hex", + "near-account-id", + "near-rpc-error-macro", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", + "near-primitives-core", + "near-vm-errors", + "ripemd160", + "serde", + "sha2", + "sha3", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.2", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "ppv-lite86" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro2" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.4", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + +[[package]] +name = "regex" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer", + "digest", + "opaque-debug", +] + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "ryu" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" + +[[package]] +name = "semver" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7" + +[[package]] +name = "serde" +version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer", + "cfg-if 1.0.0", + "cpufeatures", + "digest", + "opaque-debug", +] + +[[package]] +name = "sha3" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +dependencies = [ + "block-buffer", + "digest", + "keccak", + "opaque-debug", +] + +[[package]] +name = "signature" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4" + +[[package]] +name = "smallvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sputnikdao" +version = "0.1.0" +dependencies = [ + "near-sdk", +] + +[[package]] +name = "sputnikdao-factory" +version = "0.1.0" +dependencies = [ + "near-sdk", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "syn" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "typenum" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + +[[package]] +name = "uint" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "validator" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d6937c33ec6039d8071bcf72933146b5bbe378d645d8fa59bdadabfc2a249" +dependencies = [ + "idna", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9680608df133af2c1ddd5eaf1ddce91d60d61b6bc51494ef326458365a470a" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + +[[package]] +name = "wee_alloc" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "memory_units", + "winapi", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c88870063c39ee00ec285a2f8d6a966e5b6fb2becc4e8dac77ed0d370ed6006" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e8f13fef10b63c06356d65d416b070798ddabcadc10d3ece0c5be9b3c7eddb" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..ac12273 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,16 @@ +[workspace] +# include a member for each contract +members = [ + "sputnikdao", + "sputnikdao-factory" +] + +[profile.release] +codegen-units = 1 +# Tell `rustc` to optimize for small code size. +opt-level = "z" +lto = true +debug = true +panic = "abort" +# Opt into extra safety checks on arithmetic operations https://stackoverflow.com/a/64136471/249801 +overflow-checks = true diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ae288db --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 near-daos + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..401de4e --- /dev/null +++ b/README.md @@ -0,0 +1,163 @@ +# !V1 ARCHIVE! + +### IMPORTANT: This repo is an archive! + +Please see [Sputnik DAO Contracts](https://github.com/near-daos/sputnik-dao-contract) repo for the evergreen version of these contracts. This repo has been archived and made available for reference only. + +---- + +# Sputnik DAO Contracts + +A simple version of a DAO to give out tips, bounties and grants. +Allows anyone to send a proposal to reward other people with funds and get a council to vote for it. + +The major difference with Moloch DAO design is that this contract would receive its function via donation and council has equal rights. + +Spec for v1: + - Contract contains all the $NEAR in itself. It's initialized with it or receives later in form of donation. + - There are council members: list of accounts that can vote for various activity. All council members have equal weight. + - Next methods are available that can be called by anyone who attaches `bond` $NEAR (to prevent spam): + - Add new council member + - Remove council member + - Given funds to `receiver` for `description` (up to 280 characters) and proposed `amount` + - Finalize proposal + When proposal has passed the require time, anyone can call to finalize it. Rules for passing proposal see below. + - X of votes to approve proposal depends on the "policy": Policy allows to set number of votes required for different amount of funds spent. + - Only council members (or self) can call: + - `vote` for a given proposal. + - ``Finalize proposal can be called + - If this vote achieves >50% of council members saying "YES" - it executes action on success. + - Upgradability with super majority vote of the council + +Voting policy is a list of amounts and number or percentage of votes required. +Where the last number in the list is used for all the non payouts (let's call it MAX_VOTE). + +## Voting rules + +Next rules are used for voting: + - There is a policy that defines for `Payout` proposals at different `amount` how much "YES" votes are required. For non-`Payout` proposals - it's always 1/2 + 1 of council. + - If there is 0 "NO" votes and given "YES" votes - the expiration date updates to current time + cooldown time. + - If there is at least 1 "NO" then MAX_VOTE of "YES" votes is required. + - If there is MAX_VOTE "NO" votes - the proposal gets rejected and bond not returned + - If there is no super majority and time to withdraw have passed - proposal fails and the bond gets returned. + +For example, voting policy: + - `[(0, NumOrRation::Ration(1, 2))]` -- meaning that for any amount or vote MAX_VOTE = 1/2 + 1 is used. + - `[(100, NumOrRation::Number(2)), (10000000, NumOrRation::Ration(2, 3))]` -- if amount is below 100 - 2 votes is enough within grace period. Otherwise MAX_VOTE = 2/3 + 1 to pass any larger proposal or add/remove council members. + +Specific examples: + - If there are 2 councils, with default policy of 50%: proposal needs both of them to vote YES to "Succeed" or both of them to vote NO to be "Rejected". If they vote differently, the vote will be considered "Fail" and `bond` will be returned back to proposer. + +## Use cases + + - A person made a cool video about NEAR Wallet, development IDE, etc. They themself or anyone else can suggest to give them a bounty. + - You saw really cool tweet bashing STATE bill - send that person a bounty (need them to create account though). + - Someone contributed a small PR to one of NEAR libraries. One of maintainers can send them a bounty. + - A person in NEAR Collective went beyond and above - another person in NEAR Collective sent them a grant. + - Another GrantDAO applies for a grant to achieve their longer term goal via distributing to their guild members. + - Validators have their own GrantDAO to fund ping bot or other helpful tools for validators. + +**Even better: fork this code and create a more interesting ways to distribute.** + +Every guild can fork it and expand how this can be made more inclusive or more sophisticated. + +## Needs + + - Nice frontend to visualize past and present proposals, creation of proposal, payouts, stats, etc. + - This needs some form of notification service + +# Development + +Follow general WASM / Rust contract instructions. + +## Deploy to TestNet + +```bash + +# Deploy to new account on TestNet +near dev-deploy res/sputnikdao.wasm + +# Set contract Id (fish) +set CONTRACT_ID "dev-1608720833104-8969578" + +# Initialize contract with given council and parameters (this is for testing, where you stil have access key to the contract). +# For production use either a single command or the factory in ../sputnikdao-factory +near call $CONTRACT_ID new '{"purpose": "test", "council": ["testmewell.testnet", "illia"], "bond": "1000000000000000000000000", "vote_period": "1800000000000", "grace_period": "1800000000000"}' --accountId $CONTRACT_ID + +# Get current number of proposals. +near view $CONTRACT_ID get_num_proposals + +# Add new proposal to pay `illia` 1N. +near call $CONTRACT_ID add_proposal '{"proposal": {"target": "illia", "description": "test", "kind": {"type": "Payout", "amount": "1000000000000000000000000"}}}' --accountId=illia --amount 1 + +# View proposal #0 +near view $CONTRACT_ID get_proposal '{"id": 0}' +{ + status: 'Vote', + proposer: 'illia', + target: 'illia', + description: 'test', + kind: { Payout: { amount: '1000000000000000000000000' } }, + vote_period_end: 1607497778113967900, + vote_yes: 0, + vote_no: 0, + votes: {} +} + +# Get `limit=1` proposals from id=0 +near view $CONTRACT_ID get_proposals '{"from_index": 0, "limit": 1}' + +# Vote for a proposal #0 `Yes` from `illia` +near call $CONTRACT_ID vote '{"id": 0, "vote": "Yes"}' --accountId illia + +# Vote for a proposal #0 `No` from `testmewell.testnet` +near call $CONTRACT_ID vote '{"id": 0, "vote": "No"}' --accountId testmewell.testnet + +# Proposal to add new council `testnet`. +near call $CONTRACT_ID add_proposal '{"proposal": {"target": "testnet", "description": "test", "kind": {"type": "NewCouncil"}}}' --accountId=illia --amount 1 + +# Proposal to remove council `illia`. +near call $CONTRACT_ID add_proposal '{"proposal": {"target": "illia", "description": "test", "kind": {"type": RemoveCouncil"}}}' --accountId=illia --amount 1 + +# Proposal to change vote period to 30min (in nanoseconds): +near call $CONTRACT_ID add_proposal '{"proposal": {"target": "illia", "description": "test", "kind": {"type": "ChangeVotePeriod", "vote_period": "1800000000000"}}}' --accountId=illia --amount 1 + +# Proposal to change purpose of this DAO: +near call $CONTRACT_ID add_proposal '{"proposal": {"target": "illia", "description": "test", "kind": {"type": "ChangePurpose", "purpose": "test me well"}}}' --accountId=illia --amount 1 + +# Proposal to change policy for this DAO, with next voting policy: +# - up until 100N: just need 2 votes +# - up until 1000N: need 3 votes +# - up until 2000N: need 50% + 1 votes +# - for anything larger or other types of proposals need 66% + 1 of votes +near call $CONTRACT_ID add_proposal '{"proposal": {"target": "illia", "description": "test", "kind": {"type": "ChangePolicy", "policy": [{"max_amount": "100", "votes": 2}, {"max_amount": "1000", "votes": 3}, {"max_amount": "2000", "votes": [1, 2]}, {"max_amount": "10000000", "votes": [2, 3]}]}}}' --accountId=illia --amount 1 + +# Finalize a proposal that has no deciding vote and expired. +near call $CONTRACT_ID finalize '{"id": 4}' +``` + +# Ideas for improving + +## Other tokens + +Add support for other tokens in the "bank". +Proposal can then specify amount in a token from whitelisted set. +There can be internal exchange function as well in case it's needed. + +## Bounties + +Bounties management is hard right now and done via github / notion. + +Here is the idea to attach bounties to the same council: + - Anyone can add a bounty: description + how much to pay for the bounty + - Council votes to approve the bounty (same thing with small bounties need less votes) + - There is a list of bounties, separate from requests + - People can indicate that they are working on it + - When someone completed bounty - they ping the bounty for "review" and council votes if the bounty is solved. + - When council voted -> bounty gets paid out + +## Canceling / redirecting proposals + +If proposal is made to a wrong DAO, it's not great to take the bond away from proposer. +It's possible to add an option to transfer proposals from one DAO to another DAO. +Also people can vote to dismiss instead of rejecting it, which will return bond. diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..250161e --- /dev/null +++ b/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -e + +cargo +stable build --target wasm32-unknown-unknown --release +cp target/wasm32-unknown-unknown/release/sputnikdao.wasm ./sputnikdao/res/ +cp target/wasm32-unknown-unknown/release/sputnikdao_factory.wasm ./sputnikdao-factory/res/ \ No newline at end of file diff --git a/sputnikdao-factory/Cargo.toml b/sputnikdao-factory/Cargo.toml new file mode 100644 index 0000000..361e344 --- /dev/null +++ b/sputnikdao-factory/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "sputnikdao-factory" +version = "0.1.0" +authors = ["Illia Polosukhin "] +edition = "2018" +publish = false + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +near-sdk = "4.0.0-pre.4" diff --git a/sputnikdao-factory/README.md b/sputnikdao-factory/README.md new file mode 100644 index 0000000..fef6c90 --- /dev/null +++ b/sputnikdao-factory/README.md @@ -0,0 +1,31 @@ +# SputnikDAO Factory + +# Deployment & Usage + +## TestNet + +``` +near dev-deploy --wasmFile=res/sputnikdao_factory.wasm + +# bash +CONTRACT_ID="dev-1608694678554-8567049" +# fish +set CONTRACT_ID "dev-1608694678554-8567049" + +# Initialize the factory. +near call $CONTRACT_ID new '{}' --accountId $CONTRACT_ID + +# bash +ARGS=`echo '{"purpose": "test", "council": ["testmewell.testnet", "illia"], "bond": "1000000000000000000000000", "vote_period": "1800000000000", "grace_period": "1800000000000"}' | base64` +# fish +set ARGS (echo '{"purpose": "test", "council": ["testmewell.testnet", "illia"], "bond": "1000000000000000000000000", "vote_period": "1800000000000", "grace_period": "1800000000000"}' | base64) + +# Create a new DAO with the given parameters. +near call $CONTRACT_ID create "{\"name\": \"test\", \"public_key\": null, \"args\": \"$ARGS\"}" --accountId $CONTRACT_ID --amount 30 --gas 100000000000000 + +# Create a new DAO with the given parameters while having Full Access Key to the account (trusted, but useful in case of testing or upgrades) +near call $CONTRACT_ID create "{\"name\": \"test\", \"public_key\": \"\", \"args\": \"$ARGS\"}" --accountId $CONTRACT_ID --amount 30 --gas 100000000000000 + +# List all created DAOs. +near view $CONTRACT_ID get_dao_list +``` diff --git a/sputnikdao-factory/build.sh b/sputnikdao-factory/build.sh new file mode 100755 index 0000000..c38641f --- /dev/null +++ b/sputnikdao-factory/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -e + +RUSTFLAGS='-C link-arg=-s' cargo +stable build --target wasm32-unknown-unknown --release +cp ../target/wasm32-unknown-unknown/release/sputnikdao_factory.wasm ./res/ diff --git a/sputnikdao-factory/res/sputnikdao_factory.wasm b/sputnikdao-factory/res/sputnikdao_factory.wasm new file mode 100755 index 0000000000000000000000000000000000000000..9b5e364f533806a21629e5c7830fd9d49762c8aa GIT binary patch literal 408511 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

a0{^=Sn4M~S)c!a<@rg>=P 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

Q02<;Y4a>24rB)ka-T}oe0S!-43f4# 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