From a1aff7d2dd2bc0cd9b00157a5761b88ed2fe3b47 Mon Sep 17 00:00:00 2001 From: sulenn <273409891@qq.com> Date: Wed, 14 Apr 2021 19:14:31 +0800 Subject: [PATCH] add and build opensource contract --- contract/OpenSource.abi | 1 + contract/OpenSource.bin | 1 + contract/OpenSource.go | 236 +++++++++++++++++++++++++++++++ contract/Table.abi | 1 + contract/Table.bin | 1 + contract/Table.sol | 67 +++++++++ contract/deploy & call/deploy.go | 30 ++++ contract/deploy & call/insert.go | 49 +++++++ contract/opensource.sol | 37 +++++ tabletest/Condition.abi | 1 - tabletest/Condition.bin | 1 - tabletest/Entries.abi | 1 - tabletest/Entries.bin | 1 - tabletest/Entry.abi | 1 - tabletest/Entry.bin | 1 - tabletest/KVTable.abi | 1 - tabletest/KVTable.bin | 1 - tabletest/KVTableFactory.abi | 1 - tabletest/KVTableFactory.bin | 1 - tabletest/TableFactory.abi | 1 - tabletest/TableFactory.bin | 1 - 21 files changed, 423 insertions(+), 12 deletions(-) create mode 100644 contract/OpenSource.abi create mode 100644 contract/OpenSource.bin create mode 100644 contract/OpenSource.go create mode 100644 contract/Table.abi create mode 100644 contract/Table.bin create mode 100644 contract/Table.sol create mode 100644 contract/deploy & call/deploy.go create mode 100644 contract/deploy & call/insert.go create mode 100644 contract/opensource.sol delete mode 100644 tabletest/Condition.abi delete mode 100644 tabletest/Condition.bin delete mode 100644 tabletest/Entries.abi delete mode 100644 tabletest/Entries.bin delete mode 100644 tabletest/Entry.abi delete mode 100644 tabletest/Entry.bin delete mode 100644 tabletest/KVTable.abi delete mode 100644 tabletest/KVTable.bin delete mode 100644 tabletest/KVTableFactory.abi delete mode 100644 tabletest/KVTableFactory.bin delete mode 100644 tabletest/TableFactory.abi delete mode 100644 tabletest/TableFactory.bin diff --git a/contract/OpenSource.abi b/contract/OpenSource.abi new file mode 100644 index 0000000..6bd01eb --- /dev/null +++ b/contract/OpenSource.abi @@ -0,0 +1 @@ +[{"constant":false,"inputs":[{"name":"token_name","type":"string"},{"name":"owner","type":"string"},{"name":"total_supply","type":"int256"}],"name":"insert","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}] \ No newline at end of file diff --git a/contract/OpenSource.bin b/contract/OpenSource.bin new file mode 100644 index 0000000..8898d18 --- /dev/null +++ b/contract/OpenSource.bin @@ -0,0 +1 @@ +60806040523480156200001157600080fd5b506110016000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356004b6a6040805190810160405280600481526020017f7265706f000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016200010191906200040a565b602060405180830381600087803b1580156200011c57600080fd5b505af115801562000131573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000157919081019062000278565b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356004b6a6040805190810160405280600481526020017f75736572000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401620002059190620003bc565b602060405180830381600087803b1580156200022057600080fd5b505af115801562000235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200025b919081019062000278565b50620004b4565b600062000270825162000463565b905092915050565b6000602082840312156200028b57600080fd5b60006200029b8482850162000262565b91505092915050565b6000620002b18262000458565b808452620002c78160208601602086016200046d565b620002d281620004a3565b602085010191505092915050565b6000601282527f6f776e65722c746f74616c5f737570706c7900000000000000000000000000006020830152604082019050919050565b6000601282527f746f6b656e5f6e616d652c62616c616e636500000000000000000000000000006020830152604082019050919050565b6000600482527f75736572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000600a82527f746f6b656e5f6e616d65000000000000000000000000000000000000000000006020830152604082019050919050565b60006060820190508181036000830152620003d88184620002a4565b90508181036020830152620003ed816200034e565b90508181036040830152620004028162000317565b905092915050565b60006060820190508181036000830152620004268184620002a4565b905081810360208301526200043b8162000385565b905081810360408301526200045081620002e0565b905092915050565b600081519050919050565b6000819050919050565b60005b838110156200048d57808201518184015260208101905062000470565b838111156200049d576000848401525b50505050565b6000601f19601f8301169050919050565b610aaf80620004c46000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806333575c7f14610046575b600080fd5b34801561005257600080fd5b5061006d60048036036100689190810190610696565b610083565b60405161007a9190610844565b60405180910390f35b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f23f63c96040805190810160405280600481526020017f7265706f000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610136919061085f565b602060405180830381600087803b15801561015057600080fd5b505af1158015610164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101889190810190610644565b93506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f23f63c96040805190810160405280600481526020017f75736572000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610235919061085f565b602060405180830381600087803b15801561024f57600080fd5b505af1158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610644565b92508373ffffffffffffffffffffffffffffffffffffffff166313db93466040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156102ed57600080fd5b505af1158015610301573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610325919081019061061b565b91508173ffffffffffffffffffffffffffffffffffffffff1663e942b516896040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161037c9190610914565b600060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663e942b516886040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161040391906108b1565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff16632ef8ba74876040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161048a91906108e6565b600060405180830381600087803b1580156104a457600080fd5b505af11580156104b8573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166331afac3689846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610513929190610881565b602060405180830381600087803b15801561052d57600080fd5b505af1158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610565919081019061066d565b9050809450505050509392505050565b600061058182516109e2565b905092915050565b600061059582516109f4565b905092915050565b60006105a98235610a06565b905092915050565b60006105bd8251610a06565b905092915050565b600082601f83011215156105d857600080fd5b81356105eb6105e682610976565b610949565b9150808252602083016020830185838301111561060757600080fd5b610612838284610a22565b50505092915050565b60006020828403121561062d57600080fd5b600061063b84828501610575565b91505092915050565b60006020828403121561065657600080fd5b600061066484828501610589565b91505092915050565b60006020828403121561067f57600080fd5b600061068d848285016105b1565b91505092915050565b6000806000606084860312156106ab57600080fd5b600084013567ffffffffffffffff8111156106c557600080fd5b6106d1868287016105c5565b935050602084013567ffffffffffffffff8111156106ee57600080fd5b6106fa868287016105c5565b925050604061070b8682870161059d565b9150509250925092565b61071e81610a10565b82525050565b61072d816109d8565b82525050565b600061073e826109ad565b808452610752816020860160208601610a31565b61075b81610a64565b602085010191505092915050565b6000610774826109a2565b808452610788816020860160208601610a31565b61079181610a64565b602085010191505092915050565b6000600582527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000600c82527f746f74616c5f737570706c7900000000000000000000000000000000000000006020830152604082019050919050565b6000600a82527f746f6b656e5f6e616d65000000000000000000000000000000000000000000006020830152604082019050919050565b60006020820190506108596000830184610724565b92915050565b600060208201905081810360008301526108798184610769565b905092915050565b6000604082019050818103600083015261089b8185610733565b90506108aa6020830184610715565b9392505050565b600060408201905081810360008301526108ca8161079f565b905081810360208301526108de8184610733565b905092915050565b600060408201905081810360008301526108ff816107d6565b905061090e6020830184610724565b92915050565b6000604082019050818103600083015261092d8161080d565b905081810360208301526109418184610733565b905092915050565b6000604051905081810181811067ffffffffffffffff8211171561096c57600080fd5b8060405250919050565b600067ffffffffffffffff82111561098d57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006109ed826109b8565b9050919050565b60006109ff826109b8565b9050919050565b6000819050919050565b6000610a1b826109b8565b9050919050565b82818337600083830152505050565b60005b83811015610a4f578082015181840152602081019050610a34565b83811115610a5e576000848401525b50505050565b6000601f19601f83011690509190505600a265627a7a7230582053527d6058a42d781413dd109ae89e05bc61b6908a695cd763cfc215f7d605856c6578706572696d656e74616cf50037 \ No newline at end of file diff --git a/contract/OpenSource.go b/contract/OpenSource.go new file mode 100644 index 0000000..84432f6 --- /dev/null +++ b/contract/OpenSource.go @@ -0,0 +1,236 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package opensource + +import ( + "math/big" + "strings" + + "github.com/FISCO-BCOS/go-sdk/abi" + "github.com/FISCO-BCOS/go-sdk/abi/bind" + "github.com/FISCO-BCOS/go-sdk/core/types" + "github.com/FISCO-BCOS/go-sdk/event" + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/common" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = abi.U256 + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription +) + +// OpenSourceABI is the input ABI used to generate the binding from. +const OpenSourceABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"token_name\",\"type\":\"string\"},{\"name\":\"owner\",\"type\":\"string\"},{\"name\":\"total_supply\",\"type\":\"int256\"}],\"name\":\"insert\",\"outputs\":[{\"name\":\"\",\"type\":\"int256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" + +// OpenSourceBin is the compiled bytecode used for deploying new contracts. +var OpenSourceBin = "0x60806040523480156200001157600080fd5b506110016000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356004b6a6040805190810160405280600481526020017f7265706f000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016200010191906200040a565b602060405180830381600087803b1580156200011c57600080fd5b505af115801562000131573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525062000157919081019062000278565b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356004b6a6040805190810160405280600481526020017f75736572000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401620002059190620003bc565b602060405180830381600087803b1580156200022057600080fd5b505af115801562000235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506200025b919081019062000278565b50620004b4565b600062000270825162000463565b905092915050565b6000602082840312156200028b57600080fd5b60006200029b8482850162000262565b91505092915050565b6000620002b18262000458565b808452620002c78160208601602086016200046d565b620002d281620004a3565b602085010191505092915050565b6000601282527f6f776e65722c746f74616c5f737570706c7900000000000000000000000000006020830152604082019050919050565b6000601282527f746f6b656e5f6e616d652c62616c616e636500000000000000000000000000006020830152604082019050919050565b6000600482527f75736572000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000600a82527f746f6b656e5f6e616d65000000000000000000000000000000000000000000006020830152604082019050919050565b60006060820190508181036000830152620003d88184620002a4565b90508181036020830152620003ed816200034e565b90508181036040830152620004028162000317565b905092915050565b60006060820190508181036000830152620004268184620002a4565b905081810360208301526200043b8162000385565b905081810360408301526200045081620002e0565b905092915050565b600081519050919050565b6000819050919050565b60005b838110156200048d57808201518184015260208101905062000470565b838111156200049d576000848401525b50505050565b6000601f19601f8301169050919050565b610aaf80620004c46000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806333575c7f14610046575b600080fd5b34801561005257600080fd5b5061006d60048036036100689190810190610696565b610083565b60405161007a9190610844565b60405180910390f35b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f23f63c96040805190810160405280600481526020017f7265706f000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610136919061085f565b602060405180830381600087803b15801561015057600080fd5b505af1158015610164573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101889190810190610644565b93506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f23f63c96040805190810160405280600481526020017f75736572000000000000000000000000000000000000000000000000000000008152506040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610235919061085f565b602060405180830381600087803b15801561024f57600080fd5b505af1158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610644565b92508373ffffffffffffffffffffffffffffffffffffffff166313db93466040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156102ed57600080fd5b505af1158015610301573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610325919081019061061b565b91508173ffffffffffffffffffffffffffffffffffffffff1663e942b516896040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161037c9190610914565b600060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663e942b516886040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161040391906108b1565b600060405180830381600087803b15801561041d57600080fd5b505af1158015610431573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff16632ef8ba74876040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040161048a91906108e6565b600060405180830381600087803b1580156104a457600080fd5b505af11580156104b8573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166331afac3689846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610513929190610881565b602060405180830381600087803b15801561052d57600080fd5b505af1158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610565919081019061066d565b9050809450505050509392505050565b600061058182516109e2565b905092915050565b600061059582516109f4565b905092915050565b60006105a98235610a06565b905092915050565b60006105bd8251610a06565b905092915050565b600082601f83011215156105d857600080fd5b81356105eb6105e682610976565b610949565b9150808252602083016020830185838301111561060757600080fd5b610612838284610a22565b50505092915050565b60006020828403121561062d57600080fd5b600061063b84828501610575565b91505092915050565b60006020828403121561065657600080fd5b600061066484828501610589565b91505092915050565b60006020828403121561067f57600080fd5b600061068d848285016105b1565b91505092915050565b6000806000606084860312156106ab57600080fd5b600084013567ffffffffffffffff8111156106c557600080fd5b6106d1868287016105c5565b935050602084013567ffffffffffffffff8111156106ee57600080fd5b6106fa868287016105c5565b925050604061070b8682870161059d565b9150509250925092565b61071e81610a10565b82525050565b61072d816109d8565b82525050565b600061073e826109ad565b808452610752816020860160208601610a31565b61075b81610a64565b602085010191505092915050565b6000610774826109a2565b808452610788816020860160208601610a31565b61079181610a64565b602085010191505092915050565b6000600582527f6f776e65720000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000600c82527f746f74616c5f737570706c7900000000000000000000000000000000000000006020830152604082019050919050565b6000600a82527f746f6b656e5f6e616d65000000000000000000000000000000000000000000006020830152604082019050919050565b60006020820190506108596000830184610724565b92915050565b600060208201905081810360008301526108798184610769565b905092915050565b6000604082019050818103600083015261089b8185610733565b90506108aa6020830184610715565b9392505050565b600060408201905081810360008301526108ca8161079f565b905081810360208301526108de8184610733565b905092915050565b600060408201905081810360008301526108ff816107d6565b905061090e6020830184610724565b92915050565b6000604082019050818103600083015261092d8161080d565b905081810360208301526109418184610733565b905092915050565b6000604051905081810181811067ffffffffffffffff8211171561096c57600080fd5b8060405250919050565b600067ffffffffffffffff82111561098d57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006109ed826109b8565b9050919050565b60006109ff826109b8565b9050919050565b6000819050919050565b6000610a1b826109b8565b9050919050565b82818337600083830152505050565b60005b83811015610a4f578082015181840152602081019050610a34565b83811115610a5e576000848401525b50505050565b6000601f19601f83011690509190505600a265627a7a7230582053527d6058a42d781413dd109ae89e05bc61b6908a695cd763cfc215f7d605856c6578706572696d656e74616cf50037" + +// DeployOpenSource deploys a new contract, binding an instance of OpenSource to it. +func DeployOpenSource(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *OpenSource, error) { + parsed, err := abi.JSON(strings.NewReader(OpenSourceABI)) + if err != nil { + return common.Address{}, nil, nil, err + } + + address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(OpenSourceBin), backend) + if err != nil { + return common.Address{}, nil, nil, err + } + return address, tx, &OpenSource{OpenSourceCaller: OpenSourceCaller{contract: contract}, OpenSourceTransactor: OpenSourceTransactor{contract: contract}, OpenSourceFilterer: OpenSourceFilterer{contract: contract}}, nil +} + +func AsyncDeployOpenSource(auth *bind.TransactOpts, handler func(*types.Receipt, error), backend bind.ContractBackend) (*types.Transaction, error) { + parsed, err := abi.JSON(strings.NewReader(OpenSourceABI)) + if err != nil { + return nil, err + } + + tx, err := bind.AsyncDeployContract(auth, handler, parsed, common.FromHex(OpenSourceBin), backend) + if err != nil { + return nil, err + } + return tx, nil +} + +// OpenSource is an auto generated Go binding around a Solidity contract. +type OpenSource struct { + OpenSourceCaller // Read-only binding to the contract + OpenSourceTransactor // Write-only binding to the contract + OpenSourceFilterer // Log filterer for contract events +} + +// OpenSourceCaller is an auto generated read-only Go binding around a Solidity contract. +type OpenSourceCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// OpenSourceTransactor is an auto generated write-only Go binding around a Solidity contract. +type OpenSourceTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// OpenSourceFilterer is an auto generated log filtering Go binding around a Solidity contract events. +type OpenSourceFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// OpenSourceSession is an auto generated Go binding around a Solidity contract, +// with pre-set call and transact options. +type OpenSourceSession struct { + Contract *OpenSource // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// OpenSourceCallerSession is an auto generated read-only Go binding around a Solidity contract, +// with pre-set call options. +type OpenSourceCallerSession struct { + Contract *OpenSourceCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// OpenSourceTransactorSession is an auto generated write-only Go binding around a Solidity contract, +// with pre-set transact options. +type OpenSourceTransactorSession struct { + Contract *OpenSourceTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// OpenSourceRaw is an auto generated low-level Go binding around a Solidity contract. +type OpenSourceRaw struct { + Contract *OpenSource // Generic contract binding to access the raw methods on +} + +// OpenSourceCallerRaw is an auto generated low-level read-only Go binding around a Solidity contract. +type OpenSourceCallerRaw struct { + Contract *OpenSourceCaller // Generic read-only contract binding to access the raw methods on +} + +// OpenSourceTransactorRaw is an auto generated low-level write-only Go binding around a Solidity contract. +type OpenSourceTransactorRaw struct { + Contract *OpenSourceTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewOpenSource creates a new instance of OpenSource, bound to a specific deployed contract. +func NewOpenSource(address common.Address, backend bind.ContractBackend) (*OpenSource, error) { + contract, err := bindOpenSource(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &OpenSource{OpenSourceCaller: OpenSourceCaller{contract: contract}, OpenSourceTransactor: OpenSourceTransactor{contract: contract}, OpenSourceFilterer: OpenSourceFilterer{contract: contract}}, nil +} + +// NewOpenSourceCaller creates a new read-only instance of OpenSource, bound to a specific deployed contract. +func NewOpenSourceCaller(address common.Address, caller bind.ContractCaller) (*OpenSourceCaller, error) { + contract, err := bindOpenSource(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &OpenSourceCaller{contract: contract}, nil +} + +// NewOpenSourceTransactor creates a new write-only instance of OpenSource, bound to a specific deployed contract. +func NewOpenSourceTransactor(address common.Address, transactor bind.ContractTransactor) (*OpenSourceTransactor, error) { + contract, err := bindOpenSource(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &OpenSourceTransactor{contract: contract}, nil +} + +// NewOpenSourceFilterer creates a new log filterer instance of OpenSource, bound to a specific deployed contract. +func NewOpenSourceFilterer(address common.Address, filterer bind.ContractFilterer) (*OpenSourceFilterer, error) { + contract, err := bindOpenSource(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &OpenSourceFilterer{contract: contract}, nil +} + +// bindOpenSource binds a generic wrapper to an already deployed contract. +func bindOpenSource(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := abi.JSON(strings.NewReader(OpenSourceABI)) + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_OpenSource *OpenSourceRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { + return _OpenSource.Contract.OpenSourceCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_OpenSource *OpenSourceRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.Contract.OpenSourceTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_OpenSource *OpenSourceRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.Contract.OpenSourceTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_OpenSource *OpenSourceCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { + return _OpenSource.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_OpenSource *OpenSourceTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_OpenSource *OpenSourceTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.Contract.contract.Transact(opts, method, params...) +} + +// Insert is a paid mutator transaction binding the contract method 0x33575c7f. +// +// Solidity: function insert(string token_name, string owner, int256 total_supply) returns(int256) +func (_OpenSource *OpenSourceTransactor) Insert(opts *bind.TransactOpts, token_name string, owner string, total_supply *big.Int) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.contract.Transact(opts, "insert", token_name, owner, total_supply) +} + +func (_OpenSource *OpenSourceTransactor) AsyncInsert(handler func(*types.Receipt, error), opts *bind.TransactOpts, token_name string, owner string, total_supply *big.Int) (*types.Transaction, error) { + return _OpenSource.contract.AsyncTransact(opts, handler, "insert", token_name, owner, total_supply) +} + +// Insert is a paid mutator transaction binding the contract method 0x33575c7f. +// +// Solidity: function insert(string token_name, string owner, int256 total_supply) returns(int256) +func (_OpenSource *OpenSourceSession) Insert(token_name string, owner string, total_supply *big.Int) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.Contract.Insert(&_OpenSource.TransactOpts, token_name, owner, total_supply) +} + +func (_OpenSource *OpenSourceSession) AsyncInsert(handler func(*types.Receipt, error), token_name string, owner string, total_supply *big.Int) (*types.Transaction, error) { + return _OpenSource.Contract.AsyncInsert(handler, &_OpenSource.TransactOpts, token_name, owner, total_supply) +} + +// Insert is a paid mutator transaction binding the contract method 0x33575c7f. +// +// Solidity: function insert(string token_name, string owner, int256 total_supply) returns(int256) +func (_OpenSource *OpenSourceTransactorSession) Insert(token_name string, owner string, total_supply *big.Int) (*types.Transaction, *types.Receipt, error) { + return _OpenSource.Contract.Insert(&_OpenSource.TransactOpts, token_name, owner, total_supply) +} + +func (_OpenSource *OpenSourceTransactorSession) AsyncInsert(handler func(*types.Receipt, error), token_name string, owner string, total_supply *big.Int) (*types.Transaction, error) { + return _OpenSource.Contract.AsyncInsert(handler, &_OpenSource.TransactOpts, token_name, owner, total_supply) +} diff --git a/contract/Table.abi b/contract/Table.abi new file mode 100644 index 0000000..e21a11f --- /dev/null +++ b/contract/Table.abi @@ -0,0 +1 @@ +[{"constant":true,"inputs":[],"name":"newEntry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"address"}],"name":"remove","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"address"}],"name":"insert","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newCondition","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"address"},{"name":"","type":"address"}],"name":"update","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"},{"name":"","type":"address"}],"name":"select","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/contract/Table.bin b/contract/Table.bin new file mode 100644 index 0000000..bdac0b2 --- /dev/null +++ b/contract/Table.bin @@ -0,0 +1 @@ +608060405234801561001057600080fd5b50610442806100206000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806313db93461461007d57806328bb2117146100d457806331afac36146101715780637857d7c91461020e578063bf2b70a114610265578063e8434e3914610322575b600080fd5b34801561008957600080fd5b506100926103eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b5061015b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103f0565b6040518082815260200191505060405180910390f35b34801561017d57600080fd5b506101f8600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103f8565b6040518082815260200191505060405180910390f35b34801561021a57600080fd5b50610223610400565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027157600080fd5b5061030c600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610405565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b506103a9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061040e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600090565b600092915050565b600092915050565b600090565b60009392505050565b6000929150505600a165627a7a72305820347636edbe12a60ed1c5446a5d5c620a59cdf26baad63c597a75cdca62d66f570029 \ No newline at end of file diff --git a/contract/Table.sol b/contract/Table.sol new file mode 100644 index 0000000..436e0e4 --- /dev/null +++ b/contract/Table.sol @@ -0,0 +1,67 @@ +pragma solidity>=0.4.24 <=0.7.0; +contract TableFactory { + function openTable(string memory) public view returns (Table) {} //open table + function createTable(string memory, string memory, string memory) public returns (int256) {} //create table +} + +//select condition +contract Condition { + function EQ(string memory, int256) public {} + function EQ(string memory, string memory) public {} + + function NE(string memory, int256) public {} + function NE(string memory, string memory) public {} + + function GT(string memory, int256) public {} + function GE(string memory, int256) public {} + + function LT(string memory, int256) public {} + function LE(string memory, int256) public {} + + function limit(int256) public {} + function limit(int256, int256) public {} +} + +//one record +contract Entry { + function getInt(string memory) public view returns (int256) {} + function getUInt(string memory) public view returns (uint256) {} + function getAddress(string memory) public view returns (address) {} + function getBytes64(string memory) public view returns (bytes1[64] memory) {} + function getBytes32(string memory) public view returns (bytes32) {} + function getString(string memory) public view returns (string memory) {} + + function set(string memory, int256) public {} + function set(string memory, uint256) public {} + function set(string memory, string memory) public {} + function set(string memory, address) public {} +} + +//record sets +contract Entries { + function get(int256) public view returns (Entry) {} + function size() public view returns (int256) {} +} + +//Table main contract +contract Table { + function select(string memory, Condition) public view returns (Entries) {} + function insert(string memory, Entry) public returns (int256) {} + function update(string memory, Entry, Condition) public returns (int256) {} + function remove(string memory, Condition) public returns (int256) {} + + function newEntry() public view returns (Entry) {} + function newCondition() public view returns (Condition) {} +} + +contract KVTableFactory { + function openTable(string memory) public view returns (KVTable) {} + function createTable(string memory, string memory, string memory) public returns (int256) {} +} + +//KVTable per permiary key has only one Entry +contract KVTable { + function get(string memory) public view returns (bool, Entry) {} + function set(string memory, Entry) public returns (int256) {} + function newEntry() public view returns (Entry) {} +} \ No newline at end of file diff --git a/contract/deploy & call/deploy.go b/contract/deploy & call/deploy.go new file mode 100644 index 0000000..8fd15d0 --- /dev/null +++ b/contract/deploy & call/deploy.go @@ -0,0 +1,30 @@ +package main + +import ( + "fmt" + "log" + + "github.com/FISCO-BCOS/go-sdk/client" + "github.com/FISCO-BCOS/go-sdk/conf" + table "github.com/sulenn/trustie-fisco-bcos/contract" // import tabletest +) + +func main() { + configs, err := conf.ParseConfigFile("config.toml") + if err != nil { + log.Fatal(err) + } + config := &configs[0] + + client, err := client.Dial(config) + if err != nil { + log.Fatal(err) + } + address, tx, instance, err := table.DeployOpenSource(client.GetTransactOpts(), client) + if err != nil { + log.Fatal(err) + } + fmt.Println("contract address: ", address.Hex()) // the address should be saved + fmt.Println("transaction hash: ", tx.Hash().Hex()) + _ = instance +} diff --git a/contract/deploy & call/insert.go b/contract/deploy & call/insert.go new file mode 100644 index 0000000..5cd23dc --- /dev/null +++ b/contract/deploy & call/insert.go @@ -0,0 +1,49 @@ +package main + +import ( + "fmt" + "log" + "math/big" + "strconv" + + "github.com/FISCO-BCOS/go-sdk/client" + "github.com/FISCO-BCOS/go-sdk/conf" + "github.com/ethereum/go-ethereum/common" + table "github.com/sulenn/trustie-fisco-bcos/contract" +) + +func main() { + configs, err := conf.ParseConfigFile("config.toml") + if err != nil { + log.Fatal(err) + } + config := &configs[0] + + client, err := client.Dial(config) + if err != nil { + log.Fatal(err) + } + + // load the contract + contractAddress := common.HexToAddress("0xcb465127073489235bBB8cF6995172a7c7420b3F") // 0x9526BDd51d7F346ec2B48192f25a800825A8dBF3 + instance, err := table.NewOpenSource(contractAddress, client) + if err != nil { + log.Fatal(err) + } + + tabletestSession := &table.OpenSourceSession{Contract: instance, CallOpts: *client.GetCallOpts(), TransactOpts: *client.GetTransactOpts()} + + token_name := "repo1" + owner := "sulenn" + total_supply := big.NewInt(1000000) + tx, receipt, err := tabletestSession.Insert(token_name, owner, total_supply) // call Insert API + if err != nil { + log.Fatal(err) + } + fmt.Printf("tx sent: %s\n", tx.Hash().Hex()) + insertedLines, err := strconv.Atoi(receipt.Output[2:]) + if err != nil { + log.Fatalf("error when transfer string to int: %v\n", err) + } + fmt.Printf("inserted lines: %v\n", insertedLines) +} diff --git a/contract/opensource.sol b/contract/opensource.sol new file mode 100644 index 0000000..30ee380 --- /dev/null +++ b/contract/opensource.sol @@ -0,0 +1,37 @@ +pragma solidity>=0.4.24 <=0.7.0; +pragma experimental ABIEncoderV2; + +import "./Table.sol"; + +contract OpenSource { + TableFactory tableFactory; + string constant REPO_TABLE = "repo"; + string constant USER_TABLE = "user"; + + constructor() public { + tableFactory = TableFactory(0x1001); //The fixed address is 0x1001 for TableFactory + // the parameters of createTable are tableName,keyField,"vlaueFiled1,vlaueFiled2,vlaueFiled3,..." + tableFactory.createTable(REPO_TABLE, "token_name", "owner,total_supply"); + tableFactory.createTable(USER_TABLE, "user", "token_name,balance"); + } + + //insert records + function insert(string memory token_name, string memory owner, int256 total_supply) + // function insert(string memory token_name, string memory owner, int256 total_supply, string memory user, int256 balance) + public + returns (int256) + { + Table repo_table = tableFactory.openTable(REPO_TABLE); + Table user_table = tableFactory.openTable(USER_TABLE); + + Entry repo_entry = repo_table.newEntry(); + repo_entry.set("token_name", token_name); + repo_entry.set("owner", owner); + repo_entry.set("total_supply", total_supply); + + int256 count = repo_table.insert(token_name, repo_entry); + // emit InsertResult(count); + + return count; + } +} \ No newline at end of file diff --git a/tabletest/Condition.abi b/tabletest/Condition.abi deleted file mode 100644 index 419ab45..0000000 --- a/tabletest/Condition.abi +++ /dev/null @@ -1 +0,0 @@ -[{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"GT","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"name":"NE","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"int256"}],"name":"limit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"NE","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"GE","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"int256"},{"name":"","type":"int256"}],"name":"limit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"LE","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"LT","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"name":"EQ","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"EQ","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/tabletest/Condition.bin b/tabletest/Condition.bin deleted file mode 100644 index 5fc5972..0000000 --- a/tabletest/Condition.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50610570806100206000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806308ad6333146100a95780632783acf51461011c5780632e0d738a146101cb57806339aef024146101f857806342f8dd311461026b5780637ec1cc65146102de578063b6f2385714610315578063c31c9b6514610388578063cd30a1d1146103fb578063e44594b9146104aa575b600080fd5b3480156100b557600080fd5b5061011a600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919050505061051d565b005b34801561012857600080fd5b506101c9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610521565b005b3480156101d757600080fd5b506101f660048036038101908080359060200190929190505050610525565b005b34801561020457600080fd5b50610269600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610528565b005b34801561027757600080fd5b506102dc600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919050505061052c565b005b3480156102ea57600080fd5b506103136004803603810190808035906020019092919080359060200190929190505050610530565b005b34801561032157600080fd5b50610386600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610534565b005b34801561039457600080fd5b506103f9600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610538565b005b34801561040757600080fd5b506104a8600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061053c565b005b3480156104b657600080fd5b5061051b600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610540565b005b5050565b5050565b50565b5050565b5050565b5050565b5050565b5050565b5050565b50505600a165627a7a7230582009023625107bb2a009ee4d24fc93398439f4c91b299c87e6dd7960621e825a3b0029 \ No newline at end of file diff --git a/tabletest/Entries.abi b/tabletest/Entries.abi deleted file mode 100644 index 01a5077..0000000 --- a/tabletest/Entries.abi +++ /dev/null @@ -1 +0,0 @@ -[{"constant":true,"inputs":[{"name":"","type":"int256"}],"name":"get","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"size","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/tabletest/Entries.bin b/tabletest/Entries.bin deleted file mode 100644 index 043b847..0000000 --- a/tabletest/Entries.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50610118806100206000396000f3006080604052600436106049576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063846719e014604e578063949d225d1460b8575b600080fd5b348015605957600080fd5b5060766004803603810190808035906020019092919050505060e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801560c357600080fd5b5060ca60e7565b6040518082815260200191505060405180910390f35b6000919050565b6000905600a165627a7a72305820759fcd989f99f1641962081e25f1a732e24f5042a3f3bac3bc7ab5b04f159ac30029 \ No newline at end of file diff --git a/tabletest/Entry.abi b/tabletest/Entry.abi deleted file mode 100644 index 430520b..0000000 --- a/tabletest/Entry.abi +++ /dev/null @@ -1 +0,0 @@ -[{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"getBytes32","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"int256"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"getUInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"uint256"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"getString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"address"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"getAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"getBytes64","outputs":[{"name":"","type":"bytes1[64]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"getInt","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/tabletest/Entry.bin b/tabletest/Entry.bin deleted file mode 100644 index 23039af..0000000 --- a/tabletest/Entry.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50610706806100206000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806327314f79146100a95780632ef8ba741461012e5780633536046a146101a15780638a42ebe91461021e5780639c981fcb14610291578063a815ff1514610373578063bf40fac1146103fc578063d52decd4146104a5578063e942b5161461054a578063fda69fae146105f9575b600080fd5b3480156100b557600080fd5b50610110600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610676565b60405180826000191660001916815260200191505060405180910390f35b34801561013a57600080fd5b5061019f600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919050505061067d565b005b3480156101ad57600080fd5b50610208600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610681565b6040518082815260200191505060405180910390f35b34801561022a57600080fd5b5061028f600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610688565b005b34801561029d57600080fd5b506102f8600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061068c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033857808201518184015260208101905061031d565b50505050905090810190601f1680156103655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037f57600080fd5b506103fa600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610693565b005b34801561040857600080fd5b50610463600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610697565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104b157600080fd5b5061050c600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061069e565b6040518082604060200280838360005b8381101561053757808201518184015260208101905061051c565b5050505090500191505060405180910390f35b34801561055657600080fd5b506105f7600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106ab565b005b34801561060557600080fd5b50610660600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506106af565b6040518082815260200191505060405180910390f35b6000919050565b5050565b6000919050565b5050565b6060919050565b5050565b6000919050565b6106a66106b6565b919050565b5050565b6000919050565b610800604051908101604052806040906020820280388339808201915050905050905600a165627a7a72305820f5c711014d8f39b9b4c3f9f0cf68cf7ea22a9c5cdaec1f5cf8a3c066c6997bfa0029 \ No newline at end of file diff --git a/tabletest/KVTable.abi b/tabletest/KVTable.abi deleted file mode 100644 index 91793be..0000000 --- a/tabletest/KVTable.abi +++ /dev/null @@ -1 +0,0 @@ -[{"constant":true,"inputs":[],"name":"newEntry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"get","outputs":[{"name":"","type":"bool"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"address"}],"name":"set","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/tabletest/KVTable.bin b/tabletest/KVTable.bin deleted file mode 100644 index 50e5df8..0000000 --- a/tabletest/KVTable.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b50610245806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806313db93461461005c578063693ec85e146100b3578063a815ff1514610167575b600080fd5b34801561006857600080fd5b50610071610204565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100bf57600080fd5b5061011a600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610209565b60405180831515151581526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561017357600080fd5b506101ee600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610211565b6040518082815260200191505060405180910390f35b600090565b600080915091565b6000929150505600a165627a7a723058207f724c19a18469abc4172df2dd914ae083fc5fa1e18a2741f75b529716ebe4e00029 \ No newline at end of file diff --git a/tabletest/KVTableFactory.abi b/tabletest/KVTableFactory.abi deleted file mode 100644 index 44ef34e..0000000 --- a/tabletest/KVTableFactory.abi +++ /dev/null @@ -1 +0,0 @@ -[{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"}],"name":"createTable","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"openTable","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/tabletest/KVTableFactory.bin b/tabletest/KVTableFactory.bin deleted file mode 100644 index c1c9e60..0000000 --- a/tabletest/KVTableFactory.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b5061023f806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806356004b6a14610051578063f23f63c91461015a575b600080fd5b34801561005d57600080fd5b50610144600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610203565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b506101c1600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061020c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60009392505050565b60009190505600a165627a7a723058201996cb830b648540f724a8c8990baa8fffc64b2f200fe7334db5baceedb8d14f0029 \ No newline at end of file diff --git a/tabletest/TableFactory.abi b/tabletest/TableFactory.abi deleted file mode 100644 index 44ef34e..0000000 --- a/tabletest/TableFactory.abi +++ /dev/null @@ -1 +0,0 @@ -[{"constant":false,"inputs":[{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"}],"name":"createTable","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"string"}],"name":"openTable","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/tabletest/TableFactory.bin b/tabletest/TableFactory.bin deleted file mode 100644 index 58c4980..0000000 --- a/tabletest/TableFactory.bin +++ /dev/null @@ -1 +0,0 @@ -608060405234801561001057600080fd5b5061023f806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806356004b6a14610051578063f23f63c91461015a575b600080fd5b34801561005d57600080fd5b50610144600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610203565b6040518082815260200191505060405180910390f35b34801561016657600080fd5b506101c1600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061020c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60009392505050565b60009190505600a165627a7a723058203c745e09282450f92cf5332e8862c7b5b09594e484d667ec15d2a7f94585414a0029 \ No newline at end of file