Skip to main content

HashedMap

scrypt-ts / HashedMap

Class: HashedMap<K, V>

The HashedMap library provides a map/hashtable-like data structure. Unique keys and their corresponding values are hashed before being stored. Only the hash values of key and value are saved on the chain. HashedMap is a wrapper for Map in javascript. Only some of the specified functions can be called in the @method function of a contract, but there is no restriction on other places.

Type parameters

NameType
Kextends SupportedParamType
Vextends SupportedParamType

Hierarchy

  • Map<K, V>

    HashedMap

Implements

  • SortedItemAccessTraceable

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new HashedMap<K, V>(entries?)

The constructor of HashedMap should not be called inside the contract. The HashedMap should be created outside the contract and passed to the contract via the contract's constructor.

Type parameters

NameType
Kextends SupportedParamType
Vextends SupportedParamType

Parameters

NameType
entries?readonly readonly [K, V][]

Overrides

Map<K, V\>.constructor

Defined in

dist/smart-contract/builtins/hashed-map.d.ts:27

Properties

[toStringTag]

Readonly [toStringTag]: string

Inherited from

Map.[toStringTag]

Defined in

node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:135


size

Readonly size: number

Inherited from

Map.size

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:48


[species]

Static Readonly [species]: MapConstructor

Inherited from

Map.[species]

Defined in

node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:317

Methods

canGet

canGet(key, val): boolean

Check whether we can get a (key, val) pair from the map Can be called in the @method function of a contract

Parameters

NameType
keyK
valV

Returns

boolean

true if the HashedMap has the specified key and value pair in it, otherwise returns false.

Defined in

dist/smart-contract/builtins/hashed-map.d.ts:71


clear

clear(): void

Returns

void

Inherited from

Map.clear

Defined in

node_modules/typescript/lib/lib.es2015.collection.d.ts:23


delete

delete(key): boolean

Remove a entry with a specified key from the map. Can be called in the @method function of a contract

Parameters

NameType
keyK

Returns

boolean

true if an element in the HashedMap existed and has been removed, or false if the element does not exist.

Overrides

Map.delete

Defined in

dist/smart-contract/builtins/hashed-map.d.ts:55


get

get(key): V

Get value of a pair in the map by key Can not be called in the @method function of a contract

Parameters

NameTypeDescription
keyKkey

Returns

V

value if key exists. Otherwise undefined.

Overrides

Map.get

Defined in

dist/smart-contract/builtins/hashed-map.d.ts:43


has

has(key): boolean

Check whether key exists in the map Can be called in the @method function of a contract

Parameters

NameType
keyK

Returns

boolean

true if the HashedMap has the specified key in it, otherwise returns false.

Overrides

Map.has

Defined in

dist/smart-contract/builtins/hashed-map.d.ts:49


set

set(key, value): HashedMap<K, V>

Insert or update a (key, val) pair to the HashedMap. If an element with the same key already exists, the element will be updated. Can be called in the @method function of a contract

Parameters

NameTypeDescription
keyKkey
valueVvalue

Returns

HashedMap<K, V>

this

Overrides

Map.set

Defined in

dist/smart-contract/builtins/hashed-map.d.ts:36