NEWTON

NEWTON


Popular tags

    how to return struct

    Asked

    4 months ago

    56

    views


    2

    I have a struct with :

    felt a: felt* b:

    How to return this in a view function? I see this error:

    Can't identify return variable
    
      cairo

    0x904b...10681F

    asked

    4 months ago


    2 answers

    2

    Accepted answer

    func returnStruct{
            syscall_ptr : felt*,
            pedersen_ptr : HashBuiltin*,
            range_check_ptr
        }(_id : felt) -> (res: ExampleStruct):
        let (res) = _example_structs.read(_id )
        return (res)
    end
    

    or

    func returnStruct{
            syscall_ptr : felt*,
            pedersen_ptr : HashBuiltin*,
            range_check_ptr
        }() -> (res: ExampleStruct):
        let (res) = ExampleStruct(a=1,b=2)
        return (res)
    end
    

    kermo

    answered

    4 months ago

    0

    I highly recommend you return a pointer to struct like this:

    struct MyStruct{
        a: felt*,
        b: felt,
    }
    
    func my_func() -> (output: MyStruct*){
    }
    

    answered

    4 months ago

    Your answer

    NEWTON

    NEWTON