1.1.3 • Published 2 years ago

@coolwallet/xlm v1.1.3

Weekly downloads
10
License
ISC
Repository
github
Last release
2 years ago

CoolWallet Stellar (XLM) SDK

Version

Typescript library with support for the integration of Stella for third party application, include the functionalities of generation of addresses and signed transactions.

Install

npm i @coolwallet/xlm

Usage

import XLM from '@coolwallet/xlm'
import { TransactionBuilder } from 'stellar-sdk';
const xlm = new XLM(COIN_SPECIES); //COIN_SPECIES.XLM, COIN_SPECIES.KAU COIN_SPECIES.KAG

const address = await xlm.getAddress(transport, appPrivateKey, appId)
// GBKC7MNVXPYN75B6XB5BRBPXYXBDLKVEGJERPNQJPFOAGS2OFQICZBGG

const addressBip44 = await xlm.getAddress(transport, appPrivateKey, appId, 'BIP44');
// GBE6DJHSIR6RLPCTJLIYBCA7VUOFNJ5YW6MSAOJL3QQ4E2BI3OA5EFP4


const param = new TransactionBuilder(fundingAccount, {
	fee: parseInt(moveDecimal(fee, 7), 10),
	networkPassphrase: data.networkPassphrase,
})
	.addOperation(operation)
	.setTimeout(TimeoutInfinite)
	.addMemo(memo);

const tx = param.build();

const txData = {
	from: publicKey,
	to: publicKey,
	amount: value * 10000000,
	fee: tx.fee,
	sequence: tx.sequence,
	minTime: tx.timeBounds.minTime,
	maxTime: tx.timeBounds.maxTime,
	memoType: memoType,
	memo: "",
	isCreate: true
}

const signTxData = {
    transport,
    appPrivateKey,
    appId,
    transaction,
    protocol
}

const signatureTx = await xlm.signTransaction(signTxData)

In construct, you can choose the chain you want to implement.

Methods

getAddress

Description

CoolWallet currently support 2 derivation path, the default one is SLIP0010.

m/44'/94'/0'

We call the fourth parameter protocol, which can only be either 'BIP44' or 'SLIP0010'. You will need to specify the protocol parameter when you're signing a transaction.

async getAddress(
    transport: Transport, 
    appPrivateKey: string, 
    appId: string
): Promise<string> 

Arguments

ArgDescriptionTypeRequired
transportObject to communicate with CoolWallet deviceTransportTRUE
appPrivateKeyPrivate key for the connected applicationstringTRUE
appIdID for the connected applicationstringTRUE
protocolDefine the protocol you're signingPROTOCOLFALSE

signTransaction

Description

We expect you to build transactions with the official stellar sdk. You can easily use the .signatureBase() method to get the buffer that CoolWallet needs for signing.

async signTransaction(signTxData: signTxType):Promise<string>

signTxType Arguments

ArgDescriptionTypeRequired
transportObject to communicate with CoolWallet deviceTransportTRUE
appPrivateKeyPrivate key for the connected applicationstringTRUE
appIdID for the connected applicationstringTRUE
transactionEssential information/property for XLM TransactionObjectTRUE
protocolDefine the protocol you're signingPROTOCOLFALSE
confirmCBCallback of confirmation data to the connected applicationFunctionFALSE
authorizedCBCallback of authorized transaction data to the connected applicationFunctionFALSE
1.1.3

2 years ago

1.1.1

2 years ago

1.0.3

2 years ago

1.0.2

3 years ago

1.0.2-beta.0

3 years ago

1.0.1

3 years ago

1.0.1-beta.1

3 years ago

1.0.0

3 years ago

1.0.1-beta.0

3 years ago

0.1.0

3 years ago

0.1.0-beta.29

3 years ago

0.1.0-beta.28

3 years ago

0.1.0-beta.27

3 years ago

0.1.0-beta.25

3 years ago

0.1.0-beta.26

3 years ago

0.1.0-beta.23

3 years ago

0.1.0-beta.22

3 years ago

0.1.0-beta.24

3 years ago

0.1.0-beta.21

3 years ago

0.1.0-beta.20

3 years ago

0.1.0-beta.19

3 years ago

0.1.0-beta.18

3 years ago

0.1.0-beta.17

3 years ago

0.1.0-beta.16

3 years ago

0.1.0-beta.15

3 years ago

0.1.0-beta.14

3 years ago

0.1.0-beta.13

3 years ago

0.1.0-beta.12

3 years ago

0.1.0-beta.11

3 years ago

0.1.0-beta.10

3 years ago

0.1.0-beta.9

3 years ago

0.1.0-beta.8

4 years ago

0.1.0-beta.7

4 years ago

0.1.0-beta.6

4 years ago

0.1.0-beta.5

4 years ago

0.1.0-beta.4

4 years ago

0.1.0-beta.3

4 years ago

0.1.0-beta.2

4 years ago

0.1.0-beta.1

4 years ago

0.1.0-beta.0

4 years ago