Skip to content

Commit

Permalink
Front/backrun accounts send confidential requests (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
ferranbt authored Nov 17, 2023
1 parent 12ae0e3 commit 1e19da7
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
9 changes: 6 additions & 3 deletions examples/app-ofa-private/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ func main() {
testAddr1 := framework.GeneratePrivKey()
testAddr2 := framework.GeneratePrivKey()

fundBalance := big.NewInt(100000000)
fundBalance := big.NewInt(100000000000000000)
fr.FundAccount(testAddr1.Address(), fundBalance)
fr.FundAccount(testAddr2.Address(), fundBalance)

targeAddr := testAddr1.Address()

Expand Down Expand Up @@ -58,7 +59,8 @@ func main() {
bundleBytes, _ := json.Marshal(bundle)

// new bid inputs
receipt := contract.SendTransaction("newOrder", []interface{}{}, bundleBytes)
contractAddr1 := contract.Ref(testAddr1)
receipt := contractAddr1.SendTransaction("newOrder", []interface{}{}, bundleBytes)

hintEvent := &HintEvent{}
if err := hintEvent.Unpack(receipt.Logs[0]); err != nil {
Expand All @@ -77,7 +79,8 @@ func main() {
backRunBundleBytes, _ := json.Marshal(backRunBundle)

// backrun inputs
receipt = contract.SendTransaction("newMatch", []interface{}{hintEvent.BidId}, backRunBundleBytes)
contractAddr2 := contract.Ref(testAddr2)
receipt = contractAddr2.SendTransaction("newMatch", []interface{}{hintEvent.BidId}, backRunBundleBytes)

matchEvent := &HintEvent{}
if err := matchEvent.Unpack(receipt.Logs[0]); err != nil {
Expand Down
22 changes: 21 additions & 1 deletion framework/framework.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ func GeneratePrivKey() *PrivKey {

type Contract struct {
*sdk.Contract

addr common.Address
abi *abi.ABI
fr *Framework
}

func (c *Contract) SendTransaction(method string, args []interface{}, confidentialBytes []byte) *types.Receipt {
Expand Down Expand Up @@ -164,7 +168,23 @@ func (f *Framework) DeployContract(path string) *Contract {
}

contract := sdk.GetContract(receipt.ContractAddress, artifact.Abi, f.clt)
return &Contract{Contract: contract}
return &Contract{addr: receipt.ContractAddress, fr: f, abi: artifact.Abi, Contract: contract}
}

func (c *Contract) Ref(acct *PrivKey) *Contract {
cc := &Contract{
addr: c.addr,
abi: c.abi,
fr: c.fr,
Contract: sdk.GetContract(c.addr, c.abi, c.fr.NewClient(acct)),
}
return cc
}

func (f *Framework) NewClient(acct *PrivKey) *sdk.Client {
cc := DefaultConfig()
rpc, _ := rpc.Dial(cc.KettleRPC)
return sdk.NewClient(rpc, acct.Priv, cc.KettleAddr)
}

func (f *Framework) SignTx(priv *PrivKey, tx *types.LegacyTx) (*types.Transaction, error) {
Expand Down

0 comments on commit 1e19da7

Please sign in to comment.