Skip to content

Commit

Permalink
feat: add indexer RPCs to API
Browse files Browse the repository at this point in the history
  • Loading branch information
classicalliu committed Jun 18, 2019
1 parent fedf9dc commit a868af0
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
44 changes: 44 additions & 0 deletions lib/ckb/api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,50 @@ def calculate_dao_maximum_withdraw(out_point, hash)
rpc.calculate_dao_maximum_withdraw(out_point.to_h, hash)
end

# Indexer

# @param lock_hash [String]
def deindex_lock_hash(lock_hash)
rpc.deindex_lock_hash(lock_hash)
end

# @param lock_hash [String]
# @param page [String]
# @param per [String]
# @param reverse_order [Boolean]
#
# @return [Types::LiveCell[]]
def get_live_cells_by_lock_hash(lock_hash, page, per, reverse_order: false)
result = rpc.get_live_cells_by_lock_hash(lock_hash, page, per, reverse_order: reverse_order)
result.map { |live_cell| Types::LiveCell.from_h(live_cell) }
end

# @return [Types::LockHashIndexState[]]
def get_lock_hash_index_states
result = rpc.get_lock_hash_index_states
result.map { |state| Types::LockHashIndexState.from_h(state) }
end

# @param lock_hash [String]
# @param page [String]
# @param per [String]
# @param reverse_order [Boolean]
#
# @return [Types::CellTransaction[]]
def get_transactions_by_lock_hash(lock_hash, page, per, reverse_order: false)
result = rpc.get_transactions_by_lock_hash(lock_hash, page, per, reverse_order: reverse_order)
result.map { |cell_tx| Types::CellTransaction.from_h(cell_tx) }
end

# @param lock_hash [String]
# @param index_from [String]
#
# @return [Types::LockHashIndexState]
def index_lock_hash(lock_hash, index_from: "0")
state = rpc.index_lock_hash(lock_hash, index_from: index_from)
Types::LockHashIndexState.from_h(state)
end

def inspect
"\#<API@#{rpc.uri}>"
end
Expand Down
2 changes: 1 addition & 1 deletion lib/ckb/types/cell_transaction.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def self.from_h(hash)
consumed_by = hash[:consumed_by]

new(
created_by: TransactionPoint.from_h(cell[:created_by]),
created_by: TransactionPoint.from_h(hash[:created_by]),
consumed_by: consumed_by ? TransactionPoint.from_h(consumed_by) : nil
)
end
Expand Down
4 changes: 2 additions & 2 deletions lib/ckb/types/lock_hash_index_state.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class LockHashIndexState
# @param block_hash [String]
def initialize(lock_hash:, block_number:, block_hash:)
@lock_hash = lock_hash
@block_number = block_number
@block_number = block_number.to_s
@block_hash = block_hash
end

Expand All @@ -27,7 +27,7 @@ def self.from_h(hash)

new(
lock_hash: hash[:lock_hash],
block_numebr: hash[:block_number],
block_number: hash[:block_number],
block_hash: hash[:block_hash]
)
end
Expand Down

0 comments on commit a868af0

Please sign in to comment.