.derupt-ext-trait

Developers can extend the functionality of Derupt by creating Extensions for user to use.

More Details Coming Soon

(sample extensions coming soon)

(define-trait derupt-ext
    (
        (update-ext-owner
            (principal)
            (response bool uint)
        )

        (update-ext-metadata
            (
                (optional (string-ascii 24))
                (optional (string-ascii 256))
                (optional (string-ascii 256))
            )
            (response bool uint)
        )

        (exec-ext-func 
            (
                (optional (list 10 
                    {
                        stringutf8: (optional (string-utf8 256)), 
                        stringascii: (optional (string-ascii 256)), 
                        uint: (optional uint), 
                        int: (optional int), 
                        principal: (optional principal), 
                        bool: (optional bool),
                        buff: (optional (buff 34)),
                        proxy: (optional (buff 2048))
                    }
                ))
            )            
            (response bool uint)
        )
    )
)

Extension argument ext must follow the.derupt-ext-trait function schema

Extension execution is done per the exec-ext-func function, which takes extras as an argument. Extension(s) contract calls are made in the .derupt-core-yyyymmdd.

Users can have only 1 extension enabled, per key function call. eg..

  • can have 1 ext allowed in gift-message

  • can have 1 ext allowed in send-message

  • can have 1 ext allowed in like-message

  • can have 1 ext allowed in dislike-message

  • can have 1 ext allowed in favorable-reply-message

  • can have 1 ext allowed in unfavorable-reply-message

(note: users can change the enabled extension over time)

Last updated