communitytokens

package
v0.179.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: MPL-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetInfiniteSupply

func GetInfiniteSupply() *big.Int

Types

type API

type API struct {
	// contains filtered or unexported fields
}

func NewAPI

func NewAPI(s *Service) *API

func (*API) Burn

func (api *API) Burn(ctx context.Context, chainID uint64, contractAddress string, txArgs transactions.SendTxArgs, password string, burnAmount *bigint.BigInt) (string, error)

func (*API) DeployAssets

func (api *API) DeployAssets(ctx context.Context, chainID uint64, deploymentParameters DeploymentParameters, txArgs transactions.SendTxArgs, password string) (DeploymentDetails, error)

func (*API) DeployAssetsEstimate

func (api *API) DeployAssetsEstimate(ctx context.Context, chainID uint64, fromAddress string) (uint64, error)

Returns gas units + 10%

func (*API) DeployCollectibles

func (api *API) DeployCollectibles(ctx context.Context, chainID uint64, deploymentParameters DeploymentParameters, txArgs transactions.SendTxArgs, password string) (DeploymentDetails, error)

func (*API) DeployCollectiblesEstimate

func (api *API) DeployCollectiblesEstimate(ctx context.Context, chainID uint64, fromAddress string) (uint64, error)

Returns gas units + 10%

func (*API) DeployOwnerToken

func (api *API) DeployOwnerToken(ctx context.Context, chainID uint64,
	ownerTokenParameters DeploymentParameters, masterTokenParameters DeploymentParameters,
	signature string, communityID string, signerPubKey string,
	txArgs transactions.SendTxArgs, password string) (DeploymentDetails, error)

func (*API) DeployOwnerTokenEstimate

func (api *API) DeployOwnerTokenEstimate(ctx context.Context, chainID uint64, fromAddress string,
	ownerTokenParameters DeploymentParameters, masterTokenParameters DeploymentParameters,
	signature string, communityID string, signerPubKey string) (uint64, error)

func (*API) EstimateBurn

func (api *API) EstimateBurn(ctx context.Context, chainID uint64, contractAddress string, fromAddress string, burnAmount *bigint.BigInt) (uint64, error)

func (*API) EstimateMintAssets

func (api *API) EstimateMintAssets(ctx context.Context, chainID uint64, contractAddress string, fromAddress string, walletAddresses []string, amount *bigint.BigInt) (uint64, error)

Estimate MintAssets cost.

func (*API) EstimateMintCollectibles

func (api *API) EstimateMintCollectibles(ctx context.Context, chainID uint64, contractAddress string, fromAddress string, walletAddresses []string, amount *bigint.BigInt) (uint64, error)

func (*API) EstimateMintTokens

func (api *API) EstimateMintTokens(ctx context.Context, chainID uint64, contractAddress string, fromAddress string, walletAddresses []string, amount *bigint.BigInt) (uint64, error)

func (*API) EstimateRemoteBurn

func (api *API) EstimateRemoteBurn(ctx context.Context, chainID uint64, contractAddress string, fromAddress string, tokenIds []*bigint.BigInt) (uint64, error)

This is only ERC721 function

func (*API) EstimateSetSignerPubKey added in v0.168.1

func (api *API) EstimateSetSignerPubKey(ctx context.Context, chainID uint64, contractAddress string, fromAddress string, newSignerPubKey string) (uint64, error)

func (*API) GetAssetContractInstance

func (api *API) GetAssetContractInstance(chainID uint64, contractAddress string) (*assets.Assets, error)

func (*API) GetCollectiblesContractInstance

func (api *API) GetCollectiblesContractInstance(chainID uint64, contractAddress string) (*collectibles.Collectibles, error)

func (*API) GetMasterTokenContractAddressFromHash

func (api *API) GetMasterTokenContractAddressFromHash(ctx context.Context, chainID uint64, txHash string) (string, error)

func (*API) GetOwnerTokenContractAddressFromHash added in v0.168.1

func (api *API) GetOwnerTokenContractAddressFromHash(ctx context.Context, chainID uint64, txHash string) (string, error)

func (*API) GetSignerPubKey added in v0.168.1

func (api *API) GetSignerPubKey(ctx context.Context, chainID uint64, contractAddress string) (string, error)

Gets signer public key from smart contract with a given chainId and address

func (*API) MintTokens

func (api *API) MintTokens(ctx context.Context, chainID uint64, contractAddress string, txArgs transactions.SendTxArgs, password string, walletAddresses []string, amount *bigint.BigInt) (string, error)

Universal minting function for every type of token.

func (*API) NewAssetsInstance

func (api *API) NewAssetsInstance(chainID uint64, contractAddress string) (*assets.Assets, error)

func (*API) NewCollectiblesInstance

