@@ -137,6 +137,7 @@ export type EdgeCurrencyInfo = {
137137 pluginName : string ,
138138 denominations : Array < EdgeDenomination > ,
139139 requiredConfirmations ? : number ,
140+ supportsStaking ?: boolean ,
140141 walletType : string ,
141142
142143 // Configuration options:
@@ -223,6 +224,13 @@ export type EdgeSpendInfo = {
223224 otherParams ?: Object
224225}
225226
227+ export type EdgeStakingSettings =
228+ | { stakingEnabled : false }
229+ | {
230+ stakingEnabled : true ,
231+ delegateAddress : string
232+ }
233+
226234// query data ----------------------------------------------------------
227235
228236export type EdgeDataDump = {
@@ -359,6 +367,12 @@ export type EdgeCurrencyEngine = {
359367 paymentProtocolUrl : string
360368 ) => Promise < EdgePaymentProtocolInfo > ,
361369
370+ // Staking:
371+ + stakingSettings ?: EdgeStakingSettings ,
372+ changeStakingSettings ?: (
373+ stakingSettings : EdgeStakingSettings
374+ ) => Promise < EdgeTransaction > ,
375+
362376 // Escape hatch:
363377 + otherMethods ? : Object
364378}
@@ -477,16 +491,20 @@ export type EdgeCurrencyWallet = {
477491 getEnabledTokens ( ) : Promise < Array < string >> ,
478492 addCustomToken ( token : EdgeTokenInfo ) : Promise < mixed > ,
479493
480- // Transactions :
494+ // Transaction history :
481495 getNumTransactions ( opts ?: EdgeCurrencyCodeOptions ) : Promise < number > ,
482496 getTransactions (
483497 opts ? : EdgeGetTransactionsOptions
484498 ) : Promise < Array < EdgeTransaction >> ,
499+
500+ // Addresses:
485501 getReceiveAddress (
486502 opts ? : EdgeCurrencyCodeOptions
487503 ) : Promise < EdgeReceiveAddress > ,
488504 saveReceiveAddress ( receiveAddress : EdgeReceiveAddress ) : Promise < mixed > ,
489505 lockReceiveAddress ( receiveAddress : EdgeReceiveAddress ) : Promise < mixed > ,
506+
507+ // Sending:
490508 makeSpend ( spendInfo : EdgeSpendInfo ) : Promise < EdgeTransaction > ,
491509 signTx ( tx : EdgeTransaction ) : Promise < EdgeTransaction > ,
492510 broadcastTx ( tx : EdgeTransaction ) : Promise < EdgeTransaction > ,
@@ -502,6 +520,12 @@ export type EdgeCurrencyWallet = {
502520 paymentProtocolUrl : string
503521 ) : Promise < EdgePaymentProtocolInfo > ,
504522
523+ // Staking:
524+ + stakingSettings : EdgeStakingSettings ,
525+ changeStakingSettings : (
526+ stakingSettings : EdgeStakingSettings
527+ ) = > Promise < EdgeTransaction > ,
528+
505529 // Wallet management:
506530 resyncBlockchain ( ) : Promise < mixed > ,
507531 dumpData ( ) : Promise < EdgeDataDump > ,
0 commit comments