.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)

;; title: derupt-ext-trait
;; version: 1.3.1
;; summary: Derupt Extension Trait Contract

(use-trait cryptocash-token-trait 'ST1ZK4MRVTQQJMVAAJQWBV2WPQ87QV2851YCTHD7X.cryptocash-token-trait.cryptocash-token)
(use-trait cryptocash-core-trait 'ST1ZK4MRVTQQJMVAAJQWBV2WPQ87QV2851YCTHD7X.cryptocash-core-trait.cryptocash-core)
(use-trait sip-009-trait 'ST1ZK4MRVTQQJMVAAJQWBV2WPQ87QV2851YCTHD7X.sip-009-trait-nft-standard.sip-009-trait)
(use-trait sip-010-trait 'ST1ZK4MRVTQQJMVAAJQWBV2WPQ87QV2851YCTHD7X.sip-010-trait-ft-standard.sip-010-trait)
(use-trait sip-013-trait 'ST1ZK4MRVTQQJMVAAJQWBV2WPQ87QV2851YCTHD7X.sip-013-trait-sft-standard.sip-013-trait)

(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)),
                        cryptocash-token-contract: (optional <cryptocash-token-trait>),
                        cryptocash-core-contract: (optional <cryptocash-core-trait>),
                        sip-009-contract: (optional <sip-009-trait>),
                        sip-010-contract: (optional <sip-010-trait>),
                        sip-013-contract: (optional <sip-013-trait>)
                    }
                ))
            )            
            (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