Skip to content

Commit

Permalink
feat(rpc): add rpc of get banned addresses
Browse files Browse the repository at this point in the history
  • Loading branch information
Keith-CY committed Jul 31, 2019
1 parent 9b1b96b commit 323b8ac
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 18 deletions.
74 changes: 56 additions & 18 deletions packages/ckb-sdk-rpc/__tests__/formatters/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -779,40 +779,42 @@
"toHeader": [
{
"source": {
"difficulty": "0x100",
"hash": "0xe5f2d07b747f38718293987a9175764d4c03229a8a69d0bd48f7bea6c18930b1",
"number": "2",
"dao": "0x01000000000000000000c16ff286230000203d88792d0000000961f400000000",
"difficulty": "0x3e8",
"epoch": "0",
"parent_hash": "0xa1dba96cdebaa25f2be69316c943269e23c23fcc6e90eedd94ecd88b43f77170",
"hash": "0xba0d878d2c3711d38b5ddc2bc917312ca3898cad98457cc7960e28ec31f26e7f",
"number": "1024",
"parent_hash": "0x3533d5f0882a60d3b25b7dd57002a5d9eb591e89a98231e8abc5bf48f7ee0592",
"proposals_hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"seal": {
"nonce": "9828930232171500901",
"proof": "0x7408000066230000942c00004735000028420000f046000059550000d56200005f640000f96a000043730000d3750000"
"nonce": "0",
"proof": "0x"
},
"timestamp": "1556199760706",
"transactions_root": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8",
"timestamp": "1557311767",
"transactions_root": "0x81389ffabda2d1658c75a81e390a82b335d4cb849b2269d134b042fea9cb9513",
"uncles_count": "0",
"uncles_hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"version": "0",
"witnesses_root": "0x0000000000000000000000000000000000000000000000000000000000000000"
"witnesses_root": "0xb36423f72fd5cdbf6297c189b9d74e970bf0b971a537f41b8334088afe27900a"
},
"target": {
"difficulty": "0x100",
"hash": "0xe5f2d07b747f38718293987a9175764d4c03229a8a69d0bd48f7bea6c18930b1",
"number": "2",
"dao": "0x01000000000000000000c16ff286230000203d88792d0000000961f400000000",
"difficulty": "0x3e8",
"epoch": "0",
"parentHash": "0xa1dba96cdebaa25f2be69316c943269e23c23fcc6e90eedd94ecd88b43f77170",
"hash": "0xba0d878d2c3711d38b5ddc2bc917312ca3898cad98457cc7960e28ec31f26e7f",
"number": "1024",
"parentHash": "0x3533d5f0882a60d3b25b7dd57002a5d9eb591e89a98231e8abc5bf48f7ee0592",
"proposalsHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"seal": {
"nonce": "9828930232171500901",
"proof": "0x7408000066230000942c00004735000028420000f046000059550000d56200005f640000f96a000043730000d3750000"
"nonce": "0",
"proof": "0x"
},
"timestamp": "1556199760706",
"transactionsRoot": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8",
"timestamp": "1557311767",
"transactionsRoot": "0x81389ffabda2d1658c75a81e390a82b335d4cb849b2269d134b042fea9cb9513",
"unclesCount": "0",
"unclesHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"version": "0",
"witnessesRoot": "0x0000000000000000000000000000000000000000000000000000000000000000"
"witnessesRoot": "0xb36423f72fd5cdbf6297c189b9d74e970bf0b971a537f41b8334088afe27900a"
}
}
],
Expand Down Expand Up @@ -1067,6 +1069,42 @@
}
]
}
],
"toBannedAddress": [
{
"source": {
"address": "192.168.0.2/32",
"ban_reason": "",
"ban_until": "1840546800000",
"created_at": "1562803123000"
},
"target": {
"address": "192.168.0.2/32",
"banReason": "",
"banUntil": "1840546800000",
"createdAt": "1562803123000"
}
}
],
"toBannedAddresses": [
{
"source": [
{
"address": "192.168.0.2/32",
"ban_reason": "",
"ban_until": "1840546800000",
"created_at": "1562803123000"
}
],
"target": [
{
"address": "192.168.0.2/32",
"banReason": "",
"banUntil": "1840546800000",
"createdAt": "1562803123000"
}
]
}
]
},
"failure": {}
Expand Down
8 changes: 8 additions & 0 deletions packages/ckb-sdk-rpc/src/defaultRPC.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ const defaultRPC: CKBComponents.Method[] = [
paramsFormatters: [paramsFmts.toHash],
resultFormatters: resultFmts.toLockHashIndexState,
},
{
name: 'getBannedAddresses',
method: 'get_banned_addresses',
paramsFormatters: [],
resultFormatters: resultFmts.toBannedAddresses,
},
]

export class DefaultRPC {
Expand Down Expand Up @@ -364,6 +370,8 @@ export class DefaultRPC {
lockHash: CKBComponents.Hash,
indexFrom?: CKBComponents.BlockNumber
) => Promise<CKBComponents.LockHashIndexState>

public getBannedAddresses!: () => Promise<CKBComponents.BannedAddresses>
}

export default DefaultRPC
14 changes: 14 additions & 0 deletions packages/ckb-sdk-rpc/src/resultFormatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,20 @@ const formatter = {
if (!states) return states
return states.map(formatter.toLockHashIndexState)
},
toBannedAddress: (bannedAddress: CKB_RPC.BannedAddress): CKBComponents.BannedAddress => {
if (!bannedAddress) return bannedAddress
const { ban_reason: banReason, ban_until: banUntil, created_at: createdAt, ...rest } = bannedAddress
return {
banReason,
banUntil,
createdAt,
...rest,
}
},
toBannedAddresses: (bannedAddresses: CKB_RPC.BannedAddresses): CKBComponents.BannedAddresses => {
if (!bannedAddresses) return bannedAddresses
return bannedAddresses.map(banAddr => formatter.toBannedAddress(banAddr))
},
}

export default formatter
Expand Down
8 changes: 8 additions & 0 deletions packages/ckb-sdk-rpc/types/CKB_RPC/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -185,5 +185,13 @@ declare module CKB_RPC {
}

export type LockHashIndexStates = LockHashIndexState[]

export interface BannedAddress {
address: string
ban_reason: string
ban_until: Timestamp
created_at: Timestamp
}
export type BannedAddresses = BannedAddress[]
}
/* eslint-enable camelcase */
9 changes: 9 additions & 0 deletions packages/ckb-types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -328,4 +328,13 @@ declare namespace CKBComponents {
}

export type LockHashIndexStates = LockHashIndexState[]

export interface BannedAddress {
address: string
banReason: string
banUntil: Timestamp
createdAt: Timestamp
}

export type BannedAddresses = BannedAddress[]
}

0 comments on commit 323b8ac

Please sign in to comment.