All Projects → vitelabs → vite-grin-wallet-ios

vitelabs / vite-grin-wallet-ios

Licence: Apache-2.0 license
A CocoaPods wrapper for official Grin wallet and integrated in Vite iOS App

Programming Languages

c
50402 projects - #5 most used programming language
rust
11053 projects
C++
36643 projects - #6 most used programming language
swift
15916 projects

Labels

Projects that are alternatives of or similar to vite-grin-wallet-ios

unplugin-icons
🤹 Access thousands of icons as components on-demand universally.
Stars: ✭ 2,064 (+12800%)
Mutual labels:  vite
bpmn-vue-activiti
基于Vue3.x + Vite + bpmn-js + element-plus + tsx 实现的Activiti流程设计器(Activiti process designer based on Vue3.x + Vite + BPMN-JS + Element-Plus + TSX implementation)
Stars: ✭ 345 (+2056.25%)
Mutual labels:  vite
react-device-frameset
React device frameset component
Stars: ✭ 30 (+87.5%)
Mutual labels:  vite
django-vite
Integration of ViteJS in a Django project.
Stars: ✭ 201 (+1156.25%)
Mutual labels:  vite
nextjs-monorepo-example
Collection of monorepo tips & tricks
Stars: ✭ 874 (+5362.5%)
Mutual labels:  vite
cookbook
VueJS + NodeJS Evergreen Cookbook
Stars: ✭ 440 (+2650%)
Mutual labels:  vite
project template
Enjoy🌈 web项目启动模板 & 命令行cli启动模板 & 库启动模板
Stars: ✭ 19 (+18.75%)
Mutual labels:  vite
revite
Revolt client built with Preact.
Stars: ✭ 606 (+3687.5%)
Mutual labels:  vite
seezoon-stack
一款基于当前最前沿的前端(Vue3 + Vite + Antdv)和后台(Spring boot)实现的低代码开发平台。
Stars: ✭ 227 (+1318.75%)
Mutual labels:  vite
vue-components-lib-seed
🌱 a vue3.0 components library template. Vue3.0 组件库的次佳实践.
Stars: ✭ 153 (+856.25%)
Mutual labels:  vite
open-grin-pool
Open-sourcing pool for grin. Easy to depoly and keep KISS in design. Avaliable to epic (epicash, a grin forkcoin) too.
Stars: ✭ 19 (+18.75%)
Mutual labels:  grin
electron-vite-quick-start
⚡ Full stack uses Vite to run Electron application, including main process.
Stars: ✭ 45 (+181.25%)
Mutual labels:  vite
howdyjs
一个包含Javascript插件、Vue3组件、Vue3指令的工具库
Stars: ✭ 77 (+381.25%)
Mutual labels:  vite
cpwp
Chinese Programmer Wrong Pronunciation
Stars: ✭ 42 (+162.5%)
Mutual labels:  vite
timelino
Twitter-liked platform without toxic and negativity
Stars: ✭ 41 (+156.25%)
Mutual labels:  vite
tailwind-layouts
Collection of Tailwind Layouts
Stars: ✭ 53 (+231.25%)
Mutual labels:  vite
electron-vite-tailwind-starter
This Starter utilizes Electron, Vite and Tailwindcss in combination. It trys to adhare best practices.
Stars: ✭ 141 (+781.25%)
Mutual labels:  vite
image-optimizer
A free and open source tool for optimizing images and vector graphics.
Stars: ✭ 740 (+4525%)
Mutual labels:  vite
idris-grin
GRIN backend for Idris
Stars: ✭ 49 (+206.25%)
Mutual labels:  grin
rgutil
rgutil是基于ES6创建的函数库工具
Stars: ✭ 22 (+37.5%)
Mutual labels:  vite

Vite_GrinWallet iOS

A CocoaPods wrapper for official Grin wallet and integrated in Vite iOS App

Rust-C bridge library and API definition are based on the existing work of IronBelly. All original copyrights have been retained.

Installation

Add the following line to your Podfile:

pod 'Vite_GrinWallet', :git => 'https://github.com/vitelabs/vite-grin-wallet-ios.git'

Bridge API Specification

/** 
 * @brief                           Basic wallet contents summary.
 *
 * @param path                      The directory in which wallet files are stored.
 * @param chain_type                Chain parameters.
 * @param account                   Account name.
 * @param password                  Wallet password.
 * @param check_node_api_http_addr  The api address of a running server node against which transaction inputs will be checked during send.
 * @param refresh_from_node         Whether refresh from node.
 * @param error                     Error code pointer.
 *
 * @return                          Wallet contents summary.
 *
 */
const char* grin_balance(const char* path, const char* chain_type, const char* account, const char* password, const char* check_node_api_http_addr, const bool refresh_from_node, const uint8_t* error);


/** 
 * @brief                           Display transaction informations.
 *
 * @param path                      The directory in which wallet files are stored.
 * @param chain_type                Chain parameters.
 * @param account                   Account name.
 * @param password                  Wallet password.
 * @param check_node_api_http_addr  The api address of a running server node against which transaction inputs will be checked during send.
 * @param refresh_from_node         Whether refresh from node.
 * @param error                     Error code pointer.
 *
 * @return                          Transaction information.
 *
 */
const char* grin_txs_get(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const bool refresh_from_node, const uint8_t* error);


/** 
 * @brief                           Display one transaction information.
 *
 * @param path                      The directory in which wallet files are stored.
 * @param chain_type                Chain parameters.
 * @param account                   Account name.
 * @param password                  Wallet password.
 * @param check_node_api_http_addr  The api address of a running server node against which transaction inputs will be checked during send.
 * @param refresh_from_node         Whether refresh from node.
 * @param tx_id                     Transaction id.
 * @param error                     Error code pointer.
 *
 * @return                          Transaction information.
 *
 */