func (api *API) NewCollectiblesInstance(chainID uint64, contractAddress string) (*collectibles.Collectibles, error)

func (*API) NewCommunityOwnerTokenRegistryInstance added in v0.168.1

func (api *API) NewCommunityOwnerTokenRegistryInstance(chainID uint64, contractAddress string) (*communityownertokenregistry.CommunityOwnerTokenRegistry, error)

func (*API) NewCommunityTokenDeployerInstance added in v0.168.1

func (api *API) NewCommunityTokenDeployerInstance(chainID uint64) (*communitytokendeployer.CommunityTokenDeployer, error)

func (*API) NewMasterTokenInstance

func (api *API) NewMasterTokenInstance(chainID uint64, contractAddress string) (*mastertoken.MasterToken, error)

func (*API) NewOwnerTokenInstance added in v0.168.1

func (api *API) NewOwnerTokenInstance(chainID uint64, contractAddress string) (*ownertoken.OwnerToken, error)

func (*API) OwnerTokenOwnerAddress added in v0.171.11

func (api *API) OwnerTokenOwnerAddress(ctx context.Context, chainID uint64, contractAddress string) (string, error)

func (*API) PrepareMintAssetsData

func (api *API) PrepareMintAssetsData(walletAddresses []string, amount *bigint.BigInt) ([]common.Address, []*big.Int)

func (*API) PrepareMintCollectiblesData

func (api *API) PrepareMintCollectiblesData(walletAddresses []string, amount *bigint.BigInt) []common.Address

func (*API) RemainingSupply

func (api *API) RemainingSupply(ctx context.Context, chainID uint64, contractAddress string) (*bigint.BigInt, error)

func (*API) RemoteBurn

func (api *API) RemoteBurn(ctx context.Context, chainID uint64, contractAddress string, txArgs transactions.SendTxArgs, password string, tokenIds []*bigint.BigInt) (string, error)

This is only ERC721 function

func (*API) RemoteDestructedAmount

func (api *API) RemoteDestructedAmount(ctx context.Context, chainID uint64, contractAddress string) (*bigint.BigInt, error)

This is only ERC721 function

func (*API) SafeGetOwnerTokenAddress added in v0.168.1

func (api *API) SafeGetOwnerTokenAddress(ctx context.Context, chainID uint64, communityID string) (string, error)

Gets owner token contract address from deployer contract

func (*API) SafeGetSignerPubKey added in v0.168.1

func (api *API) SafeGetSignerPubKey(ctx context.Context, chainID uint64, communityID string) (string, error)

Gets signer public key directly from deployer contract

func (*API) SetSignerPubKey added in v0.168.1

func (api *API) SetSignerPubKey(ctx context.Context, chainID uint64, contractAddress string, txArgs transactions.SendTxArgs, password string, newSignerPubKey string) (string, error)

func (*API) ValidateWalletsAndAmounts

func (api *API) ValidateWalletsAndAmounts(walletAddresses []string, amount *bigint.BigInt) error

type AssetContractData

type AssetContractData struct {
	TotalSupply    *bigint.BigInt
	InfiniteSupply bool
}

type AssetInstance

type AssetInstance struct {
	TokenInstance
	// contains filtered or unexported fields
}

Asset

func (AssetInstance) Mint

func (t AssetInstance) Mint(transactOpts *bind.TransactOpts, walletAddresses []string, amount *bigint.BigInt) (*types.Transaction, error)

The amount should be in smallest denomination of the asset (like wei) with decimal = 18, eg. if we want to mint 2.34 of the token, then amount should be 234{16 zeros}.

func (AssetInstance) PackMethod

func (t AssetInstance) PackMethod(ctx context.Context, methodName string, args ...interface{}) ([]byte, error)

func (AssetInstance) RemoteBurn

func (t AssetInstance) RemoteBurn(transactOpts *bind.TransactOpts, tokenIds []*big.Int) (*types.Transaction, error)

func (AssetInstance) SetMaxSupply

func (t AssetInstance) SetMaxSupply(transactOpts *bind.TransactOpts, maxSupply *big.Int) (*types.Transaction, error)

type CollectibleContractData

type CollectibleContractData struct {
	TotalSupply    *bigint.BigInt
	Transferable   bool
	RemoteBurnable bool
	InfiniteSupply bool
}

type CollectibleInstance

type CollectibleInstance struct {
	TokenInstance
	// contains filtered or unexported fields
}

Collectible

func (CollectibleInstance) Mint

func (t CollectibleInstance) Mint(transactOpts *bind.TransactOpts, walletAddresses []string, amount *bigint.BigInt) (*types.Transaction, error)

func (CollectibleInstance) PackMethod

