cardanoGetAddress
Use requirement
Firmware version required
Touch: 4.1.0
Classic/Mini: 3.0.0
Cardano: get address
Display requested address derived by given BIP32-Ed25519 path on device and returns it to caller. User is presented with a description of the requested key and asked to confirm the export on OneKey.
const response = await HardwareSDK.cardanoGetAddress(connectId, deviceId, params)Params
Exporting single address
addressParameters— required see description belowprotocolMagic- requiredInteger764824073 for Mainnet, 1 for Preprod Testnet, 2 for Preview TestnetnetworkId- requiredInteger1 for Mainnet, 0 for Testnetaddress— optionalstringaddress for validation (readHandle button requestsection below)showOnOneKey— optionalbooleandetermines if address will be displayed on device. Default is set totruederivationType— optionalCardanoDerivationTypeenum. determines used derivation type. Default is set to ICARUS=1isCheck— optionalbooleanchecks only the base address
Exporting bundle of addresses
bundle-Arrayof Objects with single address fields
Address Parameters
addressType- requiredCardanoAddressType/number- you can use the flowCARDANO.ADDRESS_TYPEobject or typescriptCardanoAddressTypeenum. Supports all address types.path— requiredstring | Array<number>minimum length is5.stakingPath— optionalstring | Array<number>minimum length is5. Used for base and reward address derivationstakingKeyHash- optionalstringhex string of staking key hash. Used for base address derivation (as an alternative tostakingPath)certificatePointer- optional CardanoCertificatePointer object. Must containnumbersblockIndex,txIndexandcertificateIndex. Used for pointer address derivation.paymentScriptHash- optionalstringhex string of payment script hash.stakingScriptHash- optionalstringhex string of staking script hash.
Example
Display byron address of first cardano account:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.BYRON,
path: "m/44'/1815'/0'/0/0",
},
protocolMagic: 764824073,
networkId: 1,
});Display base address of first cardano account:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.BASE,
path: "m/1852'/1815'/0'/0/0",
stakingPath: "m/1852'/1815'/0'/2/0",
},
protocolMagic: 764824073,
networkId: 1,
});Display base address with script payment part:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.BASE_SCRIPT_KEY,
paymentScriptHash: '0d5acbf6a1dfb0c8724e60df314987315ccbf78bb6c0f9b6f3d568fe',
stakingPath: "m/1852'/1815'/0'/2/0",
},
protocolMagic: 764824073,
networkId: 1,
});Display base address with script staking part:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.BASE_KEY_SCRIPT,
path: "m/1852'/1815'/0'/0/0",
stakingScriptHash: '8d7bebc7a58f1c7b5fb7c9391071ecd3b51b032695522f8c555343a9',
},
protocolMagic: 764824073,
networkId: 1,
});Display base address with both payment and staking part being a script:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.BASE_SCRIPT_SCRIPT,
paymentScriptHash: '0d5acbf6a1dfb0c8724e60df314987315ccbf78bb6c0f9b6f3d568fe',
stakingScriptHash: '8d7bebc7a58f1c7b5fb7c9391071ecd3b51b032695522f8c555343a9',
},
protocolMagic: 764824073,
networkId: 1,
});Display pointer address of first cardano account:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.POINTER,
path: "m/1852'/1815'/0'/0/0",
certificatePointer: {
blockIndex: 1,
txIndex: 2,
certificateIndex: 3,
},
},
protocolMagic: 764824073,
networkId: 1,
});Display pointer script address:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.POINTER_SCRIPT,
paymentScriptHash: '0d5acbf6a1dfb0c8724e60df314987315ccbf78bb6c0f9b6f3d568fe',
certificatePointer: {
blockIndex: 1,
txIndex: 2,
certificateIndex: 3,
},
},
protocolMagic: 764824073,
networkId: 1,
});Display enterprise address of first cardano account:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.ENTERPRISE,
path: "m/1852'/1815'/0'/0/0",
},
protocolMagic: 764824073,
networkId: 1,
});Display enterprise script address:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.ENTERPRISE_SCRIPT,
paymentScriptHash: '0d5acbf6a1dfb0c8724e60df314987315ccbf78bb6c0f9b6f3d568fe',
},
protocolMagic: 764824073,
networkId: 1,
});Display reward address of first cardano account:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.REWARD,
stakingPath: "m/1852'/1815'/0'/0/0",
},
protocolMagic: 764824073,
networkId: 1,
});Display reward script address:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
addressParameters: {
addressType: CardanoAddressType.REWARD_SCRIPT,
stakingScriptHash: '8d7bebc7a58f1c7b5fb7c9391071ecd3b51b032695522f8c555343a9',
},
protocolMagic: 764824073,
networkId: 1,
});Return a bundle of cardano addresses without displaying them on device:
HardwareSDK.cardanoGetAddress(connectId, deviceId, {
bundle: [
// byron address, account 1, address 1
{
addressParameters: {
addressType: 8,
path: "m/44'/1815'/0'/0/0",
},
protocolMagic: 764824073,
networkId: 1,
showOnOneKey: false,
},
// base address with staking key hash, account 1, address 1
{
addressParameters: {
addressType: 0,
path: "m/1852'/1815'/0'/0/0",
stakingKeyHash: '1bc428e4720702ebd5dab4fb175324c192dc9bb76cc5da956e3c8dff',
},
protocolMagic: 764824073,
networkId: 1,
showOnOneKey: false,
},
// byron address, account 2, address 3, testnet
{
addressParameters: {
addressType: 8,
path: "m/44'/1815'/1'/0/2",
},
protocolMagic: 1,
networkId: 0,
showOnOneKey: false,
},
],
});Result
Result with only one address
{
success: true,
payload: {
addressParameters: {
addressType: number,
path: Array<number>, // hardend path
stakingPath?: Array<number>, // hardend path
stakingKeyHash?: string,
certificatePointer?: {
blockIndex: number,
txIndex: number,
certificatePointer: number,
},
paymentScriptHash?: string,
stakingScriptHash?: string,
}
serializedPath?: string,
serializedStakingPath?: string,
protocolMagic: number,
networkId: number,
address: string,
xpub: string,
stakeAddress: string, // If a base address is created, the stake address is created together
}
}Result with bundle of addresses
{
success: true,
payload: [
{
addressParameters: {
addressType: number,
path: Array<number>, // hardend path
stakingPath?: Array<number>, // hardend path
stakingKeyHash?: string,
certificatePointer?: {
blockIndex: number,
txIndex: number,
certificatePointer: number,
},
paymentScriptHash?: string,
stakingScriptHash?: string,
}
serializedPath?: string,
serializedStakingPath?: string,
protocolMagic: number,
networkId: number,
address: string,
},
{
addressParameters: {
addressType: number,
path: Array<number>, // hardend path
stakingPath?: Array<number>, // hardend path
stakingKeyHash?: string,
certificatePointer?: {
blockIndex: number,
txIndex: number,
certificatePointer: number,
},
paymentScriptHash?: string,
stakingScriptHash?: string,
}
serializedPath?: string,
serializedStakingPath?: string,
protocolMagic: number,
networkId: number,
address: string,
},
{
addressParameters: {
addressType: number,
path: Array<number>, // hardend path
stakingPath?: Array<number>, // hardend path
stakingKeyHash?: string,
certificatePointer?: {
blockIndex: number,
txIndex: number,
certificatePointer: number,
},
paymentScriptHash?: string,
stakingScriptHash?: string,
}
serializedPath?: string,
serializedStakingPath?: string,
protocolMagic: number,
networkId: number,
address: string,
},
]
}Error
{
success: false,
payload: {
error: string // error message
}
}Last updated
Was this helpful?