Comments (9)
Hey @erikzhang I see that you added the enhancement label, does that mean we'll see this implemented soon?
from neo-vm.
I wonder if it should be an API to provide the functionality of a hash table.
Like this: Neo.Utility.CreateHashTable
from neo-vm.
@erikzhang It could be a bunch of syscalls that map to the opcodes proposed above and I'm not opposed to making it a syscall, but to me it feels like something that should be native to the vm, similar to arrays. Either way, we would need to implement an IEqualityComparer
for the StackItem
s that are valid keys and it seems like for better future proofing it would make sense to implement it in the neo-vm
project in case we add more StackItem
types in the future.
from neo-vm.
We just need MapStackItem
, right? I didn't see the necessity of DictStackItem
.
from neo-vm.
@erikzhang Yea, I just added DictStackItem
for consistency with StructStackItem
. If we don't add DictStackItem
it might be nice to have an op code for shallow cloning a DictStackItem
.
from neo-vm.
@erikzhang Checking in, is this something that we'll see implemented as described in the spec? (Except for the StructStackItem
)
This is a feature I'd like to make use of for the TypeScript compiler, so if you're planning on implementing it like the spec I'll go ahead and start developing against it.
from neo-vm.
Hi @dicarlo2 , please review #28 .
from neo-vm.
This is awesome, adding support in neo-python
now. Not sure how I missed it!
@erikzhang @dicarlo2 do you have any sample .avm
I can use to test with?
from neo-vm.
@localhuman Sorry, a little late on the reply (cleaning up notifications). I do not currently have a sample .avm
to test with, I just tested using manual unit tests.
from neo-vm.
Related Issues (20)
- **OOM** in OpCode `POW` HOT 7
- Optimise the performance of VM with ObjectPool or reusing the existing objects. HOT 4
- Shallow-copy problem for OrderedDictionary.CopyTo in case of Array & Map type HOT 6
- Add 'utf8Size' opcode HOT 4
- Script checks are incomplete
- Can I integrate this vm in to my custom projects? HOT 1
- Efficient way to pass Map type to contract method? OpCode.PACKMAP? HOT 1
- Adapt code documentation of UNPACK opcode
- ReferenceCounter can become negative HOT 18
- Is this `MEMCPY` expected to push nothing to the stack?
- ScriptBuilder should have an emitPush overload that takes a ReadOnlySpan<byte>
- How to customize an interface in interoperation service layer HOT 3
- Presssure test on v3.3.0 cause execution failed HOT 1
- v3.3.0 need more than 30 hours for syncing mainnet even it's just about 1.7million blocks HOT 2
- What is the purpose of the second assert of this test? HOT 1
- Missing push in APPEND?
- EmitPush(bool) should convert stackitem to right type
- Set Operation in a Get Function HOT 2
- Nullable Project HOT 5
- Script class crashes on `GetInstruction(i).Size` HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neo-vm.