...
- An Iroha administrator should create a "bridge" domain and separate domain domains for each bridge, which will consist of all information about the bridge and its external entities.
- This account (and only it) should be able to add multi-signature accounts of concrete bridges, which will be administered by the bridge clients.
- Only bridge accounts should be able to add register and transfer new assets (those will represent external assets or tokens) and accounts (external accounts or wallets) based on bridge-clients quorum.
...
Mint(("bridge_definition", bridge_definition_bytes), bridge_asset_definition_id())
]),
// else do nothing...
Fail("Account not found.")
)
Notice, that 2 3 new ISIs were added. A Sequence for sequential execution of an arbitrary number of ISIs (an extended version of Compose) and , ExecuteQuery for sending Iroha queries, and Fail for explicit errors.
First, ISI checks if the given owner account exists, then creates a domain with a bridge account named 'bridge' with related permissions and without a public key, and finally, it mints an asset that stores bridge-related information (like bridge owner ID and kind). The signatories for the bridge account can be added later by the bridge owner.
...