const char* grin_tx_get(const char* path, const char* chain_type, const char* account, const char* password, const char* check_node_api_http_addr, const bool refresh_from_node, const uint32_t tx_id, const uint8_t* error);


/** 
 * @brief Builds a transaction to send coins and creat transaction file
 *
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param amount                        The amount to send, in nanogrins. (`1 G = 1_000_000_000nG`).
 * @param selection_strategy_is_use_all If `true`, attempt to use up as many outputs as possible to create the transaction. 
 * @param message                       An optional participant message to include alongside the sender's public ParticipantData within the slate.
 * @param error                         Error code pointer.
 *
 * @return                              Transaction slate.
 *
 */
const char* grin_tx_create(const char* path, const char* chain_type, const char* account, const char* password, const char* check_node_api_http_addr, const uint64_t amount, const bool selection_strategy_is_use_all, const char* message, const uint8_t* error);


/** 
 * @brief                               Estimates the amount to be locked and fee for the transaction with two strategies.
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param amount                        The amount to send, in nanogrins. (`1 G = 1_000_000_000nG`).
 * @param error                         Error code pointer.
 *
 * @return                              A result containing (total, fee) with two strategies
 *
 */
const char* grin_tx_strategies(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const uint64_t amount, const uint8_t* error);


/** 
 * @brief                               Cancels an previously created transaction, freeing previously locked outputs for use again
 *
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param id                            Transaction id.
 * @param error                         Error code pointer.
 *
 * @return                              A result containing (total, fee) with two strategies
 *
 */
const char* grin_tx_cancel(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const uint32_t id, const uint8_t* error);


/** 
 * @brief                               Processes a transaction file to accept a transfer from a sender
 * 
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param slate_path                    The directory in which slate files are stored.
 * @param message                       An optional participant message to include alongside the sender's public ParticipantData within the slate.
 * @param error                         Error code pointer.
 *
 * @return                              Transaction slate.
 *
 */
const char* grin_tx_receive(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const char* slate_path, const char* message, const uint8_t* error);


/** 
 * @brief                               Processes a receiver's transaction file to finalize a transfer.
 * 
 * @param path                          Wallet files directory.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param slate_path                    The directory in which slate files are stored.
 * @param error                         Error code pointer.
 *
 * @return                              Void String.
 *
 */
const char* grin_tx_finalize(const char* path,const char* chain_type,  const char* account,const char* password, const char* check_node_api_http_addr, const char* slate_path, const uint8_t* error);


/** 
 * @brief                               Builds a transaction to send coins and sends to the specified listener directly
 * 
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param amount                        The amount to send, in nanogrins. (`1 G = 1_000_000_000nG`).
 * @param selection_strategy_is_use_all If `true`, attempt to use up as many outputs as possible to create the transaction. 
 * @param message                       An optional participant message to include alongside the sender's public ParticipantData within the slate.
 * @param dest                          Http address.
 * @param error                         Error code pointer.
 *
 * @return                              Void String.
 *
 */
const char* grin_tx_send(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const uint64_t amount, const bool selection_strategy_is_use_all, const char* message,  const char* dest, const uint8_t* error);


/** 
 * @brief                               Reposts a stored, completed but unconfirmed transaction to the chain.
 * 
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param tx_id                         Transaction id.
 * @param error                         Error code pointer.
 *
 * @return                              Void String.
 *
 */
const char* grin_tx_repost(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const uint32_t tx_id, const uint8_t* error);


/** 
 * @brief                               Initialize a new wallet seed file and database.
 * 
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param error                         Error code pointer.
 *
 * @return                              The mnemonic word.
 *
 */
const char* grin_wallet_init(const char* path, const char* chain_type, const char* password, const char* check_node_api_http_addr, const uint8_t* error);


/** 
 * @brief                               Get wallet mnemonic word.
 *
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param error                         Error code pointer.
 *
 * @return                              The mnemonic phrase.
 *
 */
const char* grin_wallet_phrase(const char* path, const char* chain_type, const char* password, const char* check_node_api_http_addr, const uint8_t* error);


/** 
 * @brief                               Recovery the wallet from mnemonic phrase.
 *
 * @param path                          Wallet files directory.
 * @param chain_type                    Chain parameters.
 * @param phrase                        The mnemonic phrase.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param error                         Error code pointer.
 *
 * @return                              The mnemonic phrase.
 *
 */
const char* grin_wallet_recovery(const char* path, const char* chain_type, const char* phrase, const char* password, const char* check_node_api_http_addr, const uint8_t* error);



/** 
 * @brief                               Checks a wallet's outputs against a live node, repairing and restoring missing outputs if required
 *
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param error                         Error code pointer.
 *
 * @return                              The mnemonic phrase.
 *
 */
const char* grin_wallet_check(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const uint8_t* error);


/** 
 * @brief                               Restores a wallet contents from a seed file
 *
 * @param path                          The directory in which wallet files are stored.
 * @param chain_type                    Chain parameters.
 * @param account                       Account name.
 * @param password                      Wallet password.
 * @param check_node_api_http_addr      The api address of a running server node against which transaction inputs will be checked during send.
 * @param error                         Error code pointer.
 *
 * @return                              The mnemonic phrase.
 *
 */
const char* grin_wallet_restore(const char* path, const char* chain_type, const char* account,const char* password, const char* check_node_api_http_addr, const uint8_t* error);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].