Skip to content

Commit 12400ef

Browse files
committed
fix lookup map return behavior proposed by Daniyar
1 parent 3c4171d commit 12400ef

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

sdk/api.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
const U64_MAX = 2n**64n - 1n
2+
const EVICTED_REGISTER = U64_MAX - 1n
3+
14
export function signerAccountId() {
25
env.signer_account_id(0)
36
return env.read_register(0)
@@ -88,7 +91,7 @@ export function jsvmArgs() {
8891
}
8992

9093
export function jsvmStorageWrite(key, value) {
91-
let exist = env.jsvm_storage_write(key, value, 0)
94+
let exist = env.jsvm_storage_write(key, value, EVICTED_REGISTER)
9295
if (exist === 1n) {
9396
return true
9497
}
@@ -104,7 +107,7 @@ export function jsvmStorageRead(key) {
104107
}
105108

106109
export function jsvmStorageRemove(key) {
107-
let exist = env.jsvm_storage_remove(key, 0)
110+
let exist = env.jsvm_storage_remove(key, EVICTED_REGISTER)
108111
if (exist === 1n) {
109112
return true
110113
}
@@ -122,4 +125,8 @@ export function jsvmStorageHasKey(key) {
122125
export function jsvmCall(contractName, method, args) {
123126
env.jsvm_call(contractName, method, JSON.stringify(args), 0)
124127
return JSON.parse(env.read_register(0) || 'null')
128+
}
129+
130+
export function storageGetEvicted() {
131+
return env.read_register(EVICTED_REGISTER)
125132
}

sdk/collections/lookup-map.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,18 @@ export class LookupMap {
1717

1818
remove(key) {
1919
let storageKey = this.keyPrefix + key
20-
return near.jsvmStorageRemove(storageKey)
20+
if (near.jsvmStorageRemove(storageKey)) {
21+
return near.storageGetEvicted()
22+
}
23+
return null
2124
}
2225

2326
set(key, value) {
2427
let storageKey = this.keyPrefix + key
25-
return near.jsvmStorageWrite(storageKey, value)
28+
if (near.jsvmStorageWrite(storageKey, value)) {
29+
return near.storageGetEvicted()
30+
}
31+
return null
2632
}
2733

2834
extend(kvs) {

0 commit comments

Comments
 (0)