func (t CollectibleInstance) PackMethod(ctx context.Context, methodName string, args ...interface{}) ([]byte, error)

func (CollectibleInstance) RemoteBurn

func (t CollectibleInstance) RemoteBurn(transactOpts *bind.TransactOpts, tokenIds []*big.Int) (*types.Transaction, error)

func (CollectibleInstance) SetMaxSupply

func (t CollectibleInstance) SetMaxSupply(transactOpts *bind.TransactOpts, maxSupply *big.Int) (*types.Transaction, error)

type Database

type Database struct {
	// contains filtered or unexported fields
}

func NewCommunityTokensDatabase

func NewCommunityTokensDatabase(db *sql.DB) *Database

func (*Database) GetCommunityERC20Metadata added in v0.171.33

func (db *Database) GetCommunityERC20Metadata() ([]*token.CommunityToken, error)

func (*Database) GetTokenPrivilegesLevel

func (db *Database) GetTokenPrivilegesLevel(chainID uint64, contractAddress string) (token.PrivilegesLevel, error)

func (*Database) GetTokenType

func (db *Database) GetTokenType(chainID uint64, contractAddress string) (protobuf.CommunityTokenType, error)

type DeploymentDetails

type DeploymentDetails struct {
	ContractAddress string `json:"contractAddress"`
	TransactionHash string `json:"transactionHash"`
}

type DeploymentParameters

type DeploymentParameters struct {
	Name               string         `json:"name"`
	Symbol             string         `json:"symbol"`
	Supply             *bigint.BigInt `json:"supply"`
	InfiniteSupply     bool           `json:"infiniteSupply"`
	Transferable       bool           `json:"transferable"`
	RemoteSelfDestruct bool           `json:"remoteSelfDestruct"`
	TokenURI           string         `json:"tokenUri"`
	OwnerTokenAddress  string         `json:"ownerTokenAddress"`
	MasterTokenAddress string         `json:"masterTokenAddress"`
}

func (*DeploymentParameters) GetInfiniteSupply

func (d *DeploymentParameters) GetInfiniteSupply() *big.Int

infinite supply for ERC721 is 2^256-1

func (*DeploymentParameters) GetSupply

func (d *DeploymentParameters) GetSupply() *big.Int

func (*DeploymentParameters) Validate

func (d *DeploymentParameters) Validate(isAsset bool) error

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(rpcClient *rpc.Client) *Manager

func (*Manager) DeploymentSignatureDigest added in v0.168.1

func (m *Manager) DeploymentSignatureDigest(chainID uint64, addressFrom string, communityID string) ([]byte, error)

Creates

func (*Manager) GetAssetContractData

func (m *Manager) GetAssetContractData(chainID uint64, contractAddress string) (*AssetContractData, error)

func (*Manager) GetAssetContractInstance

func (m *Manager) GetAssetContractInstance(chainID uint64, contractAddress string) (*assets.Assets, error)

func (*Manager) GetCollectibleContractData

func (m *Manager) GetCollectibleContractData(chainID uint64, contractAddress string) (*CollectibleContractData, error)

func (*Manager) GetCollectiblesContractInstance

func (m *Manager) GetCollectiblesContractInstance(chainID uint64, contractAddress string) (*collectibles.Collectibles, error)

func (*Manager) NewAssetsInstance

func (m *Manager) NewAssetsInstance(chainID uint64, contractAddress string) (*assets.Assets, error)

func (*Manager) NewCollectiblesInstance

func (m *Manager) NewCollectiblesInstance(chainID uint64, contractAddress string) (*collectibles.Collectibles, error)

func (*Manager) NewCommunityTokenDeployerInstance added in v0.168.1

func (m *Manager) NewCommunityTokenDeployerInstance(chainID uint64) (*communitytokendeployer.CommunityTokenDeployer, error)

type MasterTokenInstance

type MasterTokenInstance struct {
	TokenInstance
	// contains filtered or unexported fields
}

Master Token

func (MasterTokenInstance) Mint

func (t MasterTokenInstance) Mint(transactOpts *bind.TransactOpts, walletAddresses []string, amount *bigint.BigInt) (*types.Transaction, error)

func (MasterTokenInstance) PackMethod

func (t MasterTokenInstance) PackMethod(ctx context.Context, methodName string, args ...interface{}) ([]byte, error)

func (MasterTokenInstance) RemoteBurn

func (t MasterTokenInstance) RemoteBurn(transactOpts *bind.TransactOpts, tokenIds []*big.Int) (*types.Transaction, error)

func (MasterTokenInstance) SetMaxSupply

func (t MasterTokenInstance) SetMaxSupply(transactOpts *bind.TransactOpts, maxSupply *big.Int) (*types.Transaction, error)

type OwnerTokenInstance added in v0.168.1

