Links

Ethereum & EVM compatible

getEthereumSignedTransaction

The D'CENT Android SDK provides functions for signing transaction of coins.
This function for :
  • .ETHEREUM - ethereum (ETH)
  • .ETH_CLASSIC - ethereum classic (ETC)
  • .ETH_KOVAN - ethereum kovan (ETHt)
  • .ETH_ROPSTEN - ethereum ropsten (ETHt)
  • .ETH_GOERLI - ethereum goerli (ETHt)
  • .ETH_RINKEBY - ethereum rinkeby (ETHt)
  • .FLR_COSTON - flare network coston (CFLR)
  • .RSK - rsk smart bitcoin (RBTC)
  • .RSK_TESTNET - rsk smart bitcoin testnet (RBTCt)
  • .XDC - xcd network (XDC)
  • .XDC_APOTHEM - xdc apothem (XDCt)
  • .BSC - binance smart chain (BNB)
  • .BSC_TESTNET - binance smart chain testnet (BNBt)
  • .POLYGON - polygon (MATIC)
  • .POLYGON_TESTNET - polygon testnet (MATICt)
  • .CHAN - other evm networks

Parameters

  • coinType: ethereum networks coin type
  • ethereumTransaction: (EthereumTransation)ethereum transaction parameter

class EthereumTransaction

Name
Type
Description
addressPath
String
sign key path for ethereum transaction
nonce
String
account nonce for ethereum transaction
to
String
recipient's address of ethereum transaction
amount
String
amount of ether to be sent. ( wei unit value )
gasLimit
String
gas limit value of ethereum transaction
gasPrice
String
gas price for ethereum transaction
data
String
transaction data of ethereum transaction
chainId
String
chain id
symbol
String
symbol for ethereum transaction symbol value used for evm chain (.CHAN)
txType
String
(optional)Type of ethereum transaction
maxPriorityFpg
String
(optional)max_priority_fpg of ethereum transaction
maxFeePerGas
String
(optional)max_fee_per gas of ethereum transaction
accessList
String
(optional)access_list of ethereum transaction

Returns

  • result: (Bool) true if successful, false if error occurred
  • txData: signed transaction

Requirements

Example
let ethereumTransaction : EthereumTransaction = EthereumTransaction( addressPath:"", nonce:"", to:"", amount:"", gasLimit:"", gasPrice:"", data:"", chainId:"0" )
// test data
ethereumTransaction.addressPath = "m/44'/60'/0'/0/0"
ethereumTransaction.nonce = "14"
ethereumTransaction.to = "0xe5c23dAa6480e45141647E5AeB321832150a28D4"
ethereumTransaction.amount = "500000000000000"
ethereumTransaction.gasLimit = "21000"
ethereumTransaction.gasPrice = "6000000000"
ethereumTransaction.data = "0x"
ethereumTransaction.chainId = "1"
DcentMgr.getEthereumSignedTransaction(coinType:.ETHEREUM , ethereumTransaction:ethereumTransaction){ (result, txData) in
print("Ethereum Transaction closure")
if result == false {
print("FAIL !!!")
}else{
print(txData)
}
}

getTokenSignedTransaction

This fuction for :
  • .ERC20 - ethereum erc20 token
  • .ETC_ERC20 - ethereum classic erc20 token
  • .ERC20_KOVAN - ethereum kovan erc20 token(ETH
  • .ERC20_ROPSTEN - ethereum ropsten erc20 token
  • .ERC20_GOERLI - ethereum goerli erc20 token
  • .ERC20_RINKEBY - ethereum rinkeby erc20 token
  • .FLR20_COSTON - flare network coston token
  • .RRC20 - rsk smart bitcoin rrc20 token
  • .RRC20_TESTNET - rsk smart bitcoin testnet rrc20 token
  • .XRC20 - xcd network xrc20 token
  • .XRC20_APOTHEM - xdc apothem xrc20 token
  • .BEP20 - binance smart chain bep20 token
  • .BEP20_TESTNET - binance smart chain testnet bep20 token
  • .POLYGON_ERC20 - polygon erc20 token
  • .POLY_ERC20_TEST - polygon testnet erc20 token
  • .CH20 - other evm networks erc20 token

Parameters

  • coinType: erc20 type
  • tokenTransaction: (TokenTransation)erc20 token transaction parameter

class TokenTransaction

Name
Type
Description
addressPath
String
sign key path for ethereum transaction
nonce
String
account nonce for ethereum transaction
to
String
recipient's address of ethereum transaction
amount
String
amount of ether to be sent. ( wei unit value )
gasLimit
String
gas limit value of ethereum transaction
gasPrice
String
gas price for ethereum transaction
data
String
transaction data of ERC20 transaction
chainId
String
chain id
symbol
String
symbol of fee account for ERC20 transaction
tokenName
String
token name of contract for ERC20 transaction
contractAddress
String
address of contract for ERC20 transaction
decimals
String
decimals of contract for ERC20 transaction
tokenSymbol
String
symbol of contract for ERC20 transaction

Returns

  • result: (Bool) true if successful, false if error occurred
  • txData: signed transaction

Requirements

Example
let erc20Transaction : TokenTransaction = TokenTransaction(addressPath: "", nonce: "", to: "", amount: "", gasLimit: "", gasPrice: "", data: "", tokenName: "", contractAddress: "", decimals: "", tokenSymbol: "")
// test data
erc20Transaction.addressPath = "m/44'/60'/0'/0/0"
erc20Transaction.nonce = "14"
erc20Transaction.to = "0xe5c23dAa6480e45141647E5AeB321832150a28D4"
erc20Transaction.amount = "60000000000000000"
erc20Transaction.gasLimit = "70000"
erc20Transaction.gasPrice = "3000000000"
erc20Transaction.data = ""
erc20Transaction.chainId = "1"
erc20Transaction.tokenName = "OmiseGO"
erc20Transaction.contractAddress = "0xd26114cd6ee289accf82350c8d8487fedb8a0c07"
erc20Transaction.decimals = "18"
erc20Transaction.tokenSymbol = "OMG"
DDcentMgr.getTokenSignedTransaction(coinType:.ERC20, tokenTransaction:erc20Transaction){ (result, txData) in
print("ERC20 Token Transaction closure")
if result == false {
print("FAIL !!!")
}else{
print(txData)
}
}

getMessageSign

Get the sign value of "EVM" message sign(personal_sign & signTypedData).
This fuction for :
  • .ETHEREUM - ethereum (ETH)
  • .ETH_CLASSIC - ethereum classic (ETC). ??
  • .ETH_KOVAN - ethereum kovan (ETHt)
  • .ETH_ROPSTEN - ethereum ropsten (ETHt)
  • .ETH_GOERLI - ethereum goerli (ETHt)
  • .ETH_RINKEBY - ethereum rinkeby (ETHt)
  • .FLR_COSTON - flare network coston (CFLR) ??
  • .RSK - rsk smart bitcoin (RBTC)
  • .RSK_TESTNET - rsk smart bitcoin testnet (RBTCt)
  • .XDC - xcd network (XDC)
  • .XDC_APOTHEM - xdc apothem (XDCt)
  • .BSC - binance smart chain (BNB)
  • .BSC_TESTNET - binance smart chain testnet (BNBt)
  • .POLYGON - polygon (MATIC)
  • .POLYGON_TESTNET - polygon testnet (MATICt)
  • .CHAN - other evm networks
  • .KLAYTN - klaytn mainnet (KLAY)
  • .KLAYTN_TESTNET - klaytn baobab (KLAYt)

Parameters

  • coinType: EVM coin type
  • messageSign: (MessageSign)evm message sign data parameter
  • isFull: (Bool) true for personal sign or the_sign of EVM / false for signTypedDatt(EIP-721) of EVM

class MessageSign

Name
Type
Description
message
String
message for sigining
key
String
sign key path for evm message sign

Returns

  • result: (Bool) true if successful, false if error occurred
  • addr: the address used to sign the data
  • sign: signed data
Example
let messageSign : MessageSign = MessageSign(message: "sign TEST!!", key: "m/44'/60'/0'/0/0")
DcentMgr.getMessgaeSign(coin: .ETHEREUM, messageSign: messageSign, isFull: false) { (result, addr, sign) in
if result == false {
print("FAIL !!!")
}else{
print(addr)
print(sign)
}
}
Last modified 2mo ago