48 SoulPoint Benefits
Limitation by Membership Level
Access Conditions Table
Membership Level
RateLimit
Bundle Limit
Additional
Explanation of Terms
Signing Method (For Go, use the code blow)
package types
import (
"bytes"
"crypto/ecdsa"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/crypto"
)
type SendBundleArgs struct {
Txs []hexutil.Bytes `json:"txs"`
MaxBlockNumber uint64 `json:"maxBlockNumber"`
MinTimestamp *uint64 `json:"minTimestamp"`
MaxTimestamp *uint64 `json:"maxTimestamp"`
RevertingTxHashes []common.Hash `json:"revertingTxHashes"`
SoulPointSignature hexutil.Bytes `json:"48spSign"` // <<<<<<------ This is the 48SP signature
}
// Sign48SPMember signs the hash concatenation of the hashes of the given transactions with the given private key.
// private key is the private key of the soul point member
func Sign48SPMember(prvKey *ecdsa.PrivateKey, txs []*Transaction) (hexutil.Bytes, error) {
var hashes bytes.Buffer
hashes.Grow(common.HashLength * len(txs))
for _, tx := range txs {
hashes.Write(tx.Hash().Bytes())
}
return crypto.Sign(crypto.Keccak256(hashes.Bytes()), prvKey)
}Signature Result Verification
Last updated
