1- import { H256 } from "codechain-sdk /lib/core/classes " ;
1+ import { Key } from "codechain-keystore /lib/types " ;
22import {
33 AssetTransferAddress ,
44 PlatformAddress
55} from "codechain-sdk/lib/key/classes" ;
6- import { blake256 , getAccountIdFromPublic } from "codechain-sdk/lib/utils" ;
76import _ = require( "lodash" ) ;
87
98import { networkId } from "./const" ;
109import { CLIError , CLIErrorType } from "./error" ;
1110import { AccountType } from "./types" ;
1211
13- export function getAddressFromPublic (
14- accountType : AccountType ,
15- publicKey : string
16- ) : string {
12+ export function getAddressFromKey ( accountType : AccountType , key : Key ) : string {
1713 if ( accountType === "platform" ) {
18- const accountId = getAccountIdFromPublic ( publicKey ) ;
19- const platformAddress = PlatformAddress . fromAccountId ( accountId ) ;
14+ const platformAddress = PlatformAddress . fromAccountId ( key ) ;
2015 return platformAddress . toString ( ) ;
2116 } else if ( accountType === "asset" ) {
22- const hash = H256 . ensure ( blake256 ( publicKey ) ) ;
23- const assetAddress = AssetTransferAddress . fromTypeAndPayload ( 1 , hash , {
17+ const assetAddress = AssetTransferAddress . fromTypeAndPayload ( 1 , key , {
2418 networkId
2519 } ) ;
2620 return assetAddress . toString ( ) ;
@@ -29,18 +23,16 @@ export function getAddressFromPublic(
2923 }
3024}
3125
32- export function findPublicKey (
26+ export function findMatchingKey (
3327 accountType : AccountType ,
34- publicKeys : string [ ] ,
28+ keys : Key [ ] ,
3529 address : string
3630) : string {
37- const addresses = _ . map ( publicKeys , key =>
38- getAddressFromPublic ( accountType , key )
39- ) ;
31+ const addresses = _ . map ( keys , key => getAddressFromKey ( accountType , key ) ) ;
4032 const index = _ . indexOf ( addresses , address ) ;
4133 if ( index === - 1 ) {
4234 throw new CLIError ( CLIErrorType . NoSuchAddress , { address } ) ;
4335 }
4436
45- return publicKeys [ index ] ;
37+ return keys [ index ] ;
4638}
0 commit comments