diff --git a/packages/platform-sdk-ark/src/dto/wallet.ts b/packages/platform-sdk-ark/src/dto/wallet.ts index 7c1d30403e..087ae9b494 100644 --- a/packages/platform-sdk-ark/src/dto/wallet.ts +++ b/packages/platform-sdk-ark/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { return BigNumber.make(this.data.votes); } + + public isDelegate(): boolean { + return !!this.data.username; + } + + public isKnown(): boolean { + return false; + } + + public isMultiSignature(): boolean { + return !!this.data.multiSignature; + } + + public isSecondSignature(): boolean { + return !!this.data.secondPublicKey; + } } diff --git a/packages/platform-sdk-atom/src/dto/wallet.ts b/packages/platform-sdk-atom/src/dto/wallet.ts index c960564e01..1c2a8a9534 100644 --- a/packages/platform-sdk-atom/src/dto/wallet.ts +++ b/packages/platform-sdk-atom/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-btc/src/dto/wallet.ts b/packages/platform-sdk-btc/src/dto/wallet.ts index 3554c8c5a7..142bacfa0e 100644 --- a/packages/platform-sdk-btc/src/dto/wallet.ts +++ b/packages/platform-sdk-btc/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-eos/src/dto/wallet.ts b/packages/platform-sdk-eos/src/dto/wallet.ts index 1975f8ece3..40346cbb33 100644 --- a/packages/platform-sdk-eos/src/dto/wallet.ts +++ b/packages/platform-sdk-eos/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-eth/src/dto/wallet.ts b/packages/platform-sdk-eth/src/dto/wallet.ts index 4f5945e5de..754ad60c4b 100644 --- a/packages/platform-sdk-eth/src/dto/wallet.ts +++ b/packages/platform-sdk-eth/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-lsk/src/dto/wallet.ts b/packages/platform-sdk-lsk/src/dto/wallet.ts index 977ac4dc8c..005565a8b2 100644 --- a/packages/platform-sdk-lsk/src/dto/wallet.ts +++ b/packages/platform-sdk-lsk/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { return BigNumber.make(this.data.votes); } + + public isDelegate(): boolean { + return !!this.data.delegate; + } + + public isKnown(): boolean { + return false; + } + + public isMultiSignature(): boolean { + return false; + } + + public isSecondSignature(): boolean { + return !!this.data.secondPublicKey; + } } diff --git a/packages/platform-sdk-neo/src/dto/wallet.ts b/packages/platform-sdk-neo/src/dto/wallet.ts index 4616a5a4ba..18df86cfa2 100644 --- a/packages/platform-sdk-neo/src/dto/wallet.ts +++ b/packages/platform-sdk-neo/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-profiles/src/wallet.ts b/packages/platform-sdk-profiles/src/wallet.ts index 3f20e3ff22..cf51faa05a 100644 --- a/packages/platform-sdk-profiles/src/wallet.ts +++ b/packages/platform-sdk-profiles/src/wallet.ts @@ -174,13 +174,11 @@ export class Wallet { */ public isDelegate(): boolean { - // TODO: automatically determine this - return this.data().has(WalletFlag.SecondSig); + return this.#wallet.isDelegate(); } public isKnown(): boolean { - // TODO: automatically determine this - return this.data().has(WalletFlag.Known); + return this.#wallet.isKnown(); } public isLedger(): boolean { @@ -188,14 +186,12 @@ export class Wallet { return this.data().has(WalletFlag.Ledger); } - public isMultiSig(): boolean { - // TODO: automatically determine this - return this.data().has(WalletFlag.MultiSig); + public isMultiSignature(): boolean { + return this.#wallet.isMultiSignature(); } - public isSecondSig(): boolean { - // TODO: automatically determine this - return this.data().has(WalletFlag.SecondSig); + public isSecondSignature(): boolean { + return this.#wallet.isSecondSignature(); } public isStarred(): boolean { diff --git a/packages/platform-sdk-trx/src/dto/wallet.ts b/packages/platform-sdk-trx/src/dto/wallet.ts index aa74c7cff5..d54f377c0c 100644 --- a/packages/platform-sdk-trx/src/dto/wallet.ts +++ b/packages/platform-sdk-trx/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-xlm/src/dto/wallet.ts b/packages/platform-sdk-xlm/src/dto/wallet.ts index 734326e2ac..7fd4447bb7 100644 --- a/packages/platform-sdk-xlm/src/dto/wallet.ts +++ b/packages/platform-sdk-xlm/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-xmr/src/dto/wallet.ts b/packages/platform-sdk-xmr/src/dto/wallet.ts index 4616a5a4ba..18df86cfa2 100644 --- a/packages/platform-sdk-xmr/src/dto/wallet.ts +++ b/packages/platform-sdk-xmr/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk-xrp/src/dto/wallet.ts b/packages/platform-sdk-xrp/src/dto/wallet.ts index b9a3ef1b15..2ebe5e06d7 100644 --- a/packages/platform-sdk-xrp/src/dto/wallet.ts +++ b/packages/platform-sdk-xrp/src/dto/wallet.ts @@ -29,4 +29,20 @@ export class WalletData extends DTO.AbstractWalletData implements Contracts.Wall public votes(): BigNumber | undefined { throw new Exceptions.NotImplemented(this.constructor.name, "votes"); } + + public isDelegate(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isDelegate"); + } + + public isKnown(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isKnown"); + } + + public isMultiSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isMultiSignature"); + } + + public isSecondSignature(): boolean { + throw new Exceptions.NotImplemented(this.constructor.name, "isSecondSignature"); + } } diff --git a/packages/platform-sdk/src/contracts/coins/data.ts b/packages/platform-sdk/src/contracts/coins/data.ts index 039121ffe6..296e99bf36 100644 --- a/packages/platform-sdk/src/contracts/coins/data.ts +++ b/packages/platform-sdk/src/contracts/coins/data.ts @@ -43,6 +43,15 @@ export interface WalletData { votes(): BigNumber | undefined; + // Flags + isDelegate(): boolean; + + isKnown(): boolean; + + isMultiSignature(): boolean; + + isSecondSignature(): boolean; + toObject(): KeyValuePair; } diff --git a/packages/platform-sdk/src/dto/wallet.ts b/packages/platform-sdk/src/dto/wallet.ts index a9ef4797a0..7df9fcf52d 100644 --- a/packages/platform-sdk/src/dto/wallet.ts +++ b/packages/platform-sdk/src/dto/wallet.ts @@ -21,6 +21,15 @@ export abstract class AbstractWalletData { abstract votes(): BigNumber | undefined; + // Flags + abstract isDelegate(): boolean; + + abstract isKnown(): boolean; + + abstract isMultiSignature(): boolean; + + abstract isSecondSignature(): boolean; + public toObject(): KeyValuePair { return { address: this.address(),