# ------------------------------------------------------------
CREATE TABLE `cross_transaction_inputs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
- `tx_id` int(11) NOT NULL,
+ `mainchain_tx_id` int(11) NOT NULL,
+ `sidechain_tx_id` int(11) DEFAULT NULL,
`source_pos` int(11) NOT NULL,
`asset_id` int(11) NOT NULL,
`asset_amount` bigint(20) DEFAULT '0',
+ `script` varchar(128) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `input_id` (`tx_id`,`source_pos`),
- CONSTRAINT `cross_transaction_inputs_ibfk_1` FOREIGN KEY (`tx_id`) REFERENCES `cross_transactions` (`id`),
- CONSTRAINT `cross_transaction_inputs_ibfk_2` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`)
+ CONSTRAINT `cross_transaction_inputs_ibfk_1` FOREIGN KEY (`mainchain_tx_id`) REFERENCES `cross_transactions` (`id`),
+ CONSTRAINT `cross_transaction_inputs_ibfk_2` FOREIGN KEY (`sidechain_tx_id`) REFERENCES `cross_transactions` (`id`),
+ CONSTRAINT `cross_transaction_inputs_ibfk_3` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOCK TABLES `cross_transaction_inputs` WRITE;
UNLOCK TABLES;
+# Dump of table cross_transaction_outputs
+# ------------------------------------------------------------
+CREATE TABLE `cross_transaction_outputs` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `sidechain_tx_id` int(11) NOT NULL,
+ `mainchain_tx_id` int(11) DEFAULT NULL,
+ `asset_id` int(11) NOT NULL,
+ `asset_amount` bigint(20) DEFAULT '0',
+ `script` varchar(128) NOT NULL,
+ `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ CONSTRAINT `cross_transaction_outputs_ibfk_1` FOREIGN KEY (`sidechain_tx_id`) REFERENCES `cross_transactions` (`id`),
+ CONSTRAINT `cross_transaction_outputs_ibfk_2` FOREIGN KEY (`mainchain_tx_id`) REFERENCES `cross_transactions` (`id`),
+ CONSTRAINT `cross_transaction_outputs_ibfk_3` FOREIGN KEY (`asset_id`) REFERENCES `assets` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+LOCK TABLES `cross_transaction_outputs` WRITE;
+UNLOCK TABLES;
+
+
# Dump of table cross_transaction_signs
# ------------------------------------------------------------
CREATE TABLE `cross_transaction_signs` (
package orm
import (
+ "database/sql"
+
"github.com/vapor/federation/types"
)
type CrossTransactionInput struct {
- ID uint64 `gorm:"primary_key"`
- TxID uint64
- SourcePos uint64
- AssetID uint64
- AssetAmount uint64
- CreatedAt types.Timestamp
- UpdatedAt types.Timestamp
+ ID uint64 `gorm:"primary_key"`
+ MainchainTxID uint64
+ SidechainTxID sql.NullInt64
+ SourcePos uint64
+ AssetID uint64
+ AssetAmount uint64
+ Script string
+ CreatedAt types.Timestamp
+ UpdatedAt types.Timestamp
- CrossTransaction *CrossTransaction `gorm:"foreignkey:TxID"`
- Asset *Asset `gorm:"foreignkey:AssetID"`
+ MainchainTransaction *CrossTransaction `gorm:"foreignkey:MainchainTxID"`
+ SidechainTransaction *CrossTransaction `gorm:"foreignkey:SidechainTxID"`
+ Asset *Asset `gorm:"foreignkey:AssetID"`
}