Skip to content

Commit

Permalink
fix lookup map return behavior proposed by Daniyar
Browse files Browse the repository at this point in the history
  • Loading branch information
ailisp committed May 18, 2022
1 parent 3c4171d commit 12400ef
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
11 changes: 9 additions & 2 deletions sdk/api.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
const U64_MAX = 2n**64n - 1n
const EVICTED_REGISTER = U64_MAX - 1n

export function signerAccountId() {
env.signer_account_id(0)
return env.read_register(0)
Expand Down Expand Up @@ -88,7 +91,7 @@ export function jsvmArgs() {
}

export function jsvmStorageWrite(key, value) {
let exist = env.jsvm_storage_write(key, value, 0)
let exist = env.jsvm_storage_write(key, value, EVICTED_REGISTER)
if (exist === 1n) {
return true
}
Expand All @@ -104,7 +107,7 @@ export function jsvmStorageRead(key) {
}

export function jsvmStorageRemove(key) {
let exist = env.jsvm_storage_remove(key, 0)
let exist = env.jsvm_storage_remove(key, EVICTED_REGISTER)
if (exist === 1n) {
return true
}
Expand All @@ -122,4 +125,8 @@ export function jsvmStorageHasKey(key) {
export function jsvmCall(contractName, method, args) {
env.jsvm_call(contractName, method, JSON.stringify(args), 0)
return JSON.parse(env.read_register(0) || 'null')
}

export function storageGetEvicted() {
return env.read_register(EVICTED_REGISTER)
}
10 changes: 8 additions & 2 deletions sdk/collections/lookup-map.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,18 @@ export class LookupMap {

remove(key) {
let storageKey = this.keyPrefix + key
return near.jsvmStorageRemove(storageKey)
if (near.jsvmStorageRemove(storageKey)) {
return near.storageGetEvicted()
}
return null
}

set(key, value) {
let storageKey = this.keyPrefix + key
return near.jsvmStorageWrite(storageKey, value)
if (near.jsvmStorageWrite(storageKey, value)) {
return near.storageGetEvicted()
}
return null
}

extend(kvs) {
Expand Down

0 comments on commit 12400ef

Please sign in to comment.