Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Dennis Gearon
    @kwince
    @wanghs09 I have been told that they will be doing that somedayy.
    ReggieRumsfeld
    @ReggieRumsfeld

    I would appreciate help on the following:

    I'm trying to set up a crate depending on the Zandbox crate, to be able to query/call contracts I've published on Rinkeby (from a rust application instead of via the terminal), so that I can use it "alongside" the Rust SDK for zkSync.

    I am stuck on dependencies issues however. A first, was the fact that zksync_eth_client didn't compile, because of the "metrics" version currently being set to "0.13.x". I forked zksync - https://github.com/ReggieRumsfeld/zksync - and override the dependency.

    However, there is an other issue I can't get past; it seems to boil down to the zinc-types/franklin-crypto mod being dependent on two versions of the "num" crate. I'm getting E0277 errors for the fee and msg structs and a "mismatched types" error: expected struct num::BigUint, found a different struct num::BigUint - note: perhaps two different versions of crate num_bigint are being used?

    Husen Wang
    @wanghs09

    @wanghs09 I have been told that they will be doing that somedayy.

    seems not difficult work to support these; can do that ourselves but would produce a fork of the repo

    Alex Z
    @hedgar2017
    It is not recommended to do any PRs or forks at the moment. The majority of the Zinc framework crates are already replaced or removed on the way to the Turing-complete version release, so your code will certainly end up incompatible.
    ReggieRumsfeld
    @ReggieRumsfeld
    It is correct that currently mapping inside mapping (Type MTreeMap as value of MTreeMap) is not supported. Or am I instantiating it wrong: assets: MTreeMap< u8, MTreeMap<u128, Nique>>;
    Alex Z
    @hedgar2017
    @ReggieRumsfeld correct.
    In the Turing-complete version maps will be a part of the non-builtin standard library.
    ReggieRumsfeld
    @ReggieRumsfeld
    @hedgar2017 thx. What would be the timeframe on that?
    Alex Z
    @hedgar2017
    @ReggieRumsfeld the testnet release is at the end of Q2.
    JamesRay
    @james-ray
    Could zinc implement something like export-verifier in zokrates?
    ACJuicyJ
    @ACJuicyJ
    Hey I have been wondering since I haven't been checking updates, but I thought maybe I could ask here; How far are you guys with the implementation of Smart Contracts on Zinc, is it in theory possible to connect existing applications/rewriting these to make them already compatible on Layer 2? Or is it not possible at all (yet)?
    Sunny Gonnabathula
    @sunny-g
    @hedgar2017 not sure if there’s info on this but what role will circuits have once contracts are feature complete? Would I be able to use Zinc to independently generate proofs and verify them with a main net Ethereum contract, or will the infrastructure look more like Starkware and Cairo?
    Also, if the latter, are there any special considerations to make when writing contracts (like you would with circuits) or is the fact they’re provable via PLONK just like an added benefit to using Zinc + zksync?
    ReggieRumsfeld
    @ReggieRumsfeld
    Any thoughts/leads on testing zksync::msg.sender related requirements (in the smart contracts), other then trail and error through publishing?
    Alex Z
    @hedgar2017
    @james-ray @ACJuicyJ @sunny-g we are currently extremely focused on the smart contracts and SyncVM release this summer.
    I believe we will be able to provide standalone proof verification utils afterwards.
    In a nutshell, yes, contracts will be provable via PLONK-targeted SyncVM, which will be able to run Zinc and adapted Solidity contracts.
    @ReggieRumsfeld please, describe you proposal more completely.
    hanakomodo
    @hanakomodo
    hi all! didnt realize the convo was here rather than discord ehe
    hanakomodo
    @hanakomodo
    i thought zksync seemed kinda cool but now i just saw zinc is non turing complete and i am 1000% on board
    Alex Z
    @hedgar2017
    @hanakomodo Zinc is going Turing-complete :fire:
    hanakomodo
    @hanakomodo
    oh
    hanakomodo
    @hanakomodo
    is it correct that zinc contracts can call into each other but cant call out to l1, even if a user were to to supply enough eth for l1 gas?
    Alex Z
    @hedgar2017
    @hanakomodo Turing-incomplete contracts are not supported anymore.
    We are discussing calls to L1 in the Turing-complete ones, but cannot provide any detail yet. Such information appears in our docs and channels asap.
    hanakomodo
    @hanakomodo
    ty!
    Sunny Gonnabathula
    @sunny-g
    @hedgar2017 thanks Alex, looking forward to it
    What should I do to debug a stack overflow error when running ‘zargo build’?
    ReggieRumsfeld
    @ReggieRumsfeld
    @hedgar2017 Thank you for the time you take commenting on everything that pops up here👍🏼 To my question above, I basically would like to know if, as part of testing smart contracts, it possible to test, let's say: require (zksync::msg.sender == self.owner, "Only Owner is entitled!");
    JamesRay
    @james-ray
    the db in zinc stores the private keys of the contract and the intialized accounts, is there risk that the node running zvm does malicious action, fake the signature of transfer to L1?
    Alex Z
    @hedgar2017
    @sunny-g you should send the Zinc project code and the error message to a.zarudnyy@matterlabs.dev :)
    Also, tell which Zinc version you are using and other details you might notice
    @ReggieRumsfeld sure. That’s what some of our contracts do in their methods (e.g. Curve)
    @james-ray Zandbox is only a demo. Our production design is different :)
    gazellefi
    @gazelle75113415_twitter
    How to get the time parameter in Zine? If you cannot get the block time, can you get the system time?
    gazellefi
    @gazelle75113415_twitter
    Can't you set global variables in the Zine language?
    gazellefi
    @gazelle75113415_twitter
    Can the key in Maps be written in letters? Similar to "byte" or" string" in the solidity language?
    Husen Wang
    @wanghs09
    global variables are not available now
    Husen Wang
    @wanghs09
    if the layer2 vm is similar to EVM, would openzeppelin/truffle test be compatible in Zinc contract test? the interactive test in https://zinc.zksync.io/07-smart-contracts/02-minimal-example.html is quite inefficient.
    Alex Z
    @hedgar2017
    @gazelle75113415_twitter to all three questions: not available yet :)
    We'll implement the system and block in one of the next versions.
    Global mutable variables will probably never be implemented due to the safety concerns.
    Byte strings will be also implemented with the byte array behavior.
    @wanghs09 we are planning the integration with truffle or a system alike.
    gazellefi
    @gazelle75113415_twitter
    Can the LP in curve be transferred in the wallet?
    CURVE in the demo version is incomplete and there is no LP.
    Alex Z
    @hedgar2017
    @gazelle75113415_twitter yeap, no LP for now.
    We are going to add it after the Turing-complete release.
    @z330789559 hi. Could you please try the Contract::fetch function?
    z330789559
    @z330789559
    @hedgar2017 I'm very happy to hear the news, I'll give it a try
    z330789559
    @z330789559
    @hedgar2017 query is ok but call has error
    libaozhongdeMacBook-Pro:simple_price_oracle libaozhong$ zargo call --address 0xea9419fa3cf9c66ef250e474db596575986cad48 --method update --network rinkeby
    Calling method update of the contract simple_price_oracle v0.2.7 with address 0xea9419fa3cf9c66ef250e474db596575986cad48 on network rinkeby
    [ERROR zargo] signing error: Signing failed: Transfer is incorrect, check amounts
    {
    "address": "0xea9419fa3cf9c66ef250e474db596575986cad48",
    "balances": [
    {
    "key": "0x0",
    "value": "64400000000000"
    }
    ],
    "x": "0"
    }
    @hedgar2017
    I have never understood how to use my eth private key to generate private_key
    z330789559
    @z330789559
    @hedgar2017 call has normally work ,but if msg.recipient is 0x0000000000000000000000000000000000000000 ,it will case error signing error: Signing failed: Transfer is incorrect, check amounts
    JamesRay
    @james-ray
    @hedgar2017 For the same circuit, if we execute setup() many times, the vk should be the same, right?
    Can I say anyone can verify a certain vk is related to some logic or relation to prove? This fact can be verified by anyone?
    Alex Z
    @hedgar2017
    @z330789559 thanks. We have already taken care of that counter-intuitive error.
    @james-ray we are currently focused on the smart contracts release and temporarily suspended circuits support.
    I believe we'll get back to that functionality after the mainnet release.
    Dennis Gearon
    @kwince
    @hedgar2017