Git Product home page Git Product logo

saturn-sdk's Introduction

An Omni-Chain Account Unification & Decentralized Management Network for DAOs

Official Repository for the InvArch Network - built using Rust & the Polkadot SDK

Substrate version Medium License
Twitter URL Discord Telegram


Network Overview

InvArch is a multichain account abstraction hub optimized for decentralized operations & financial management.
It provides users & organizations with a single non-custodial Web3 account that allows them to transact & exist
as first-class entities across every & any blockchain. InvArch is a public network, governed by a global community,
and accessible to everyone, allowing people to collaborate, share ownership, & function as multichain organizations!

Feature Description
Multichain DAO Accounts WIP
NFT DAOs & NFT Members WIP
DID, KYC, KYB for DAOs WIP
Self-Executing Governance WIP
Custom Member Permissions WIP
Automated Treasury Flows WIP
Custom Operational Logic WIP
DAO Staking & Funding WIP
Tokenized IP Primitives WIP
IP Rights Management WIP

How to contribute

I'm really glad you're reading this, because we need volunteer developers to help this idea become a reality!

If you haven't already, come find us on the #InvArch Discord. We want you working on things you're excited about!

Submitting changes

Please send a GitHub Pull Request to InvArch with a clear list of what you've done (read more about pull requests). Please make sure all of your commits are atomic (one feature per commit).

Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this:

$ git commit -m "A brief summary of the commit
> 
> A paragraph describing what changed and its impact."

Please make sure to update tests as appropriate.

Additional Resources

GPL License (Open-Source)
Substrate Node Template

saturn-sdk's People

Contributors

arrudagates avatar dependabot[bot] avatar pedroapfilho avatar shibatales avatar xcastronaut avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

saturn-sdk's Issues

Saturn SDK v2

Saturn SDK v2 will be a complete rewrite on Rust using Subxt as the Substrate client, the goal is to have a WASM binary with TypeScript interfaces generated through bindgen, this should solve every issue that comes with p.js api's approach of type generation by using only Rust primitives with direct TS equivalents in the function signatures and letting the Rust/Substrate type conversions happen inside the Rust functions.

As a bonus we also get a Rust version of the SDK with no extra work.

Create multisig

There should be a function to create a multisig, taking the INV-Core parameters like threshold and default permission as arguments in the function.

Generalized chain API interface

The SDK currently revolves around polkadot-js/api, this issue tracks the implementation of a generalized interface and the integration of not only polkadot-js/api into this interface, but also other read/write APIs, like CAPI and substrate-api-sidecar.

Preset calls with metadata

Saturn allows for custom metadata that can be used for the call being made to carry it's context and intentions with it to be interpreted and used in custom renders that replace the traditional call data json/yaml renders.

We should have preset calls that come with metadata already in it and we should have a metadata matcher to interpret metadata from retrieved multisig calls.

Things like function:metadata:

batchMemberManagement:"Sat:BMM"
setParameters:"Sat:SP"
callXcm:"Sat:CX"
balanceTransfer:"Sat:BT"
xcmBalanceTransfer:"Sat:XBT"

And then the matcher could take the entire multisig call data and transform it into an enum like so:

enum {
batchMemberManagement { members: {adding: bool, who: account, amount: number}[] },
setParameters { metadata: string, frozenTokens: bool, minimumSupport: perbill, requiredApproval: perbill },
callXcm { destination: string, call: string, weight: number },
balanceTransfer { to: account, amount: number },
xcmBalanceTransfer { asset: { chain: string, token: string }, to: account, amount: number }
}

This basically allows for extremely easy Saturn integration with the ability to create custom rendering for these predefined calls, and also gives developers the base to implement their own predefined functions with custom metadata and matchers.

Overall architecture

We should have a class that contains all of the functions and keep everything up to general typescript standards.
Or another architecture designed besides classes if it would make fora better design.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.