mnft.registerMachine(RegisterMachine)
Register one or more Machine NFTs to a designated controller. This sends transactions from the Machine Issuer and charges the ERC20 fee from the controller.
The Machine NFT must be funded prior to execution.
RegisterMachine Type Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| machineIssuer | Signer | Required | Machine Issuer signer that submits the mint transactions. Must be connected to a provider. |
| machineNft | string | Required | Machine NFT contract address. |
| machineValueHuman | string | Required | Machine value in human-readable units (e.g., "10"). |
| machineControllerAddr | string | Required | EOA address that will control/own the machines. |
| erc20 | string | Required | ERC20 token address used to pay the fee. |
| tokenDecimals | number | Required | ERC20 token decimals. |
| salt | number | Required | Salt used to derive the DID document. |
| count | number | Required | Number of machines to register. |
Returns
| Field | Type | Description |
|---|---|---|
| status | issued | Status of the operation. |
| machineNft | string | Machine NFT contract address. |
| machineIssuer | string | Machine Issuer address that submitted the transaction(s). |
| machineController | string | Machine controller/owner address. |
| machineValue | { human: string; units: bigint; tokenDecimals: number; feeToken: string } | Machine value details. |
| count | number | Number of machines issued. |
| machines | { machineId: string; did?: string; receipt?: TransactionReceipt }[] | Per-machine results and receipts. |
| feesPaid | bigint | ERC20 fees paid by the controller. |
| startingBalance | bigint | Controller ERC20 balance before issuance. |
| endingBalance | bigint | Controller ERC20 balance after issuance. |
| humanTokenDelta | string | Human-readable fee delta. |

