Constructor
new Wallet(client, accessOptions)
Creates an instance of token history api.
Parameters:
Name | Type | Description |
---|---|---|
client |
ApiClient | The Api client to use to connect with KAS. |
accessOptions |
AccessOptions | An instance of AccessOptions including |
Members
auth :string
Type:
- string
accessKeyId :string
Type:
- string
secretAccessKey :string
Type:
- string
chainId :string
Type:
- string
accessOptions :AccessOptions
Type:
apiInstances :object
Type:
- object
client :object
Type:
- object
accountApi :AccountApi
Type:
basicTransactionApi :BasicTransactionApi
Type:
fdTransactionPaidByKASApi :FeeDelegatedTransactionPaidByKASApi
Type:
fdTransactionPaidByUserApi :FeeDelegatedTransactionPaidByUserApi
Type:
multisigTransactionManagementApi :MultisigTransactionManagementApi
Type:
statisticsApi :StatisticsApi
Type:
keyApi :KeyApi
Type:
registrationApi :RegistrationApi
Type:
Methods
(async) migrateAccounts(accounts) → {RegistrationStatusResponse}
Migrates Klaytn accounts to KAS Wallet API.
This function needs Node API. Therefore, it is essential to have initialized to use Node API.
Node API initialization is possible through caver.initKASAPI or caver.initNodeAPI.
Example
const accounts = [
{
address: '0xc756f6809bc34c2458fcb82fb16d5add3dbad9e3',
key: '0x{private key1}',
},
{
address: '0x5bae5e458ad1a9b210bf0a10434c39be1a5b7983',
key: [
'0x{private key2}',
'0x{private key3}',
],
},
{
address: '0x5bae5e458ad1a9b210bf0a10434c39be1a5b7983',
key: [
[
'0x{private key4}',
'0x{private key5}',
],
[
'0x{private key6}',
],
[
'0x{private key7}',
'0x{private key8}',
],
],
}
]
const ret = await caver.kas.wallet.migarateAccounts(accounts)
Parameters:
Name | Type | Description |
---|---|---|
accounts |
Array.<MigrationAccount> | An array of account objects migrated into KAS. |
Returns:
createAccount(callbackopt) → {Account}
Creates Klaytn Account through KAS Wallet API.
POST /v2/account
Example
const result = await caver.kas.wallet.createAccount()
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- Account
getAccountList(queryOptionsopt, callbackopt) → {Accounts}
Retrieves the list of accounts created using the KAS Wallet API.
GET /v2/account
Example
const query = {
size: 1,
fromTimestamp: 1501970769,
toTimestamp: 1601970769,
cursor: 'eyJBZGRyZXNzIjoia3JuOjEwMDE6d2FsbGV0OjhlNzZkMDAzLWQ2ZGQtNDI3OC04ZDA1LTUxNzJkOGYwMTBjYTphY2NvdW50LXBvb2w6ZGVmYXVsdDoweDUzM0ZjQzMyMWE4ODgxQzllNEEzNUIzMUJhZWI4MEI1MWE3RDI2OEQiLCJUeXBlIjoiQUNDIiwiY3JlYXRlZF9hdCI6MTYwMTk3MDc2OSwicnBuIjoia3JuOjEwMDE6d2FsbGV0OjhlNzZkMDAzLWQ2ZGQtNDI3OC04ZDA1LTUxNzJkOGYwMTBjYTphY2NvdW50LXBvb2w6ZGVmYXVsdCJ9',
}
const result = await caver.kas.wallet.getAccountList(query)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
queryOptions |
WalletQueryOptions |
<optional> |
Filters required when retrieving data. |
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- Accounts
getAccount(address, callbackopt) → {Account}
Retrieves an account created using the KAS Wallet API.
GET /v2/account/{address}
Example
const result = await caver.kas.wallet.getAccount('0x74a0a04c16025da4d24154440918035497795c14')
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | The address of Klaytn account. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- Account
getAccountListByPublicKey(publicKey, callbackopt) → {AccountsByPubkey}
Retrieves the list of Klaytn accounts with the corresponding public key.
GET /v2/pubkey/{public-key}/account
Example
const publicKey = '0x04334fbfedaa65df28797fdbd54778179ecc0929ddf40189e1470029e5efca4a0fadd510680228d261234e11f425ce85adb2a3ad014b2bb07470e66425ed483fd0'
const result = await caver.kas.wallet.getAccountListByPublicKey(publicKey)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
publicKey |
string | The public key to search. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- AccountsByPubkey
deleteAccount(address, callbackopt) → {AccountStatus}
Deletes an account created using the KAS Wallet API.
DELETE /v2/account/{address}
Example
const result = await caver.kas.wallet.deleteAccount('0x74a0a04c16025da4d24154440918035497795c14')
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | The address of Klaytn account to delete from KAS Wallet API service. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- AccountStatus
disableAccount(address, callbackopt) → {AccountSummary}
Deactivates Klaytn Account.
PUT /v2/account/{address}/disable
Example
const result = await caver.kas.wallet.disableAccount('0x74a0a04c16025da4d24154440918035497795c14')
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | The address of Klaytn account to disable from KAS Wallet API service. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- AccountSummary
enableAccount(address, callbackopt) → {AccountSummary}
Activates Klaytn Account.
PUT /v2/account/{address}/enable
Example
const result = await caver.kas.wallet.enableAccount('0x74a0a04c16025da4d24154440918035497795c14')
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | The address of Klaytn account to enable from KAS Wallet API service. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- AccountSummary
signTransaction(address, transactionId, callbackopt) → {Signature}
Signs the transaction with this transactionId with that Klaytn account.
POST /v2/account/{address}/tx/{transaction-id}/sign
Example
const address = '0xDbe780a8db6Dd219Fad25CDe29cB27392714f3ba'
const transactionId = '0x846534f00729fb838ade7478770d32d54f2b9ad4994f0c2ba8c5d569b241ae77'
const result = await caver.kas.wallet.signTransaction(address, transactionId)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | The address of the Klaytn account you want to use for signing. |
|
transactionId |
string | The ID of the transaction you want to sign. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- Signature
updateToMultiSigAccount(address, accountKeyWeightedMultiSig, callbackopt) → {MultisigAccount}
Signs the transaction with this transactionId with that Klaytn account.
PUT /v2/account/{address}/multisig
Example
const address = '0x385500f711c20f22Ebe9599C7cb7Ed2e8495AA87'
const weightedMultisig = {
threshold: 3,
weightedKeys: [
{ weight: 1, publicKey: '0x047080d0a3368c2e6e2e03dbe40e82a07109bcbff199fc1650b4ed1d0a2bd7a39eef8c1b6d59423e2de48f391ed996eee6fa876be13c54fafde52301f290453c9a' },
{ weight: 1, publicKey: '0x04023337c168044de198c556a842344c3c3b173a5b8628ad2f9b0bf5b8481847844cda8b08acfec66fd483fcf2a3b007adf1f34d72aae59df664b031e012bae72a' },
{ weight: 1, publicKey: '0x0429f095fabc59bd3dadf43103acc5a1c090d0fe238b7d8ebd89684a768ca21fa82ad4dfb146825783c8b2e0f51c9d0f9ddea57bce65cf7e967f8454ba3195dc86' }
]
}
const result = await caver.kas.wallet.updateToMultiSigAccount(address, weightedMultisig)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | The address of the Klaytn account you want to use for signing. |
|
accountKeyWeightedMultiSig |
object | AccountKeyWeightedMultiSig | The ID of the transaction you want to sign. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- MultisigAccount
requestLegacyTransaction(transaction, callbackopt) → {TransactionResult}
Create LegacyTransaction.
POST /v2/tx/legacy
Example
const tx = {
from: '0x602846DDC31F6Fc092edcF945565fBE9c48BdD7E',
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
value: 1,
gas: 25000,
submit: true
}
const result = await caver.kas.wallet.requestLegacyTransaction(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
LegacyTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestValueTransfer(transaction, callbackopt) → {TransactionResult}
Create ValueTransfer or ValueTransferMemo.
POST /v2/tx/value
Example
const tx = {
from: '0x13a9f77304cE84bb4EecA9E7d56AeE644bdd71bd',
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
value: 1,
gas: 25000,
memo: 'memo',
submit: true
}
const result = await caver.kas.wallet.requestValueTransfer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
ValueTransferTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestSmartContractDeploy(transaction, callbackopt) → {TransactionResult}
Create SmartContractDeploy.
POST /v2/tx/contract/deploy
Example
const tx = {
from: '0x48c08e034c4c9779800713A9ad5BA768dA196288',
value: 0,
input: '0x608060405234801561001057600080fd5b5061051f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063693ec85e1461003b578063e942b5161461016f575b600080fd5b6100f46004803603602081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460018302840111640100000000831117156100a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610134578082015181840152602081019050610119565b50505050905090810190601f1680156101615780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102bf6004803603604081101561018557600080fd5b81019080803590602001906401000000008111156101a257600080fd5b8201836020820111156101b457600080fd5b803590602001918460018302840111640100000000831117156101d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506103cc565b005b60606000826040518082805190602001908083835b602083106102f957805182526020820191506020810190506020830392506102d6565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103c05780601f10610395576101008083540402835291602001916103c0565b820191906000526020600020905b8154815290600101906020018083116103a357829003601f168201915b50505050509050919050565b806000836040518082805190602001908083835b6020831061040357805182526020820191506020810190506020830392506103e0565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020908051906020019061044992919061044e565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061048f57805160ff19168380011785556104bd565b828001600101855582156104bd579182015b828111156104bc5782518255916020019190600101906104a1565b5b5090506104ca91906104ce565b5090565b6104f091905b808211156104ec5760008160009055506001016104d4565b5090565b9056fea165627a7a723058203ffebc792829e0434ecc495da1b53d24399cd7fff506a4fd03589861843e14990029',
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestSmartContractDeploy(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
ContractDeployTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestSmartContractExecution(transaction, callbackopt) → {TransactionResult}
Create SmartContractExecution.
POST /v2/tx/contract/execute
Example
const tx = {
from: '0x48c08e034c4c9779800713A9ad5BA768dA196288',
to: '0x9c44fdb25e96d49731336b0346f09eea501ee895',
value: 0,
input: '0xe942b5160000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000036b65790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000576616c7565000000000000000000000000000000000000000000000000000000',
gas: 500000,
submit: true
}
const result = await caver.kas.wallet.requestSmartContractExecution(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
ContractExecutionTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestCancel(transaction, callbackopt) → {TransactionResult}
Create Cancel.
DELETE /v2/tx
Example
const tx = {
from: '0x008Ad97530612A272d16228ec893e6Ce0F180b06',
gas: 25000,
nonce: '0x1',
submit: true
}
const result = await caver.kas.wallet.requestCancel(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
CancelTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestChainDataAnchoring(transaction, callbackopt) → {TransactionResult}
Create ChainDataAnchoring.
POST /v2/tx/anchor
Example
const tx = {
from: '0x23a386d059a41512f3aC36952cFc6CC4BAAe4Ed5',
gas: 100000,
input: '0x0123',
submit: true
}
const result = await caver.kas.wallet.requestChainDataAnchoring(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
AnchorTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestRawTransaction(rlpRequest, callbackopt) → {TransactionResult}
Create transaction through RLP-encoded string.
POST /v2/tx/rlp
Example
const rlp = '0x08f87e808505d21dba008261a89476c6b1f34562ed7a843786e1d7f57d0d7948a6f10194dbe9312beb546a5b518f8bb7ac315cc6eb96b34cf847f8458207f6a0276299929f4b805b1e1376543001652eff9f47cf34332e042c8aded29fd022fca077f1ff2f4bb668b49aa228c170e72d84ffdc456bd3ac9e5e6291d8e6cd61508b'
const result = await caver.kas.wallet.requestRawTransaction({ rlp, submit: true })
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
rlpRequest |
ProcessRLPRequest | The object that includes rlp request informations. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
requestAccountUpdate(transaction, callbackopt) → {TransactionResult}
Create AccountUpdate.
PUT /v2/tx/account
Example
// Update to AccountKeyLegay
const tx = {
from: '0xA209b6D2DF012d63D798cB0BD0D7E0c53FddF649',
accountKey: { keyType: 1 },
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestAccountUpdate(tx)
// Update to AccountKeyPublic
const tx = {
from: '0x948C163A29Fc31996CCb478Fe4bA17C891Dc6221',
accountKey: {
keyType: 2,
key: '0x049e24b9f7b59730cd45cb8be47b32f88fb428798dde1d723e79f80f2c200cc8a2fcdaa340979c09dbaecad698825537c401624cf9ba1b7724650fe67056968c1c'
},
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestAccountUpdate(tx)
// Update to AccountKeyFail
const tx = {
from: '0x7d0B0321FB82d70C3A2dDa1ab9112a6d58c94ADF',
accountKey: { keyType: 3 },
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestAccountUpdate(tx)
// Update to AccountKeyWeightedMultiSig
const tx = {
from: '0x443f01B81ECC1e83dC46edA711F3D707511ef257',
accountKey: {
keyType: 4,
key: {
threshold: 2,
weightedKeys: [
{
weight: 1,
publicKey: '0x04a4dad8e41de69fdbf7c2d3b76eeeed47d449fd680d7dda0ae6346ac9e2c8de1637d8cbc4adbfa7b0f02ffedf39d8edb7dae983ba24a33fcdde37feedbe2a5cd7'
},
{
weight: 1,
publicKey: '0x0424a43009be004a10cf6d2d7ddb3fa31aa8e73bf540d8ad2a7a870c697981f3743f3691a45fc1c5ff13a7f521c5488b5a7926063b307c0def3d5f8f1f3a7fde0b'
}
]
}
},
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestAccountUpdate(tx)
// Update to AccountKeyRoleBased
const tx = {
from: '0x7fe2434DA3B6Af4e23bB234a3972ab0bD9bad1bc',
accountKey: {
keyType: 5,
key: [
{ keyType: 3, key: {} },
{
keyType: 4,
key: {
threshold: 2,
weightedKeys: [
{
weight: 1,
publicKey: '0x04abad100b699ea183959102c17d7792ba86b324548888ab4affb19bf814ea821066792679df7f1d8ce9075b93e29072d5600684a41a4614c1be9b3714302d9c4a'
},
{
weight: 1,
publicKey: '0x04c32ba77e5741783945a1ad7e2f201961d11e8e8192b104a2402e6307e9d7d9a77412693846eedc33083279e7e78e5619400bf194d8230ecec1f57cd14b791c2d'
}
]
}
},
{
keyType: 2,
key: '0x045505870ac8b7024e2b9eee23b8317eb79b796e44ece3fbb1d637d7a657bdbf0b3274216df59b1edf35bc94e4859357b5051cfaa8b5f659aae78a4d9bd2d8d6be'
}
]
},
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestAccountUpdate(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
AccountUpdateTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionResult
getTransaction(transactionHash, callbackopt) → {TransactionReceipt}
Retrieves the transaction by the transaction hash value.
GET /v2/tx/{transaction-hash
Example
const transactionHash = '0x00a2e38b03abe9aeb85d9baa82ca3b1d4d55a4c2b354dc67ab23b82420f470f6'
const result = await caver.kas.wallet.getTransaction(transactionHash)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transactionHash |
string | The hash of the transaction. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- TransactionReceipt
callContract(contractAddress, methodName, callArgumentsopt, sendOptionsopt, callbackopt) → {ContractCallResponse}
Call the contract. You can view certain value in the contract and validate that you can submit executable transaction.
POST /v2/tx/contract/call
Example
const contractAddress = '0x7278841B4300639A8827dc9f8345CC49ef876804'
// with send options
const sendOptions = {
from: '0x0aFA15F32D1F1283c09d5d2034957A7E79b7ae21',
gas: 300000,
value: 0,
}
const ret = await caver.kas.wallet.callContract(contractAddress, 'increase', callArguments)
// with call arguments
const callArguments = [
{
type: 'address',
value: '0x0aFA15F32D1F1283c09d5d2034957A7E79b7ae21',
},
]
const ret = await caver.kas.wallet.callContract(contractAddress, 'isMinter', callArguments)
// with call arguments and send options
const callArguments = [
{
type: 'address',
value: '0x0aFA15F32D1F1283c09d5d2034957A7E79b7ae21',
},
{ type: 'uint256', value: 1 }
]
const sendOptions = {
from: '0x0aFA15F32D1F1283c09d5d2034957A7E79b7ae21',
gas: 300000,
value: 0,
}
const ret = await caver.kas.wallet.callContract(contractAddress, 'transfer', callArguments, sendOptions)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
contractAddress |
string | The krn string to search. |
|
methodName |
string | The method name to call. |
|
callArguments |
Array.<object> |
<optional> |
|
sendOptions |
object |
<optional> |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- ContractCallResponse
requestFDValueTransferPaidByGlobalFeePayer(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedValueTransfer, FeeDelegatedValueTransferMemo,
FeeDelegatedValueTransferWithRatio or FeeDelegatedValueTransferMemoWithRatio.
POST /v2/tx/fd/value
Example
const tx = {
from: '0xd2061D4bdbee433Dd2f99C28E25d301593f544e0',
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
value: 1,
gas: 50000,
memo: 'memo',
feeRatio: 99,
submit: true
}
const result = await caver.kas.wallet.requestFDValueTransferPaidByGlobalFeePayer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDValueTransferTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDSmartContractDeployPaidByGlobalFeePayer(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedSmartContractDeploy.
POST /v2/tx/fd/contract/deploy
Example
const tx = {
from: '0x79d1Fa3e6a69F0b2662ebd885B3c85A055927A97',
value: 0,
input: '0x608060405234801561001057600080fd5b5061051f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063693ec85e1461003b578063e942b5161461016f575b600080fd5b6100f46004803603602081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460018302840111640100000000831117156100a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610134578082015181840152602081019050610119565b50505050905090810190601f1680156101615780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102bf6004803603604081101561018557600080fd5b81019080803590602001906401000000008111156101a257600080fd5b8201836020820111156101b457600080fd5b803590602001918460018302840111640100000000831117156101d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506103cc565b005b60606000826040518082805190602001908083835b602083106102f957805182526020820191506020810190506020830392506102d6565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103c05780601f10610395576101008083540402835291602001916103c0565b820191906000526020600020905b8154815290600101906020018083116103a357829003601f168201915b50505050509050919050565b806000836040518082805190602001908083835b6020831061040357805182526020820191506020810190506020830392506103e0565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020908051906020019061044992919061044e565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061048f57805160ff19168380011785556104bd565b828001600101855582156104bd579182015b828111156104bc5782518255916020019190600101906104a1565b5b5090506104ca91906104ce565b5090565b6104f091905b808211156104ec5760008160009055506001016104d4565b5090565b9056fea165627a7a723058203ffebc792829e0434ecc495da1b53d24399cd7fff506a4fd03589861843e14990029',
gas: 3000000,
submit: true,
feeRatio: 99
}
const result = await caver.kas.wallet.requestFDSmartContractDeployPaidByGlobalFeePayer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDContractDeployTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDSmartContractExecutionPaidByGlobalFeePayer(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedSmartContractExecution.
POST /v2/tx/fd/contract/execute
Example
const tx = {
from: '0xa3E4f619C1D5d737a72f1df74e14a57Fae5f2867',
to: '0x24553ed65819df0fc78bb5544c84c8bcff35b89e',
value: 0,
input: '0xe942b5160000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000036b65790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000576616c7565000000000000000000000000000000000000000000000000000000',
gas: 500000,
feeRatio: 99,
submit: true
}
const result = await caver.kas.wallet.requestFDSmartContractExecutionPaidByGlobalFeePayer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDContractExecutionTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDCancelPaidByGlobalFeePayer(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedCancel.
DELETE /v2/tx/fd
Example
const tx = {
from: '0xBB0fDDc3F01BE0E72EFDaE72B30Db509d9a2396A',
gas: 45000,
nonce: '0x1',
feeRatio: 99,
submit: true
}
const result = await caver.kas.wallet.requestFDCancelPaidByGlobalFeePayer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDCancelTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDChainDataAnchoringPaidByGlobalFeePayer(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedChainDataAnchoring.
POST /v2/tx/fd/anchor
Example
const tx = {
from: '0x6c4C0226d58f0F87411e1Ec085f3629fA156bf06',
gas: 100000,
input: '0x0123',
feeRatio: 99,
submit: true
}
const result = await caver.kas.wallet.requestFDChainDataAnchoringPaidByGlobalFeePayer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDAnchorTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDRawTransactionPaidByGlobalFeePayer(rlpRequest, callbackopt) → {FDTransactionResult}
Create transaction through RLP-encoded string.
POST /v2/tx/fd/rlp
Example
const rlp = '0x0af8de018505d21dba00830111709476c6b1f34562ed7a843786e1d7f57d0d7948a6f101944c11080ccdbc63ae369b4baf44bee383779123d863f847f8458207f5a099855401a5cb69181c252d183af8281eea35767040f9526a0f6305b9c593f0a8a0276d996d4b7e4c68e7fa1571b4d4b753958cca1192701b67c9aaef7cd50a4754941b71a63903e35371e2fc41c6012effb99b9a2c0ff847f8458207f5a076d33208facdb2f45dba5ba82bebb84a4df0311b66ebea2e27796df97f863868a01a2ddad4029ce983f885a69c433e701bc32f4d51f598ada490565e77ebb936d6'
const result = await caver.kas.wallet.requestFDRawTransactionPaidByGlobalFeePayer({ rlp:, submit: true, feeRatio: 99 })
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
rlpRequest |
FDProcessRLPRequest | The object that includes rlp request informations. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDAccountUpdatePaidByGlobalFeePayer(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedAccountUpdate. For examples of various AccountKeys, see the example requestAccountUpdate function.
PUT /v2/tx/fd/account
Example
const tx = {
from: '0xd19CeD8B6CA1d5924ECaf4321c1C8Fae64C2ADf8',
accountKey: {
keyType: 4,
key: {
threshold: 2,
weightedKeys: [
{
weight: 1,
publicKey: '0x04371334d038d983f3b560b2534385138ffaf69cf1aef039b268ef69c1736ec6544bc9a04598ca5ba4c2e75e648c6d8e6a892b33662bfe680544daa53c75b06e35'
},
{
weight: 1,
publicKey: '0x041640a55aed2c871f8896a263b378ce73e323254de9173fd071bb29aa8d4c52855ed8b4164db5db21d3c4e3baed2611d9d34932f36b6096086eee0c690417fb97'
}
]
}
},
gas: 1000000,
submit: true
}
const result = await caver.kas.wallet.requestFDAccountUpdatePaidByGlobalFeePayer(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDAccountUpdateTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDValueTransferPaidByUser(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedValueTransfer, FeeDelegatedValueTransferMemo,
FeeDelegatedValueTransferWithRatio or FeeDelegatedValueTransferMemoWithRatio.
POST /v2/tx/fd-user/value
Example
const tx = {
from: '0xd2061D4bdbee433Dd2f99C28E25d301593f544e0',
to: '0x76c6b1f34562ed7a843786e1d7f57d0d7948a6f1',
value: 1,
gas: 50000,
memo: 'memo',
feeRatio: 99,
feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8',
submit: true
}
const result = await caver.kas.wallet.requestFDValueTransferPaidByUser(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDUserValueTransferTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDSmartContractDeployPaidByUser(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedSmartContractDeploy.
POST /v2/tx/fd-user/contract/deploy
Example
const tx = {
from: '0x48c08e034c4c9779800713A9ad5BA768dA196288',
value: 0,
input: '0x608060405234801561001057600080fd5b5061051f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063693ec85e1461003b578063e942b5161461016f575b600080fd5b6100f46004803603602081101561005157600080fd5b810190808035906020019064010000000081111561006e57600080fd5b82018360208201111561008057600080fd5b803590602001918460018302840111640100000000831117156100a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506102c1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610134578082015181840152602081019050610119565b50505050905090810190601f1680156101615780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102bf6004803603604081101561018557600080fd5b81019080803590602001906401000000008111156101a257600080fd5b8201836020820111156101b457600080fd5b803590602001918460018302840111640100000000831117156101d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184600183028401116401000000008311171561026d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506103cc565b005b60606000826040518082805190602001908083835b602083106102f957805182526020820191506020810190506020830392506102d6565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103c05780601f10610395576101008083540402835291602001916103c0565b820191906000526020600020905b8154815290600101906020018083116103a357829003601f168201915b50505050509050919050565b806000836040518082805190602001908083835b6020831061040357805182526020820191506020810190506020830392506103e0565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020908051906020019061044992919061044e565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061048f57805160ff19168380011785556104bd565b828001600101855582156104bd579182015b828111156104bc5782518255916020019190600101906104a1565b5b5090506104ca91906104ce565b5090565b6104f091905b808211156104ec5760008160009055506001016104d4565b5090565b9056fea165627a7a723058203ffebc792829e0434ecc495da1b53d24399cd7fff506a4fd03589861843e14990029',
gas: 3000000,
submit: true,
feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8',
feeRatio: 99
}
const result = await caver.kas.wallet.requestFDSmartContractDeployPaidByUser(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDUserContractDeployTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDSmartContractExecutionPaidByUser(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedSmartContractExecution.
POST /v2/tx/fd-user/contract/execute
Example
const tx = {
from: '0x48c08e034c4c9779800713A9ad5BA768dA196288',
to: '0x9c44fdb25e96d49731336b0346f09eea501ee895',
value: 0,
input: '0xe942b5160000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000036b65790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000576616c7565000000000000000000000000000000000000000000000000000000',
gas: 500000,
feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8',
submit: true
}
const result = await caver.kas.wallet.requestFDSmartContractExecutionPaidByUser(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDUserContractExecutionTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDCancelPaidByUser(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedCancel.
DELETE /v2/tx/fd-user
Example
const tx = {
from: '0x008Ad97530612A272d16228ec893e6Ce0F180b06',
gas: 45000,
nonce: '0x1',
feeRatio: 99,
feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8',
submit: true
}
const result = await caver.kas.wallet.requestFDCancelPaidByUser(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDUserCancelTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDChainDataAnchoringPaidByUser(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedChainDataAnchoring.
POST /v2/tx/fd-user/anchor
Example
const tx = {
from: '0x7A78fe7544dD2a448c6a147a34018B72dDDAC620',
gas: 100000,
input: '0x0123',
feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8',
submit: true
}
const result = await caver.kas.wallet.requestFDChainDataAnchoringPaidByUser(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDUserAnchorTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDRawTransactionPaidByUser(rlpRequest, callbackopt) → {FDTransactionResult}
Create transaction through RLP-encoded string.
POST /v2/tx/fd-user/rlp
Example
const rlp = '0x09f8dc808505d21dba0082c3509476c6b1f34562ed7a843786e1d7f57d0d7948a6f1019418aa5d1726d42a16e53eea8e1eda13f5f3d18bf4f847f8458207f6a0620fa593f92d9697ff4a4ce10e7d7edb443903c80b972c18fa1b71b58666dfd0a0208e2ea6f0a357000c5b2926ea86f7cef7237dca9a6c2a102fac9b36f282b1669444ee3906a7a2007762e9d706df6e4ef63fa1eda8f847f8458207f6a013a4969b6edad58dd526db2495aa68d25a3f0d105ec6d6e6feba34d1f6c20573a00275cbcb9aa3a7dbb38619e5e54b8398cc9893ea73b5d1b2184d3de9dc929f1c'
const result = await caver.kas.wallet.requestFDRawTransactionPaidByUser({ rlp, feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8', submit: true })
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
rlpRequest |
FDUserProcessRLPRequest | The object that includes rlp request informations. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
requestFDAccountUpdatePaidByUser(transaction, callbackopt) → {FDTransactionResult}
Create FeeDelegatedAccountUpdate. For examples of various AccountKeys, see the example requestAccountUpdate function.
PUT /v2/tx/fd-user/account
Example
const tx = {
from: '0xA3E79115c78bbC8eFdDA2a17a4Bdb48Dca2b5333',
accountKey: {
keyType: 4,
key: {
threshold: 2,
weightedKeys: [
{
weight: 1,
publicKey: '0x04371334d038d983f3b560b2534385138ffaf69cf1aef039b268ef69c1736ec6544bc9a04598ca5ba4c2e75e648c6d8e6a892b33662bfe680544daa53c75b06e35'
},
{
weight: 1,
publicKey: '0x041640a55aed2c871f8896a263b378ce73e323254de9173fd071bb29aa8d4c52855ed8b4164db5db21d3c4e3baed2611d9d34932f36b6096086eee0c690417fb97'
}
]
}
},
gas: 1000000,
feePayer: '0x44Ee3906a7a2007762E9d706dF6E4eF63FA1edA8',
submit: true
}
const result = await caver.kas.wallet.requestFDAccountUpdatePaidByUser(tx)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transaction |
FDUserAccountUpdateTransactionRequest | Transaction to be requested to KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- FDTransactionResult
getMultiSigTransactionList(address, queryOptionsopt, callbackopt) → {MultisigTransactions}
Retrieves the list of pending transactions among transactions sent from the account.
GET /v2/multisig/account/{address}/tx
Example
const result = await caver.kas.wallet.getMultiSigTransactionList('0x3EE8aC5eBDDcF408020D1125437302B2267e5A8C')
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | Account address with multi-signature key or signer account address. |
|
queryOptions |
WalletQueryOptions |
<optional> |
Filters required when retrieving data. |
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- MultisigTransactions
signMultiSigTransction(address, transactionId, callbackopt) → {MultisigTransactionStatus}
Signs a pending transaction with the Klaytn account created by KAS.
POST /v2/multisig/account/{address}/tx/{transaction-id}/sign
Example
const address = '0x127089fF8154B145e8dcad7C112A949C2a452cb8'
const transactionId = '0xfe2be4de37ed40c6c049d3c2771a6e7577916c951dd331b297b517b25609b4ad'
const result = await caver.kas.wallet.signMultiSigTransction(address, transactionId)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
address |
string | Account address to use for signing. |
|
transactionId |
string | The transaction id to sign. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
appendSignatures(transactionId, sigs, callbackopt) → {MultisigTransactionStatus}
Signs a pending transaction with the Klaytn account created by KAS.
POST /v2/multisig/tx/{transaction-id}/sign
Example
const transactionId = '0x7e7f18b16fb1807654d9cd2b1ad1c0cbb649b81648543a792a6db2f43e1a8ad5'
const signatures = [
{
V: '0x7f6'
R: '0xc2902ebb52f554fd257eda57a3fe7cbf1e046bb43d1472bd396f2c3053f8bf55',
S: '0x32f7d5b99e91510ecaefc5fe65816e6e43043c408873b2453d02116be1674278',
}
]
const result = await caver.kas.wallet.appendSignatures(transactionId, signatures)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
transactionId |
string | The transacion id. |
|
sigs |
string | The signatures to appen. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
getAccountCount(callbackopt) → {AccountCountByAccountID}
Return the number of accounts in KAS.
GET /v2/stat/count
Example
const result = await caver.kas.wallet.getAccountCount()
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
callback |
function |
<optional> |
The callback function to call. |
Returns:
getAccountCountByKRN(krn, callbackopt) → {AccountCountByKRN}
Return the number of accounts by KRN in KAS.
GET /v2/stat/count/krn
Example
const result = await caver.kas.wallet.getAccountCountByKRN('krn:1001:wallet:test:account-pool:default')
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
krn |
string | The krn string to search. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- AccountCountByKRN
createKeys(numberOfKeys, callbackopt) → {KeyCreationResponse}
Create keys in KAS.
POST /v2/key
Example
const result = await caver.kas.wallet.createKeys(1)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
numberOfKeys |
number | The number of keys to create. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- KeyCreationResponse
getKey(keyId, callbackopt) → {Key}
Find key information from KAS.
GET /v2/key/{key-id}
Example
const keyId = 'krn:1001:wallet:test:account-pool:default:0xd80ff4019cfd96f0812adece82dd956c5e781b79ca707cb5e957c97f27593221'
const result = await caver.kas.wallet.getKey(keyId)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keyId |
string | The key id to find from KAS. |
|
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- Key
signMessage(keyId, dataToSign, krnopt, callbackopt) → {KeySignDataResponse}
Sign the data using key.
POST /v2/key/{key-id}/sign
Example
const keyId = 'krn:1001:wallet:test:account-pool:default:0xd80ff4019cfd96f0812adece82dd956c5e781b79ca707cb5e957c97f27593221'
const dataToSign = '0x88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589'
const result = await caver.kas.wallet.signMessage(keyId, dataToSign)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
keyId |
string | The key id to use for signing. |
|
dataToSign |
string | The data to sign. |
|
krn |
string |
<optional> |
The krn string. |
callback |
function |
<optional> |
The callback function to call. |
Returns:
- Type
- KeySignDataResponse
registerAccounts(accounts, callbackopt) → {RegistrationStatusResponse}
Register account which used before.
POST /v2/registration/account
Example
const accounts = [
{
keyId: 'krn:1001:wallet:68ec0e4b-0f61-4e6f-ae35-be865ab23187:account-pool:default:0xa4e7b80d97beba9b480e35ae21428302e51ea7a072f3ab4f10c3ebb9854b0d61',
address: '0x93c274186F9763d3761B8F60A105FB204BB9fa26',
},
{
keyId: 'krn:1001:wallet:68ec0e4b-0f61-4e6f-ae35-be865ab23187:account-pool:default:0x9b2f4d85d7f7abb14db229b5a81f1bdca0aa24c8ff0c4c100b3f25098b7a6151',
address: '0xa53333EFFd4F2c4889a23B8b0761b277b007Da4A',
rlp: '0x21f90117808505d21dba00830f424094a53333effd4f2c4889a23b8b0761b277b007da4ab84e04f84b04f848e303a1036d87c660a30eff8b28d90f97c611ed27d0c85d47fdd9185584c54b6347c1218ee301a102c40482ec234279eed13734293dba10974dcbf1c24264afffb5bd35eb40773af5f847f8458207f6a0b6a175b7cc025d3589540e5f748a46115fc4b3fab506fff298af9d3cb0374792a03c916518f7b91195cfaadd1129fd870f1deb1ab241cd970b909936a2baed88d19485b98485444c89880cd9c48807cef727c296f2daf847f8458207f6a01ffa1cec9bdfead66854704de716141554a62d532c36f6bfb58d4e9deb8fdb7da04feee14b21c337e9f1e8ff57a8abb4a0e446a5cc733306afe69a2c32af46f130'
}
]
const ret = await caver.kas.wallet.registerAccounts(accounts)
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
accounts |
Array.<RegisterAccount> | The account information to be registered in KAS. |
|
callback |
function |
<optional> |
The callback function to call. |