Deprecated

This Splice documentation site is deprecated. Use the current Canton Network docs.

Open current docs

Splice.GovernanceLock.Transfer

Templates

template GovernanceLockTransfer

A proposal by the owner of GovernanceLock``s to transfer all or part of them to a new owner\. The proposal holds no funds\: on accept, the locks matching ``source are resolved by key, merged and split.

Signatory: (DA.Internal.Record.getField @"dso" source), (DA.Internal.Record.getField @"owner" source)

Field

Type

Description

source

GovernanceLockKey

Source locks to be transferred. Locks are resolved by key.

receiver

Party

New owner, who accepts the transfer.

amount

Decimal

Amount moved out of the source locks.

requestedAt

Time

When the sender requested the transfer.

expiresAt

Time

When the transfer proposal expires.

  • Choice Archive

    Controller: (DA.Internal.Record.getField @"dso" source), (DA.Internal.Record.getField @"owner" source)

    Returns: ()

    (no fields)

  • Choice GovernanceLockTransfer_DsoExpire

    Garbage-collect proposal that receiver never accepted, so SV nodes are not left storing it forever.

    Controller: (DA.Internal.Record.getField @"dso" source)

    Returns: GovernanceLockTransfer_DsoExpireResult

    (no fields)

Data Types

data GovernanceLockTransfer_DsoExpireResult

data LockTransferArgs

Arguments of createGovernanceLockTransfer.

LockTransferArgs

Field

Type

Description

source

GovernanceLockKey

Source locks to be transferred. Locks are resolved by key.

receiver

Party

New owner, who accepts the transfer.

amount

Decimal

Amount moved out of the source locks.

requestedAt

Time

When the sender requested the transfer.

extraArgs

ExtraArgs

instance GetField "amount" LockTransferArgs Decimal

instance GetField "extraArgs" LockTransferArgs ExtraArgs

instance GetField "receiver" LockTransferArgs Party

instance GetField "requestedAt" LockTransferArgs Time

instance GetField "source" LockTransferArgs GovernanceLockKey

instance SetField "amount" LockTransferArgs Decimal

instance SetField "extraArgs" LockTransferArgs ExtraArgs

instance SetField "receiver" LockTransferArgs Party

instance SetField "requestedAt" LockTransferArgs Time

instance SetField "source" LockTransferArgs GovernanceLockKey

Functions

transferGovernanceLockMetadata

: GovernanceLockSpecification -> Metadata

createGovernanceLockTransfer

: LockTransferArgs -> Update (ContractId GovernanceLockTransfer, GovernanceLockTransfer)

Creates a proposal to transfer amount of the governance locks with key source from their owner to receiver. Requires the authority of the source’s DSO party and owner. The proposal expires tokenStandardMaxTTL after requestedAt.

The source locks are not looked up: they will be resolved by key when the receiver accepts. So no funds move, and a proposal for a key that matches no lock is still created.

Comments