func (_BankexPlasma *BankexPlasmaTransactorSession) SubmitBlocksSigned(fromIndex *big.Int, newBlocks []byte, rsv []byte) (*types.Transaction, error) {
	return _BankexPlasma.Contract.SubmitBlocksSigned(&_BankexPlasma.TransactOpts, fromIndex, newBlocks, rsv)
}
SubmitBlocksSigned is a paid mutator transaction binding the contract method 0x1f10e5da.

Solidity: function submitBlocksSigned(fromIndex uint256, newBlocks bytes, rsv bytes) returns(uint256)
package api
import (
	"math/big"
	"strings"
	ethereum "github.com/ethereum/go-ethereum"
	"github.com/ethereum/go-ethereum/accounts/abi"
	"github.com/ethereum/go-ethereum/accounts/abi/bind"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/core/types"
	"github.com/ethereum/go-ethereum/event"
)
var (
	_ = big.NewInt
	_ = strings.NewReader
	_ = ethereum.NotFound
	_ = abi.U256
	_ = bind.Bind
	_ = common.Big1
	_ = types.BloomLookup
	_ = event.NewSubscription
)
const BankexPlasmaABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputBytes\",\"type\":\"bytes\"},{\"name\":\"txProofBytes\",\"type\":\"bytes\"},{\"name\":\"blockIndex\",\"type\":\"uint64\"},{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"withdrawalChallangeSpend\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ASSET_DECIMALS_TRUNCATION\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"fromIndex\",\"type\":\"uint256\"},{\"name\":\"newBlocks\",\"type\":\"bytes\"},{\"name\":\"rsv\",\"type\":\"bytes\"}],\"name\":\"submitBlocksSigned\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"blocksLength\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"amountArg\",\"type\":\"uint256\"}],\"name\":\"depositERC20\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"asset\",\"type\":\"address\"},{\"name\":\"assetOffset\",\"type\":\"uint256\"}],\"name\":\"setAssetOffset\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAIN_COIN_ASSET_ID\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputBytes\",\"type\":\"bytes\"}],\"name\":\"withdrawalBegin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"fromIndex\",\"type\":\"uint256\"},{\"name\":\"newBlocks\",\"type\":\"bytes\"}],\"name\":\"submitBlocks\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ERC721_ASSET_ID\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"assetOffsets\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"depositERC721\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"inputBytes\",\"type\":\"bytes\"},{\"name\":\"intervalId\",\"type\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"withdrawalEnd\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\":\"blocks\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PLASMA_ASSETS_TOTAL_SIZE\",\"outputs\":[{\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"intervalId\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"begin\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"end\",\"type\":\"uint64\"}],\"name\":\"AssetDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CoinDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"begin\",\"type\":\"uint64\"}],\"name\":\"ERC721Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"blockIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"name\":\"txIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"name\":\"outputIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"name\":\"assetId\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"begin\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"end\",\"type\":\"uint64\"}],\"name\":\"WithdrawalBegin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"length\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"time\",\"type\":\"uint256\"}],\"name\":\"BlocksSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]"
const BankexPlasmaBin = `0x6080604081905260008054600160a060020a0319163317808255600160a060020a0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36000805260046020526200008a7f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec640100000000620021d9620000d382021704565b60016000526004602052620000cd7fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe05640100000000620021d9620000d382021704565b62000201565b8054156200012d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018062003c56602b913960400191505060405180910390fd5b604080516080810182526000808252602080830182815293830182815260608401838152865460018101885596845291909220925192909401805493519151945167ffffffffffffffff1990941667ffffffffffffffff93841617604060020a608060020a031916680100000000000000009284169290920291909117608060020a60c060020a0319167001000000000000000000000000000000009483169490940293909317600160c060020a031678010000000000000000000000000000000000000000000000009190921602179055565b613a4580620002116000396000f3fe60806040526004361061012e5760003560e060020a900480639c6a3907116100af578063d0e30db011610073578063d0e30db0146107a3578063d29a4bf6146107ab578063e9755357146107e4578063f25b3f99146108b4578063f2fde38b146108de578063f93a936f146109115761012e565b80639c6a3907146105e6578063b964a183146105fb578063bada1164146106a1578063bfa6c37c1461075b578063cf616025146107705761012e565b80638ce0b5a2116100f65780638ce0b5a2146105195780638da5cb5b1461052e5780638f32d59b1461055f57806397feb926146105745780639b65e579146105ad5761012e565b8063150b7a02146101335780631718904a1461023b5780631b044c3c1461039a5780631f10e5da146103c1578063715018a614610502575b600080fd5b34801561013f57600080fd5b506102066004803603608081101561015657600080fd5b600160a060020a0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561019157600080fd5b8201836020820111156101a357600080fd5b803590602001918460018302840111640100000000831117156101c557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061093f945050505050565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b34801561024757600080fd5b506103866004803603608081101561025e57600080fd5b81019060208101813564010000000081111561027957600080fd5b82018360208201111561028b57600080fd5b803590602001918460018302840111640100000000831117156102ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561030057600080fd5b82018360208201111561031257600080fd5b8035906020019184600183028401116401000000008311171561033457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505081356001604060020a03169250506020013560ff16610a48565b604080519115158252519081900360200190f35b3480156103a657600080fd5b506103af610bc5565b60408051918252519081900360200190f35b3480156103cd57600080fd5b506103af600480360360608110156103e457600080fd5b8135919081019060408101602082013564010000000081111561040657600080fd5b82018360208201111561041857600080fd5b8035906020019184600183028401116401000000008311171561043a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561048d57600080fd5b82018360208201111561049f57600080fd5b803590602001918460018302840111640100000000831117156104c157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610bcf945050505050565b34801561050e57600080fd5b50610517610ce4565b005b34801561052557600080fd5b506103af610d4e565b34801561053a57600080fd5b50610543610d55565b60408051600160a060020a039092168252519081900360200190f35b34801561056b57600080fd5b50610386610d64565b34801561058057600080fd5b506105176004803603604081101561059757600080fd5b50600160a060020a038135169060200135610d75565b3480156105b957600080fd5b50610517600480360360408110156105d057600080fd5b50600160a060020a038135169060200135611086565b3480156105f257600080fd5b5061054361118a565b6103866004803603602081101561061157600080fd5b81019060208101813564010000000081111561062c57600080fd5b82018360208201111561063e57600080fd5b8035906020019184600183028401116401000000008311171561066057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061118f945050505050565b3480156106ad57600080fd5b506103af600480360360408110156106c457600080fd5b813591908101906040810160208201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184600183028401116401000000008311171561071a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611364945050505050565b34801561076757600080fd5b5061054361138a565b34801561077c57600080fd5b506103af6004803603602081101561079357600080fd5b5035600160a060020a031661138f565b6105176113aa565b3480156107b757600080fd5b50610517600480360360408110156107ce57600080fd5b50600160a060020a0381351690602001356114ec565b3480156107f057600080fd5b506105176004803603608081101561080757600080fd5b81019060208101813564010000000081111561082257600080fd5b82018360208201111561083457600080fd5b8035906020019184600183028401116401000000008311171561085657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505081356001604060020a03169250506020810135600160a060020a031690604001356117ba565b3480156108c057600080fd5b50610543600480360360208110156108d757600080fd5b5035611c2d565b3480156108ea57600080fd5b506105176004803603602081101561090157600080fd5b5035600160a060020a0316611c59565b34801561091d57600080fd5b50610926611c78565b6040805163ffffffff9092168252519081900360200190f35b60408051606060020a330260208083019190915260348083018690528351808403909101815260549092019092528051910120600090600160a060020a03861630146109bf5760405160e560020a62461bcd02815260040180806020018281038252602f8152602001806139eb602f913960400191505060405180910390fd5b6002548114610a18576040805160e560020a62461bcd02815260206004820152601d60248201527f45524337323120746f6b656e20776173206e6f74206578706563746564000000604482015290519081900360640190fd5b505060006002557f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6000610a526136d1565b610a5b86611c7f565b9050610a6561370d565b610a6e86611ca6565b82516020808501516040808701516060880151608089015160a08a015160c08b01518551606060020a600160a060020a039a8b168102828b015260e060020a63ffffffff998a168102603484015298909616909702603888015260f860020a60ff94851602603c88015297909116909202603d85015260c060020a6001604060020a03928316810260518601529190951602605983015280516041818403018152606190920181528151918301919091206000818152600690935291205492935091161515610b715760405160e560020a62461bcd0281526004018080602001828103825260218152602001806138f66021913960400191505060405180910390fd5b610b97610b86876001604060020a0316611c2d565b839062ffffff63ffffffff611cc216565b1515610ba257600080fd5b6000908152600660205260409020805460ff191690555060019695505050505050565b6509184e72a00081565b60008084846040516020018083815260200182805190602001908083835b60208310610c0c5780518252601f199092019160209182019101610bed565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040528051906020012090506000610c5582611e0f565b9050610c618185611e60565b600160a060020a0316610c72610d55565b600160a060020a031614610cd0576040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b610cda8686611f37565b9695505050505050565b610cec610d64565b1515610cf757600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001545b90565b600054600160a060020a031690565b600054600160a060020a0316331490565b600160a060020a0382166000908152600460205260409020610d9690612096565b1515610dd65760405160e560020a62461bcd0281526004018080602001828103825260248152602001806139a06024913960400191505060405180910390fd5b600160a060020a03821660009081526004602052604081206509184e72a0008304919081908190610e07908561209d565b925092509250600086600160a060020a03166370a08231306040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b158015610e6857600080fd5b505afa158015610e7c573d6000803e3d6000fd5b505050506040513d6020811015610e9257600080fd5b50519050610ec2600160a060020a03881633306001604060020a0389166509184e72a0000263ffffffff61211916565b6000610f598289600160a060020a03166370a08231306040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b158015610f2157600080fd5b505afa158015610f35573d6000803e3d6000fd5b505050506040513d6020811015610f4b57600080fd5b50519063ffffffff6121c416565b6040805182815290519192503391600160a060020a038b16917fe33e9822e3317b004d587136bab2627ea1ecfbba4eb79abddd0a56cfdd09c0e1919081900360200190a3604080516001604060020a038088168252808716602083015285168183015290513391600160a060020a038b16917f9032c225a61b3707cb5287484fb18ea898ee87a267f5ad3566cbef48ddc24fba9181900360600190a3505060408051606060020a600160a060020a03909816880260208083019190915233988902603483015260c060020a6001604060020a0396871681026048840152948616850260508301529490921690920260588201528151808203830181526060909101825280519083012060009586526005835290852080546001810182559086529190942001929092555050565b61108e610d64565b151561109957600080fd5b6001811180156110aa575061010081105b15156110ea5760405160e560020a62461bcd0281526004018080602001828103825260278152602001806139c46027913960400191505060405180910390fd5b600160a060020a03821660009081526003602052604090205415611158576040805160e560020a62461bcd02815260206004820152601b60248201527f61737365744f66667365742077617320616c7265616479207365740000000000604482015290519081900360640190fd5b600160a060020a038216600090815260036020908152604080832084905560049091529020611186906121d9565b5050565b600081565b60006111996136d1565b6111a283611c7f565b90507f7bdb2cf01b63deccbb5bd6324837d4263466ea905850e0adcc6c7ddb448181a3816000015182602001518360400151846060015185608001518660a001518760c001516040518088600160a060020a0316600160a060020a031681526020018763ffffffff1663ffffffff1681526020018663ffffffff1663ffffffff1681526020018560ff1660ff16815260200184600160a060020a0316600160a060020a03168152602001836001604060020a03166001604060020a03168152602001826001604060020a03166001604060020a0316815260200197505050505050505060405180910390a180516020808301516040808501516060860151608087015160a088015160c0909801518451606060020a600160a060020a03998a168102828a015260e060020a63ffffffff9889168102603484015297909516909602603887015260f860020a60ff90931692909202603c8601529590951602603d83015260c060020a6001604060020a03958616810260518401529490931690930260598401528151604181850301815260619093018252825192810192909220600090815260069092529020805460ff1916600190811790915590505b919050565b600061136e610d64565b151561137957600080fd5b6113838383611f37565b5092915050565b600181565b600160a060020a031660009081526003602052604090205490565b600080805260046020526509184e72a00034049080806113ea7f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec8561209d565b604080516001604060020a03891681529051939650919450925033917f7d6babeeae6799e032644c4c2d100c2ab47a967aec6115cf3ec5c09b818a62b69181900360200190a2604080516001604060020a0380861682528085166020830152831681830152905133916000917f9032c225a61b3707cb5287484fb18ea898ee87a267f5ad3566cbef48ddc24fba9181900360600190a350506040805133606060020a81026020808401919091526001604060020a039590951660c060020a0260348301528251808303601c018152603c909201835281519185019190912060009182526005855291812080546001810182559082529390209092019190915550565b60408051600160a060020a038416606060020a810260208084019190915260348084018690528451808503909101815260548401808652815191909201206002557f42842e0e0000000000000000000000000000000000000000000000000000000090523360588301523060788301526098820184905291516342842e0e9160b88082019260009290919082900301818387803b15801561158c57600080fd5b505af11580156115a0573d6000803e3d6000fd5b50506002541591506115fe9050576040805160e560020a62461bcd02815260206004820152601960248201527f45524337323120746f6b656e206e6f7420726563656976656400000000000000604482015290519081900360640190fd5b6001600081815260046020529081908190611640907fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe059063ffffffff61209d16565b925092509250816001604060020a031633600160a060020a031686600160a060020a03167f9e49df316dc5092c01f8b43df9e0a400cf0ce3c7f7d943da44da5a6a3446aa50876040518082815260200191505060405180910390a4604080516001604060020a0380861682528085166020830152831681830152905133916001917f9032c225a61b3707cb5287484fb18ea898ee87a267f5ad3566cbef48ddc24fba9181900360600190a360408051606060020a602080830182905233828102603485015260c060020a6001604060020a03988916810260488601529688168702605085018190529790951690950260588301528251808303840181526060830184528051908601206000948552600586528385208054600181810183559187528787200191909155600160a060020a0398909816026080820152609481019590955260b48501939093528251609c81860301815260bc90940183528351938201939093208352600790529020805460ff19169091179055565b6117c26136d1565b6117cb85611c7f565b80516020808301516040808501516060860151608087015160a088015160c08901518551606060020a600160a060020a039a8b168102828b015260e060020a63ffffffff998a168102603484015298909616909702603888015260f860020a60ff94851602603c88015297909116909202603d85015260c060020a6001604060020a039283168102605186015291909516026059830152805160418184030181526061909201815281519183019190912060008181526006909352912054929350911615156118ce5760405160e560020a62461bcd0281526004018080602001828103825260218152602001806138f66021913960400191505060405180910390fd5b6000818152600660209081526040808320805460ff1916905560a085015160c08601516080870151600160a060020a031685526004909352922061191c92909188919063ffffffff6122eb16565b506080820151600160a060020a031615156119b5578160000151600160a060020a03166108fc6119856509184e72a0006119798660a001516001604060020a03168760c001516001604060020a03166121c490919063ffffffff16565b9063ffffffff61277a16565b6040518115909202916000818181858888f193505050501580156119ad573d6000803e3d6000fd5b505050611c27565b6080820151600160a060020a031660011415611b69578160a001516001016001604060020a03168260c001516001604060020a0316141515611a2b5760405160e560020a62461bcd0281526004018080602001828103825260378152602001806139696037913960400191505060405180910390fd5b60a082015160408051600160a060020a038716606060020a02602080830191909152603482018790526001604060020a0390931660c060020a0260548201528151808203603c018152605c90910182528051908301206000818152600790935291205460ff161515611ad15760405160e560020a62461bcd0281526004018080602001828103825260218152602001806138d56021913960400191505060405180910390fd5b600081815260076020526040808220805460ff1916905580517f095ea7b3000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a0388169263095ea7b3926044808201939182900301818387803b158015611b4957600080fd5b505af1158015611b5d573d6000803e3d6000fd5b50505050505050611c27565b83600160a060020a031663a9059cbb33611ba68560a001516001604060020a03168660c001516001604060020a03166121c490919063ffffffff16565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015611bf857600080fd5b505af1158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b505050505b50505050565b6000600182815481101515611c3e57fe5b600091825260209091200154600160a060020a031692915050565b611c61610d64565b1515611c6c57600080fd5b611c75816127ac565b50565b62ffffff81565b611c876136d1565b611ca0611c9b611c9684612829565b61284e565b61291e565b92915050565b611cae61370d565b611ca0611cbd611c9684612829565b612a27565b6000806018856060015151811515611cd657fe5b0490506000611d0486602001516000015187602001516020015163ffffffff16612acf90919063ffffffff16565b60408701516020880151518851929350909160005b858160ff161015611dc557600080611d388c606001518460ff16612ae7565b909250905060018085161415611d8757611d5482888389612b0a565b9550611d6a63ffffffff808716908490612acf16565b9450611d8063ffffffff808916908490612b6c16565b9650611dac565b611d9387838884612b0a565b9550611da963ffffffff808916908490612b6c16565b96505b5050600263ffffffff9092169190910490600101611d19565b5063ffffffff8216158015611de557508663ffffffff168463ffffffff16145b8015611e02575087600160a060020a031683600160a060020a0316145b9998505050505050505050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008060008084516041141515611e7d5760009350505050611ca0565b50505060208201516040830151606084015160001a601b60ff82161015611ea257601b015b8060ff16601b14158015611eba57508060ff16601c14155b15611ecb5760009350505050611ca0565b6040805160008152602080820180845289905260ff8416828401526060820186905260808201859052915160019260a0808401939192601f1981019281900390910190855afa158015611f22573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008060148351811515611f4757fe5b60015491900491508414611fa5576040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c69642066726f6d496e646578000000000000000000000000000000604482015290519081900360640190fd5b600154600090611fbb908663ffffffff6121c416565b9050611fcd858363ffffffff612b8716565b611fd860018261373c565b50805b8281101561204d57600080826014026020019050606060020a81880151049150816001848a0181548110151561200d57fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050600101611fdb565b508181101561208d576001546040805142815290517ff32c68e7736e0f3f51cf7e6d33003550534f6ce10665ed8430cd92d66b0bbb999181900360200190a25b90039392505050565b5460001090565b600182015482546000918291829182918791604060020a90046001604060020a03169081106120c857fe5b60009182526020822001805460018901546001604060020a03604060020a92839004811697506000198a890101965092945061210f938a9392909104909116908686612b99565b9350509250925092565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528481166024830152604482018490529151918616916323b872dd916064808201926020929091908290030181600087803b15801561218d57600080fd5b505af11580156121a1573d6000803e3d6000fd5b505050506040513d60208110156121b757600080fd5b50511515611c2757600080fd5b6000828211156121d357600080fd5b50900390565b80541561221a5760405160e560020a62461bcd02815260040180806020018281038252602b81526020018061393e602b913960400191505060405180910390fd5b604080516080810182526000808252602080830182815293830182815260608401838152865460018101885596845291909220925192909401805493519151945167ffffffffffffffff199094166001604060020a03938416176fffffffffffffffff00000000000000001916604060020a928416929092029190911777ffffffffffffffff000000000000000000000000000000001916608060020a948316949094029390931777ffffffffffffffffffffffffffffffffffffffffffffffff1660c060020a9190921602179055565b60006001604060020a0380831690841610612350576040805160e560020a62461bcd02815260206004820181905260248201527f726967687420626f756e64206c657373207468616e206c65667420626f756e64604482015290519081900360640190fd5b84546001604060020a038516106123b1576040805160e560020a62461bcd02815260206004820152601260248201527f76616c696420696e64657820626f756e64730000000000000000000000000000604482015290519081900360640190fd5b845460009086906001604060020a0387169081106123cb57fe5b6000918252602082200180548854919350889160c060020a9091046001604060020a03169081106123f857fe5b60009182526020822084548a5491909201935089916001604060020a03608060020a9091041690811061242757fe5b60009182526020909120845491019150604060020a90046001604060020a0316151561249d576040805160e560020a62461bcd02815260206004820152601f60248201527f72656d6f76656420696e74657276616c20646f65736e27742065786973747300604482015290519081900360640190fd5b82546001604060020a038088169116118015906124cf575082546001604060020a03604060020a909104811690861611155b1515612525576040805160e560020a62461bcd02815260206004820152601e60248201527f696e636f72726563742072656d6f7665642072616e676520626f756e64730000604482015290519081900360640190fd5b82546001604060020a038082168882161491604060020a900481169087161481801561254e5750805b1561268d578454600060c060020a9091046001604060020a031611156125aa578454845477ffffffffffffffff000000000000000000000000000000001916608060020a918290046001604060020a03169091021784556125d7565b845460018b018054608060020a9092046001604060020a031667ffffffffffffffff199092169190911790555b84546000608060020a9091046001604060020a0316111561262d578454835477ffffffffffffffffffffffffffffffffffffffffffffffff1660c060020a918290046001604060020a0316909102178355612666565b845460018b0180546fffffffffffffffff0000000000000000191660c060020a9092046001604060020a0316604060020a029190911790555b89548a906001604060020a038b1690811061267d57fe5b600091825260208220015561276d565b81156126b257845467ffffffffffffffff19166001604060020a03881617855561276d565b80156126e55784546fffffffffffffffff00000000000000001916604060020a6001604060020a038a160217855561276d565b84546001604060020a03898116604060020a9081026fffffffffffffffff0000000000000000198416178089559204811691612731918d918d91608060020a909104168b856001612ba6565b865477ffffffffffffffff000000000000000000000000000000001916608060020a6001604060020a0392831681029190911780895504169650505b5050505050949350505050565b600082151561278b57506000611ca0565b82820282848281151561279a57fe5b04146127a557600080fd5b9392505050565b600160a060020a03811615156127c157600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b612831613760565b506040805180820190915281518152602082810190820152919050565b6060612859826133ce565b151561286457600080fd5b600061286f8361340d565b9050806040519080825280602002602001820160405280156128ab57816020015b612898613760565b8152602001906001900390816128905790505b50915060006128bd846020015161346b565b60208501510190506000805b83811015612915576128da836134d4565b915060408051908101604052808381526020018481525085828151811015156128ff57fe5b60209081029091010152918101916001016128c9565b50505050919050565b6129266136d1565b60e06040519081016040528061295384600081518110151561294457fe5b90602001906020020151613564565b600160a060020a0316815260200161298284600181518110151561297357fe5b9060200190602002015161357b565b63ffffffff16815260200161299f84600281518110151561297357fe5b63ffffffff1681526020016129bc84600381518110151561297357fe5b60ff1681526020016129d684600481518110151561294457fe5b600160a060020a031681526020016129f684600581518110151561297357fe5b6001604060020a03168152602001612a1684600681518110151561297357fe5b6001604060020a0316905292915050565b612a2f61370d565b608060405190810160405280612a4d84600081518110151561297357fe5b63ffffffff168152602001612a81612a7c856001815181101515612a6d57fe5b9060200190602002015161284e565b6135b8565b8152602001612a9884600281518110151561294457fe5b600160a060020a03168152602001612ac7846003815181101515612ab857fe5b90602001906020020151613608565b905292915050565b600063ffffffff80841690831611156121d357600080fd5b60180201602081015160249091015160e060020a90910491606060020a90910490565b6040805160e060020a63ffffffff9687168102602080840191909152959096169095026024860152606060020a600160a060020a03938416810260288701529190921602603c8401528051603081850301815260509093019052815191012090565b600082820163ffffffff80851690821610156127a557600080fd5b6000828201838110156127a557600080fd5b6000610cda868686868660005b60006001604060020a0380841690851610612bf55760405160e560020a62461bcd0281526004018080602001828103825260278152602001806137f36027913960400191505060405180910390fd5b600187015460006001604060020a0391821611908716151580612c2057506001604060020a03861615155b151514612c615760405160e560020a62461bcd02815260040180806020018281038252602c815260200180613841602c913960400191505060405180910390fd5b612c6a87612096565b1515612c7957612c79876121d9565b865460009088906001604060020a038916908110612c9357fe5b6000918252602082208a549101925089906001604060020a038916908110612cb757fe5b906000526020600020019050876001604060020a031660001480612cf0575081546001604060020a03604060020a909104811690871610155b1515612d305760405160e560020a62461bcd02815260040180806020018281038252602781526020018061381a6027913960400191505060405180910390fd5b6001604060020a0387161580612d54575080546001604060020a0390811690861611155b1515612d945760405160e560020a62461bcd0281526004018080602001828103825260258152602001806138b06025913960400191505060405180910390fd5b6000876001604060020a03161115156000896001604060020a03161115151415612e335781546001604060020a03888116608060020a90920416148015612dee575080546001604060020a0389811660c060020a90920416145b1515612e2e5760405160e560020a62461bcd0281526004018080602001828103825260378152602001806137bc6037913960400191505060405180910390fd5b612fbb565b6000876001604060020a03161115612eb35760018901546001604060020a038881169116148015612e735750805460c060020a90046001604060020a0316155b1515612e2e5760405160e560020a62461bcd0281526004018080602001828103825260278152602001806139176027913960400191505060405180910390fd5b6000886001604060020a03161115612fbb5760018901546001604060020a03898116604060020a90920416148015612efa57508154608060020a90046001604060020a0316155b1515612f3a5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806137966026913960400191505060405180910390fd5b8380612f5d575060018901546001604060020a03898116604060020a9092041614155b80612f7b575081546001604060020a03878116604060020a90920416145b1515612fbb5760405160e560020a62461bcd02815260040180806020018281038252604381526020018061386d6043913960600191505060405180910390fd5b600080896001604060020a0316118015612fe8575082546001604060020a03888116604060020a90920416145b9050600080896001604060020a0316118015613010575082546001604060020a038881169116145b90508115801561301e575080155b15613233578a6000018054905094508a6000016080604051908101604052808a6001604060020a03168152602001896001604060020a031681526020018b6001604060020a031681526020018c6001604060020a031681525090806001815401808255809150509060018203906000526020600020016000909192909190915060008201518160000160006101000a8154816001604060020a0302191690836001604060020a0316021790555060208201518160000160086101000a8154816001604060020a0302191690836001604060020a0316021790555060408201518160000160106101000a8154816001604060020a0302191690836001604060020a0316021790555060608201518160000160186101000a8154816001604060020a0302191690836001604060020a031602179055505050506000896001604060020a0316111561319b57825477ffffffffffffffffffffffffffffffffffffffffffffffff1660c060020a6001604060020a038716021783556131c8565b60018b0180546fffffffffffffffff00000000000000001916604060020a6001604060020a038816021790555b60008a6001604060020a0316111561320f57835477ffffffffffffffff000000000000000000000000000000001916608060020a6001604060020a0387160217845561322e565b60018b01805467ffffffffffffffff19166001604060020a0387161790555b6133c0565b81801561323d5750805b1561336657825484546001604060020a03604060020a92839004811683026fffffffffffffffff000000000000000019909216919091178087558554608060020a9081900483160277ffffffffffffffff000000000000000000000000000000001990911617865560018d01548c97508b82169290041614156132eb5760018b0180546fffffffffffffffff00000000000000001916604060020a6001604060020a0388160217905561333f565b82548b5486918d91608060020a9091046001604060020a031690811061330d57fe5b9060005260206000200160000160186101000a8154816001604060020a0302191690836001604060020a031602179055505b8a548b906001604060020a038b1690811061335657fe5b60009182526020822001556133c0565b811561339c5783546fffffffffffffffff00000000000000001916604060020a6001604060020a038916021784558994506133c0565b80156133c057825467ffffffffffffffff19166001604060020a0389161783558894505b505050509695505050505050565b805160009015156133e15750600061135f565b6020820151805160001a9060c060ff831610156134035760009250505061135f565b5060019392505050565b805160009015156134205750600061135f565b60008090506000613434846020015161346b565b602085015185519181019250015b8082101561346257613453826134d4565b60019093019290910190613442565b50909392505050565b8051600090811a608081101561348557600091505061135f565b60b88110806134a0575060c081108015906134a0575060f881105b156134af57600191505061135f565b60c08110156134c35760b51901905061135f565b60f51901905061135f565b50919050565b8051600090811a60808110156134ee57600191505061135f565b60b881101561350257607e1901905061135f565b60c081101561352f5760b78103600184019350806020036101000a845104600182018101935050506134ce565b60f88110156135435760be1901905061135f565b60019290920151602083900360f7016101000a900490910160f51901919050565b80516000906015101561357657600080fd5b611ca0825b8051600090811061358b57600080fd5b600061359a836020015161346b565b83516020948501518201519190039093036101000a90920492915050565b6135c0613760565b60408051908101604052806135dd84600081518110151561297357fe5b63ffffffff1681526020016135fa84600181518110151561297357fe5b63ffffffff16905292915050565b805160609060001061361957600080fd5b6000613628836020015161346b565b83516040805191839003808352601f19601f820116830160200190915291925060609082801561365f576020820181803883390190505b509050600081602001905061367b848760200151018285613684565b50949350505050565b801515613690576136cc565b5b602081106136b0578251825260209283019290910190601f1901613691565b8251825160208390036101000a60001901801990921691161782525b505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160a081019091526000815260208101613728613760565b815260006020820152606060409091015290565b8154818355818111156136cc576000838152602090206136cc918101908301613777565b604080518082019091526000808252602082015290565b610d5291905b80821115613791576000815560010161377d565b509056fe707265762073686f756c6420726566657220746f20746865206c61737420696e74657276616c7072657620616e64206e6578742073686f756c6420726566657220746f20746865206e65696768626f72696e6720696e74657276616c73726967687420626f756e64206c657373206f7220657175616c20746f206c65667420626f756e64626567696e20636f756c64206e6f7420696e74657273656374207072657620696e74657276616c7072657620616e64206e65787420636f756c64206265207a65726f20696666206e6f20696e74657276616c7373686f756c6420626567696e2066726f6d2074686520656e64206f66206c617465737420696e74657276616c207768656e20616464696e6720746f2074686520656e64656e6420636f756c64206e6f7420696e74657273656374206e65787420696e74657276616c496e76616c696420746f6b656e206f7220746f6b65496420617267756d656e7473596f752073686f756c64207374617274207769746864726177616c2066697273746e6578742073686f756c6420726566657220746f2074686520666972737420696e74657276616c4f726465726564496e74657276616c4c6973742077617320616c726561647920696e697469616c697a6564497420697320616c6c6f77656420746f207769746864726177206f6e6c7920312045524337323120706572207472616e73616374696f6e4f70657261746f722073686f756c6420616464207468697320746f6b656e20666972737461737365744f66667365742073686f756c6420626520696e2072616e6765205b322c203235355d4f6e6c79207468697320636f6e74726163742073686f756c64206465706f7369742045524337323120746f6b656e73a165627a7a72305820911ce706247907596285ae93d27d017416411e201fb5f9aae977a2fff16b472500294f726465726564496e74657276616c4c6973742077617320616c726561647920696e697469616c697a6564`
func DeployBankexPlasma(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BankexPlasma, error) {
	parsed, err := abi.JSON(strings.NewReader(BankexPlasmaABI))
	if err != nil {
		return common.Address{}, nil, nil, err
	}
	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BankexPlasmaBin), backend)
	if err != nil {
		return common.Address{}, nil, nil, err
	}
	return address, tx, &BankexPlasma{BankexPlasmaCaller: BankexPlasmaCaller{contract: contract}, BankexPlasmaTransactor: BankexPlasmaTransactor{contract: contract}, BankexPlasmaFilterer: BankexPlasmaFilterer{contract: contract}}, nil
}
type BankexPlasma struct {
	BankexPlasmaCaller      
	BankexPlasmaTransactor  
	BankexPlasmaFilterer    
}
type BankexPlasmaCaller struct {
	contract *bind.BoundContract  
}
type BankexPlasmaTransactor struct {
	contract *bind.BoundContract  
}
type BankexPlasmaFilterer struct {
	contract *bind.BoundContract  
}
type BankexPlasmaSession struct {
	Contract     *BankexPlasma      
	CallOpts     bind.CallOpts      
	TransactOpts bind.TransactOpts  
}
type BankexPlasmaCallerSession struct {
	Contract *BankexPlasmaCaller  
	CallOpts bind.CallOpts        
}
type BankexPlasmaTransactorSession struct {
	Contract     *BankexPlasmaTransactor  
	TransactOpts bind.TransactOpts        
}
type BankexPlasmaRaw struct {
	Contract *BankexPlasma  
}
type BankexPlasmaCallerRaw struct {
	Contract *BankexPlasmaCaller  
}
type BankexPlasmaTransactorRaw struct {
	Contract *BankexPlasmaTransactor  
}
func NewBankexPlasma(address common.Address, backend bind.ContractBackend) (*BankexPlasma, error) {
	contract, err := bindBankexPlasma(address, backend, backend, backend)
	if err != nil {
		return nil, err
	}
	return &BankexPlasma{BankexPlasmaCaller: BankexPlasmaCaller{contract: contract}, BankexPlasmaTransactor: BankexPlasmaTransactor{contract: contract}, BankexPlasmaFilterer: BankexPlasmaFilterer{contract: contract}}, nil
}
func NewBankexPlasmaCaller(address common.Address, caller bind.ContractCaller) (*BankexPlasmaCaller, error) {
	contract, err := bindBankexPlasma(address, caller, nil, nil)
	if err != nil {
		return nil, err
	}
	return &BankexPlasmaCaller{contract: contract}, nil
}
func NewBankexPlasmaTransactor(address common.Address, transactor bind.ContractTransactor) (*BankexPlasmaTransactor, error) {
	contract, err := bindBankexPlasma(address, nil, transactor, nil)
	if err != nil {
		return nil, err
	}
	return &BankexPlasmaTransactor{contract: contract}, nil
}
func NewBankexPlasmaFilterer(address common.Address, filterer bind.ContractFilterer) (*BankexPlasmaFilterer, error) {
	contract, err := bindBankexPlasma(address, nil, nil, filterer)
	if err != nil {
		return nil, err
	}
	return &BankexPlasmaFilterer{contract: contract}, nil
}
func bindBankexPlasma(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
	parsed, err := abi.JSON(strings.NewReader(BankexPlasmaABI))
	if err != nil {
		return nil, err
	}
	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
}
func (_BankexPlasma *BankexPlasmaRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
	return _BankexPlasma.Contract.BankexPlasmaCaller.contract.Call(opts, result, method, params...)
}
func (_BankexPlasma *BankexPlasmaRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
	return _BankexPlasma.Contract.BankexPlasmaTransactor.contract.Transfer(opts)
}
func (_BankexPlasma *BankexPlasmaRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
	return _BankexPlasma.Contract.BankexPlasmaTransactor.contract.Transact(opts, method, params...)
}
func (_BankexPlasma *BankexPlasmaCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
	return _BankexPlasma.Contract.contract.Call(opts, result, method, params...)
}
func (_BankexPlasma *BankexPlasmaTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
	return _BankexPlasma.Contract.contract.Transfer(opts)
}
func (_BankexPlasma *BankexPlasmaTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
	return _BankexPlasma.Contract.contract.Transact(opts, method, params...)
}
func (_BankexPlasma *BankexPlasmaCaller) ASSETDECIMALSTRUNCATION(opts *bind.CallOpts) (*big.Int, error) {
	var (
		ret0 = new(*big.Int)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "ASSET_DECIMALS_TRUNCATION")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) ASSETDECIMALSTRUNCATION() (*big.Int, error) {
	return _BankexPlasma.Contract.ASSETDECIMALSTRUNCATION(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) ASSETDECIMALSTRUNCATION() (*big.Int, error) {
	return _BankexPlasma.Contract.ASSETDECIMALSTRUNCATION(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCaller) ERC721ASSETID(opts *bind.CallOpts) (common.Address, error) {
	var (
		ret0 = new(common.Address)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "ERC721_ASSET_ID")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) ERC721ASSETID() (common.Address, error) {
	return _BankexPlasma.Contract.ERC721ASSETID(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) ERC721ASSETID() (common.Address, error) {
	return _BankexPlasma.Contract.ERC721ASSETID(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCaller) MAINCOINASSETID(opts *bind.CallOpts) (common.Address, error) {
	var (
		ret0 = new(common.Address)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "MAIN_COIN_ASSET_ID")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) MAINCOINASSETID() (common.Address, error) {
	return _BankexPlasma.Contract.MAINCOINASSETID(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) MAINCOINASSETID() (common.Address, error) {
	return _BankexPlasma.Contract.MAINCOINASSETID(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCaller) PLASMAASSETSTOTALSIZE(opts *bind.CallOpts) (uint32, error) {
	var (
		ret0 = new(uint32)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "PLASMA_ASSETS_TOTAL_SIZE")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) PLASMAASSETSTOTALSIZE() (uint32, error) {
	return _BankexPlasma.Contract.PLASMAASSETSTOTALSIZE(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) PLASMAASSETSTOTALSIZE() (uint32, error) {
	return _BankexPlasma.Contract.PLASMAASSETSTOTALSIZE(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCaller) AssetOffsets(opts *bind.CallOpts, asset common.Address) (*big.Int, error) {
	var (
		ret0 = new(*big.Int)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "assetOffsets", asset)
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) AssetOffsets(asset common.Address) (*big.Int, error) {
	return _BankexPlasma.Contract.AssetOffsets(&_BankexPlasma.CallOpts, asset)
}
func (_BankexPlasma *BankexPlasmaCallerSession) AssetOffsets(asset common.Address) (*big.Int, error) {
	return _BankexPlasma.Contract.AssetOffsets(&_BankexPlasma.CallOpts, asset)
}
func (_BankexPlasma *BankexPlasmaCaller) Blocks(opts *bind.CallOpts, i *big.Int) (common.Address, error) {
	var (
		ret0 = new(common.Address)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "blocks", i)
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) Blocks(i *big.Int) (common.Address, error) {
	return _BankexPlasma.Contract.Blocks(&_BankexPlasma.CallOpts, i)
}
func (_BankexPlasma *BankexPlasmaCallerSession) Blocks(i *big.Int) (common.Address, error) {
	return _BankexPlasma.Contract.Blocks(&_BankexPlasma.CallOpts, i)
}
func (_BankexPlasma *BankexPlasmaCaller) BlocksLength(opts *bind.CallOpts) (*big.Int, error) {
	var (
		ret0 = new(*big.Int)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "blocksLength")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) BlocksLength() (*big.Int, error) {
	return _BankexPlasma.Contract.BlocksLength(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) BlocksLength() (*big.Int, error) {
	return _BankexPlasma.Contract.BlocksLength(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCaller) IsOwner(opts *bind.CallOpts) (bool, error) {
	var (
		ret0 = new(bool)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "isOwner")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) IsOwner() (bool, error) {
	return _BankexPlasma.Contract.IsOwner(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) IsOwner() (bool, error) {
	return _BankexPlasma.Contract.IsOwner(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
	var (
		ret0 = new(common.Address)
	)
	out := ret0
	err := _BankexPlasma.contract.Call(opts, out, "owner")
	return *ret0, err
}
func (_BankexPlasma *BankexPlasmaSession) Owner() (common.Address, error) {
	return _BankexPlasma.Contract.Owner(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaCallerSession) Owner() (common.Address, error) {
	return _BankexPlasma.Contract.Owner(&_BankexPlasma.CallOpts)
}
func (_BankexPlasma *BankexPlasmaTransactor) Deposit(opts *bind.TransactOpts) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "deposit")
}
func (_BankexPlasma *BankexPlasmaSession) Deposit() (*types.Transaction, error) {
	return _BankexPlasma.Contract.Deposit(&_BankexPlasma.TransactOpts)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) Deposit() (*types.Transaction, error) {
	return _BankexPlasma.Contract.Deposit(&_BankexPlasma.TransactOpts)
}
func (_BankexPlasma *BankexPlasmaTransactor) DepositERC20(opts *bind.TransactOpts, token common.Address, amountArg *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "depositERC20", token, amountArg)
}
func (_BankexPlasma *BankexPlasmaSession) DepositERC20(token common.Address, amountArg *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.Contract.DepositERC20(&_BankexPlasma.TransactOpts, token, amountArg)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) DepositERC20(token common.Address, amountArg *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.Contract.DepositERC20(&_BankexPlasma.TransactOpts, token, amountArg)
}
func (_BankexPlasma *BankexPlasmaTransactor) DepositERC721(opts *bind.TransactOpts, token common.Address, tokenId *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "depositERC721", token, tokenId)
}
func (_BankexPlasma *BankexPlasmaSession) DepositERC721(token common.Address, tokenId *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.Contract.DepositERC721(&_BankexPlasma.TransactOpts, token, tokenId)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) DepositERC721(token common.Address, tokenId *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.Contract.DepositERC721(&_BankexPlasma.TransactOpts, token, tokenId)
}
func (_BankexPlasma *BankexPlasmaTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, arg1 common.Address, tokenId *big.Int, arg3 []byte) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "onERC721Received", operator, arg1, tokenId, arg3)
}
func (_BankexPlasma *BankexPlasmaSession) OnERC721Received(operator common.Address, arg1 common.Address, tokenId *big.Int, arg3 []byte) (*types.Transaction, error) {
	return _BankexPlasma.Contract.OnERC721Received(&_BankexPlasma.TransactOpts, operator, arg1, tokenId, arg3)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) OnERC721Received(operator common.Address, arg1 common.Address, tokenId *big.Int, arg3 []byte) (*types.Transaction, error) {
	return _BankexPlasma.Contract.OnERC721Received(&_BankexPlasma.TransactOpts, operator, arg1, tokenId, arg3)
}
func (_BankexPlasma *BankexPlasmaTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "renounceOwnership")
}
func (_BankexPlasma *BankexPlasmaSession) RenounceOwnership() (*types.Transaction, error) {
	return _BankexPlasma.Contract.RenounceOwnership(&_BankexPlasma.TransactOpts)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) RenounceOwnership() (*types.Transaction, error) {
	return _BankexPlasma.Contract.RenounceOwnership(&_BankexPlasma.TransactOpts)
}
func (_BankexPlasma *BankexPlasmaTransactor) SetAssetOffset(opts *bind.TransactOpts, asset common.Address, assetOffset *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "setAssetOffset", asset, assetOffset)
}
func (_BankexPlasma *BankexPlasmaSession) SetAssetOffset(asset common.Address, assetOffset *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.Contract.SetAssetOffset(&_BankexPlasma.TransactOpts, asset, assetOffset)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) SetAssetOffset(asset common.Address, assetOffset *big.Int) (*types.Transaction, error) {
	return _BankexPlasma.Contract.SetAssetOffset(&_BankexPlasma.TransactOpts, asset, assetOffset)
}
func (_BankexPlasma *BankexPlasmaTransactor) SubmitBlocks(opts *bind.TransactOpts, fromIndex *big.Int, newBlocks []byte) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "submitBlocks", fromIndex, newBlocks)
}
func (_BankexPlasma *BankexPlasmaSession) SubmitBlocks(fromIndex *big.Int, newBlocks []byte) (*types.Transaction, error) {
	return _BankexPlasma.Contract.SubmitBlocks(&_BankexPlasma.TransactOpts, fromIndex, newBlocks)
}
func (_BankexPlasma *BankexPlasmaTransactorSession) SubmitBlocks(fromIndex *big.Int, newBlocks []byte) (*types.Transaction, error) {
	return _BankexPlasma.Contract.SubmitBlocks(&_BankexPlasma.TransactOpts, fromIndex, newBlocks)
}
func (_BankexPlasma *BankexPlasmaTransactor) SubmitBlocksSigned(opts *bind.TransactOpts, fromIndex *big.Int, newBlocks []byte, rsv []byte) (*types.Transaction, error) {
	return _BankexPlasma.contract.Transact(opts, "submitBlocksSigned", fromIndex, newBlocks, rsv)
}
func (_BankexPlasma *BankexPlasmaSession) SubmitBlocksSigned(fromIndex *big.Int, newBlocks []byte, rsv []byte) (*types.Transaction, error) {
	return _BankexPlasma.Contract.SubmitBlocksSigned(&_BankexPlasma.TransactOpts, fromIndex, newBlocks, rsv)
}