Create base code for a new transaction type or refractor current transaction structure to produce
Transaction type:
update_asset : this transaction type is used when an asset owner for some reason updates the metadata on an asset.
update_asset extraPayload structure:
Name: Not update-able
updatable: bool - has to be true in this case or it would not be update-able. Can however be set to false for post update
Is_unique: true if this is asset is unique it has an identity per token (NFT flag)
Decimal point: has to be 0 if is_unique is true.
referenceHash: hash of the underlying physical or digital assets, IPFS hash can be used here.
Distribution:
Type: unit8 - possible types are manual, coinbase, address, and schedule
targetAddress: address to be issued to when asset issue transaction is created. If type is address then whenever a transaction occurred to this address then distribution occurs. If type is scheduled this is the address where assets will be issued per schedule.
issueFrequency: uint8 - mint specific amount of token every x blocks.
Amount: CAmount - amount to distribute each time if type is not manual.
ownerAddress: wallet address that this asset is owned by. Only key holder of this address will be able to mint new tokens. Must fund the transaction if transferring ownership!
collateralAddress: wallet address where collateral for minting asset fee will be in if type is not manual
Burns: similar to distribution but send asset to a burn address or future lock it forever
A) Make use of OP_ASSET_ID (see Assets #2 issue)
B) ensure full backwards and forwards compatibility post changes. Including syncs from scratch and continuation post both shutdown types!
C) Create appropriate unit and possibly fuzz or other tests to ensure compliance and avoid unforeseen issues.
Create base code for a new transaction type or refractor current transaction structure to produce
Transaction type:
Name: Not update-able
updatable: bool - has to be true in this case or it would not be update-able. Can however be set to false for post update
Is_unique: true if this is asset is unique it has an identity per token (NFT flag)
Decimal point: has to be 0 if is_unique is true.
referenceHash: hash of the underlying physical or digital assets, IPFS hash can be used here.
Distribution:
Type: unit8 - possible types are manual, coinbase, address, and schedule
targetAddress: address to be issued to when asset issue transaction is created. If type is address then whenever a transaction occurred to this address then distribution occurs. If type is scheduled this is the address where assets will be issued per schedule.
issueFrequency: uint8 - mint specific amount of token every x blocks.
Amount: CAmount - amount to distribute each time if type is not manual.
ownerAddress: wallet address that this asset is owned by. Only key holder of this address will be able to mint new tokens. Must fund the transaction if transferring ownership!
collateralAddress: wallet address where collateral for minting asset fee will be in if type is not manual
Burns: similar to distribution but send asset to a burn address or future lock it forever
A) Make use of OP_ASSET_ID (see Assets #2 issue)
B) ensure full backwards and forwards compatibility post changes. Including syncs from scratch and continuation post both shutdown types!
C) Create appropriate unit and possibly fuzz or other tests to ensure compliance and avoid unforeseen issues.