Skip to content
Snippets Groups Projects
constants.go 1.53 KiB
package meta_transaction

import (
	"github.com/iotaledger/iota.go/consts"
	"github.com/iotaledger/iota.go/trinary"
)

const (
	SHARD_MARKER_OFFSET            = 0
	TRUNK_TRANSACTION_HASH_OFFSET  = SHARD_MARKER_END
	BRANCH_TRANSACTION_HASH_OFFSET = TRUNK_TRANSACTION_HASH_END
	HEAD_OFFSET                    = BRANCH_TRANSACTION_HASH_END
	TAIL_OFFSET                    = HEAD_END
	TRANSACTION_TYPE_OFFSET        = TAIL_END
	DATA_OFFSET                    = TRANSACTION_TYPE_END
	NONCE_OFFSET                   = DATA_END

	SHARD_MARKER_SIZE            = 11
	TRUNK_TRANSACTION_HASH_SIZE  = 243
	BRANCH_TRANSACTION_HASH_SIZE = 243
	HEAD_SIZE                    = 1
	TAIL_SIZE                    = 1
	TRANSACTION_TYPE_SIZE        = 8
	DATA_SIZE                    = 6993
	NONCE_SIZE                   = consts.NonceTrinarySize

	SHARD_MARKER_END            = SHARD_MARKER_OFFSET + SHARD_MARKER_SIZE
	TRUNK_TRANSACTION_HASH_END  = TRUNK_TRANSACTION_HASH_OFFSET + TRUNK_TRANSACTION_HASH_SIZE
	BRANCH_TRANSACTION_HASH_END = BRANCH_TRANSACTION_HASH_OFFSET + BRANCH_TRANSACTION_HASH_SIZE
	HEAD_END                    = HEAD_OFFSET + HEAD_SIZE
	TAIL_END                    = TAIL_OFFSET + TAIL_SIZE
	TRANSACTION_TYPE_END        = TRANSACTION_TYPE_OFFSET + TRANSACTION_TYPE_SIZE
	DATA_END                    = DATA_OFFSET + DATA_SIZE
	NONCE_END                   = NONCE_OFFSET + NONCE_SIZE

	MARSHALED_TOTAL_SIZE = NONCE_END

	BRANCH_NULL_HASH = trinary.Trytes("999999999999999999999999999999999999999999999999999999999999999999999999999999999")

	MIN_WEIGHT_MAGNITUDE = 12
)