type OwnerTokenInstance struct {
	TokenInstance
	// contains filtered or unexported fields
}

Owner Token

func (OwnerTokenInstance) Mint added in v0.168.1

func (t OwnerTokenInstance) Mint(transactOpts *bind.TransactOpts, walletAddresses []string, amount *bigint.BigInt) (*types.Transaction, error)

func (OwnerTokenInstance) PackMethod added in v0.168.1

func (t OwnerTokenInstance) PackMethod(ctx context.Context, methodName string, args ...interface{}) ([]byte, error)

func (OwnerTokenInstance) RemoteBurn added in v0.168.1

func (t OwnerTokenInstance) RemoteBurn(transactOpts *bind.TransactOpts, tokenIds []*big.Int) (*types.Transaction, error)

func (OwnerTokenInstance) SetMaxSupply added in v0.168.1

func (t OwnerTokenInstance) SetMaxSupply(transactOpts *bind.TransactOpts, maxSupply *big.Int) (*types.Transaction, error)

type Service

type Service struct {
	// contains filtered or unexported fields
}

Collectibles service

func NewService

func NewService(rpcClient *rpc.Client, accountsManager *account.GethManager, pendingTracker *transactions.PendingTxTracker, config *params.NodeConfig, appDb *sql.DB) *Service

Returns a new Collectibles Service.

func (*Service) APIs

func (s *Service) APIs() []ethRpc.API

APIs returns a list of new APIs.

func (*Service) DeploymentSignatureDigest added in v0.168.1

func (s *Service) DeploymentSignatureDigest(chainID uint64, addressFrom string, communityID string) ([]byte, error)

func (*Service) GetAssetContractData

func (s *Service) GetAssetContractData(chainID uint64, contractAddress string) (*AssetContractData, error)

func (*Service) GetCollectibleContractData

func (s *Service) GetCollectibleContractData(chainID uint64, contractAddress string) (*CollectibleContractData, error)

func (*Service) GetSignerPubKey added in v0.171.1

func (s *Service) GetSignerPubKey(ctx context.Context, chainID uint64, contractAddress string) (string, error)

func (*Service) NewCommunityOwnerTokenRegistryInstance added in v0.171.1

func (s *Service) NewCommunityOwnerTokenRegistryInstance(chainID uint64, contractAddress string) (*communityownertokenregistry.CommunityOwnerTokenRegistry, error)

func (*Service) NewOwnerTokenInstance added in v0.171.1

func (s *Service) NewOwnerTokenInstance(chainID uint64, contractAddress string) (*ownertoken.OwnerToken, error)

func (*Service) Protocols

func (s *Service) Protocols() []p2p.Protocol

Protocols returns a new protocols list. In this case, there are none.

func (*Service) SafeGetOwnerTokenAddress added in v0.171.1

func (s *Service) SafeGetOwnerTokenAddress(ctx context.Context, chainID uint64, communityID string) (string, error)

func (*Service) SafeGetSignerPubKey added in v0.171.1

func (s *Service) SafeGetSignerPubKey(ctx context.Context, chainID uint64, communityID string) (string, error)

func (*Service) SetSignerPubKey added in v0.171.1

func (s *Service) SetSignerPubKey(ctx context.Context, chainID uint64, contractAddress string, txArgs transactions.SendTxArgs, password string, newSignerPubKey string) (string, error)

func (*Service) Start

func (s *Service) Start() error

Start is run when a service is started.

func (*Service) Stop

func (s *Service) Stop() error

Stop is run when a service is stopped.

type ServiceInterface

type ServiceInterface interface {
	GetCollectibleContractData(chainID uint64, contractAddress string) (*CollectibleContractData, error)
	SetSignerPubKey(ctx context.Context, chainID uint64, contractAddress string, txArgs transactions.SendTxArgs, password string, newSignerPubKey string) (string, error)
	GetAssetContractData(chainID uint64, contractAddress string) (*AssetContractData, error)
	SafeGetSignerPubKey(ctx context.Context, chainID uint64, communityID string) (string, error)
	DeploymentSignatureDigest(chainID uint64, addressFrom string, communityID string) ([]byte, error)
}

type TokenInstance

type TokenInstance interface {
	RemoteBurn(*bind.TransactOpts, []*big.Int) (*types.Transaction, error)
	Mint(*bind.TransactOpts, []string, *bigint.BigInt) (*types.Transaction, error)
	SetMaxSupply(*bind.TransactOpts, *big.Int) (*types.Transaction, error)
	PackMethod(ctx context.Context, methodName string, args ...interface{}) ([]byte, error)
}

func NewTokenInstance

func NewTokenInstance(api *API, chainID uint64, contractAddress string) (TokenInstance, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL