Skip to content

Commit 067ab50

Browse files
committed
Revert "Pointers contracts: support for ERC1155 and CW1155 contracts (#1755)"
This reverts commit 5ddb9ab.
1 parent d9d6b08 commit 067ab50

File tree

82 files changed

+151
-9586
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+151
-9586
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ coverage.out
4949
example/cosmwasm/echo/target
5050
example/cosmwasm/cw20/target
5151
example/cosmwasm/cw721/target
52-
example/cosmwasm/cw1155/target
5352

5453
# Solidity contracts artifacts
5554
contracts/artifacts

app/receipt.go

Lines changed: 0 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"fmt"
66
"math"
77
"math/big"
8-
"strings"
98

109
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
1110
sdk "github.com/cosmos/cosmos-sdk/types"
@@ -25,10 +24,6 @@ var ERC20TransferTopic = common.HexToHash("0xddf252ad1be2c89b69c2b068fc378daa952
2524
var ERC721TransferTopic = common.HexToHash("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef")
2625
var ERC721ApprovalTopic = common.HexToHash("0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925")
2726
var ERC721ApproveAllTopic = common.HexToHash("0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31")
28-
var ERC1155TransferSingleTopic = common.HexToHash("0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62")
29-
var ERC1155TransferBatchTopic = common.HexToHash("0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb")
30-
var ERC1155ApprovalForAllTopic = common.HexToHash("0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31")
31-
var ERC1155URITopic = common.HexToHash("0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b")
3227
var EmptyHash = common.HexToHash("0x0")
3328
var TrueHash = common.HexToHash("0x1")
3429

@@ -96,16 +91,6 @@ func (app *App) AddCosmosEventsToEVMReceiptIfApplicable(ctx sdk.Context, tx sdk.
9691
}
9792
continue
9893
}
99-
// check if there is a ERC1155 pointer to contract Addr
100-
pointerAddr, _, exists = app.EvmKeeper.GetERC1155CW1155Pointer(ctx, contractAddr)
101-
if exists {
102-
log, eligible := app.translateCW1155Event(ctx, wasmEvent, pointerAddr, contractAddr)
103-
if eligible {
104-
log.Index = uint(len(logs))
105-
logs = append(logs, log)
106-
}
107-
continue
108-
}
10994
}
11095
if len(logs) == 0 {
11196
return
@@ -334,99 +319,6 @@ func (app *App) translateCW721Event(ctx sdk.Context, wasmEvent abci.Event, point
334319
return nil, false
335320
}
336321

337-
func (app *App) translateCW1155Event(ctx sdk.Context, wasmEvent abci.Event, pointerAddr common.Address, contractAddr string) (*ethtypes.Log, bool) {
338-
action, found := GetAttributeValue(wasmEvent, "action")
339-
if !found {
340-
return nil, false
341-
}
342-
var topics []common.Hash
343-
switch action {
344-
case "transfer_single", "mint_single", "burn_single":
345-
fromHash := EmptyHash
346-
toHash := EmptyHash
347-
if action != "mint_single" {
348-
fromHash = app.GetEvmAddressAttribute(ctx, wasmEvent, "owner")
349-
}
350-
if action != "burn_single" {
351-
toHash = app.GetEvmAddressAttribute(ctx, wasmEvent, "recipient")
352-
}
353-
topics = []common.Hash{
354-
ERC1155TransferSingleTopic,
355-
app.GetEvmAddressAttribute(ctx, wasmEvent, "sender"),
356-
fromHash,
357-
toHash,
358-
}
359-
tokenID := GetTokenIDAttribute(wasmEvent)
360-
if tokenID == nil {
361-
return nil, false
362-
}
363-
tokenAmount, found := GetAmountAttribute(wasmEvent)
364-
if !found {
365-
return nil, false
366-
}
367-
dataHash1 := common.BigToHash(tokenID).Bytes()
368-
dataHash2 := common.BigToHash(tokenAmount).Bytes()
369-
return &ethtypes.Log{
370-
Address: pointerAddr,
371-
Topics: topics,
372-
Data: append(dataHash1, dataHash2...),
373-
}, true
374-
case "transfer_batch", "mint_batch", "burn_batch":
375-
fromHash := EmptyHash
376-
toHash := EmptyHash
377-
if action != "mint_batch" {
378-
fromHash = app.GetEvmAddressAttribute(ctx, wasmEvent, "owner")
379-
}
380-
if action != "burn_batch" {
381-
toHash = app.GetEvmAddressAttribute(ctx, wasmEvent, "recipient")
382-
}
383-
topics = []common.Hash{
384-
ERC1155TransferBatchTopic,
385-
app.GetEvmAddressAttribute(ctx, wasmEvent, "sender"),
386-
fromHash,
387-
toHash,
388-
}
389-
tokenIDs, found := GetTokenIDsAttribute(wasmEvent)
390-
if !found {
391-
return nil, false
392-
}
393-
tokenAmounts, found := GetAmountsAttribute(wasmEvent)
394-
if !found {
395-
return nil, false
396-
}
397-
value := EncodeBigIntArray(tokenIDs)
398-
value = append(value, EncodeBigIntArray(tokenAmounts)...)
399-
return &ethtypes.Log{
400-
Address: pointerAddr,
401-
Topics: topics,
402-
Data: value,
403-
}, true
404-
case "approve_all":
405-
topics = []common.Hash{
406-
ERC1155ApprovalForAllTopic,
407-
app.GetEvmAddressAttribute(ctx, wasmEvent, "sender"),
408-
app.GetEvmAddressAttribute(ctx, wasmEvent, "operator"),
409-
}
410-
return &ethtypes.Log{
411-
Address: pointerAddr,
412-
Topics: topics,
413-
Data: TrueHash.Bytes(),
414-
}, true
415-
case "revoke_all":
416-
topics = []common.Hash{
417-
ERC1155ApprovalForAllTopic,
418-
app.GetEvmAddressAttribute(ctx, wasmEvent, "sender"),
419-
app.GetEvmAddressAttribute(ctx, wasmEvent, "operator"),
420-
}
421-
return &ethtypes.Log{
422-
Address: pointerAddr,
423-
Topics: topics,
424-
Data: EmptyHash.Bytes(),
425-
}, true
426-
}
427-
return nil, false
428-
}
429-
430322
func (app *App) GetEvmAddressAttribute(ctx sdk.Context, event abci.Event, attribute string) common.Hash {
431323
addrStr, found := GetAttributeValue(event, attribute)
432324
if found {
@@ -468,22 +360,6 @@ func GetAmountAttribute(event abci.Event) (*big.Int, bool) {
468360
return nil, false
469361
}
470362

471-
func GetAmountsAttribute(event abci.Event) ([]*big.Int, bool) {
472-
results := []*big.Int{}
473-
amounts, found := GetAttributeValue(event, "amounts")
474-
if !found {
475-
return results, false
476-
}
477-
for _, amt := range strings.Split(amounts, ",") {
478-
amtInt, ok := sdk.NewIntFromString(amt)
479-
if !ok {
480-
return results, false
481-
}
482-
results = append(results, amtInt.BigInt())
483-
}
484-
return results, true
485-
}
486-
487363
func GetTokenIDAttribute(event abci.Event) *big.Int {
488364
tokenID, found := GetAttributeValue(event, "token_id")
489365
if !found {
@@ -495,36 +371,3 @@ func GetTokenIDAttribute(event abci.Event) *big.Int {
495371
}
496372
return tokenIDInt.BigInt()
497373
}
498-
499-
func GetTokenIDsAttribute(event abci.Event) ([]*big.Int, bool) {
500-
results := []*big.Int{}
501-
tokenIDs, found := GetAttributeValue(event, "token_ids")
502-
if !found {
503-
return results, false
504-
}
505-
for _, tid := range strings.Split(tokenIDs, ",") {
506-
tidInt, ok := sdk.NewIntFromString(tid)
507-
if !ok {
508-
return results, false
509-
}
510-
results = append(results, tidInt.BigInt())
511-
}
512-
return results, true
513-
}
514-
515-
func EncodeBigIntArray(inputs []*big.Int) []byte {
516-
// Arrays are broken up into components:
517-
// - offset byte (always 32)
518-
// - length of array
519-
// - ...array values
520-
offset := big.NewInt(32)
521-
length := big.NewInt(int64(len(inputs)))
522-
value := append(
523-
common.BigToHash(offset).Bytes(),
524-
common.BigToHash(length).Bytes()...,
525-
)
526-
for _, i := range inputs {
527-
value = append(value, common.BigToHash(i).Bytes()...)
528-
}
529-
return value
530-
}

0 commit comments

Comments
 (0)