To construct EVM transactions using the provided code, you can follow the examples below. Make sure to replace placeholders with your actual addresses, amounts, and other relevant information.
Gradle Dependencies:
Copy gradleCopy codedependencies {
//...
implementation "network.particle:api-service:{latest-version}"
}
Find the latest version of the SDK here .
Example Code:
ERC20 Transfer (Native):
Copy kotlinCopy codeval amount = "0x38d7ea4c68000" // Hexadecimal string
val serializeTransaction = ParticleNetwork.evm. createTransaction (from, to, amount). serialize ()
ERC20 Transfer (Token):
Copy kotlinCopy codeval amount = "1000000000000000" // Decimal string
val contractParams = ContractParams. erc20Transfer (tokenContractAddress, to, amount)
val serializeTransaction = ParticleNetwork.evm.createTransaction(from, tokenContractAddress, contractParams).serialize()
ERC721 SafeTransferFrom:
Copy kotlinCopy codeval tokenContractAddress = "0x76Afcd13B9B7D93Fb3fb8D42dDF68bEe4CEF9765"
val contractParams = ContractParams. erc721SafeTransferFrom (tokenContractAddress, from, to, tokenId)
val serializeTransaction = ParticleNetwork.evm.createTransaction(from, tokenContractAddress, contractParams).serialize()
ERC1155 SafeTransferFrom:
Copy kotlinCopy codeval tokenContractAddress = "0xA07e45A987F19E25176c877d98388878622623FA"
val amount = "1" // Decimal string
val id = "123"
val contractParams = ContractParams. erc1155SafeTransferFrom (
tokenContractAddress,
from,
to,
id,
amount,
data = "0x"
)
val serializeTransaction = ParticleNetwork.evm.createTransaction(from, tokenContractAddress, contractParams).serialize()
Write Contract:
Copy kotlinCopy codeval params = ContractParams. customAbiEncodeFunctionCall (
contractAddress = "0xd000f000aa1f8accbd5815056ea32a54777b2fc4" ,
methodName = "mint" ,
params = listOf ( "1" ),
abiJsonString = ""
)
val serializeTransaction = ParticleNetwork.evm. writeContract (address, params). serialize ()
The above code needs to handle exceptions
Last updated 5 months ago