Skip to content

Commit 69ff2a5

Browse files
committed
tool - sample contracts
1 parent 851368c commit 69ff2a5

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed

docs/index.html

+30-6
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,15 @@
9494

9595
<!-- ERC-20: -->
9696
<b-card v-if="settings.tabIndex == 0" header="ERC-20" class="m-0 p-0">
97-
<b-form-group label="contract:" label-for="erc20-contract" label-size="lg" label-class="font-weight-bold pt-0" label-cols-sm="2" label-align-sm="right" description="e.g., '0xc21d97673B9E0B3AA53a06439F71fDc1facE393B' for XEENUS and '0x1e5df6db242d07cc40a37b634022c02f73a74d59' for MYERC20TOKEN on Sepolia" :state="!settings.erc20.contract || validAddress(settings.erc20.contract)" :invalid-feedback="'Invalid address'" class="mx-0 my-1 p-0">
97+
<b-form-group label="contract:" label-for="erc20-contract" label-size="lg" label-class="font-weight-bold pt-0" label-cols-sm="2" label-align-sm="right" :state="!settings.erc20.contract || validAddress(settings.erc20.contract)" :invalid-feedback="'Invalid address'" class="mx-0 my-1 p-0">
9898
<b-input-group size="sm" class="w-50">
99-
<b-form-input type="text" size="sm" id="erc20-contract" v-model="settings.erc20.contract" @change="saveSettings" placeholder="ERC-20 token contract address"></b-form-input>
99+
<b-form-input type="text" size="sm" id="erc20-contract" v-model="settings.erc20.contract" @change="saveSettings" placeholder="Enter ERC-20 token contract address, or select from dropdown"></b-form-input>
100100
<b-input-group-append>
101+
<b-dropdown size="sm" id="dropdown-left" text="" variant="link" class="m-0 ml-1 p-0">
102+
<div v-for="(item, index) of sampleContracts('erc20')" v-bind:key="index">
103+
<b-dropdown-item @click="settings.erc20.contract = item.contract; saveSettings();">{{ index }}. {{ item.contract.substring(0, 8) + '...' + item.contract.slice(-6) + ' ' + item.name }}</b-dropdown-item>
104+
</div>
105+
</b-dropdown>
101106
<b-button @click="copyToClipboard(settings.erc20.contract);" variant="link" v-b-popover.hover.ds500="'Copy ERC-20 contract address to clipboard'" class="m-0 ml-3 p-0"><b-icon-clipboard shift-v="+1" font-scale="1.1"></b-icon-clipboard></b-button>
102107
<b-button size="sm" :disabled="!validAddress(settings.erc20.contract)" :href="explorer + 'token/' + settings.erc20.contract + '#code'" variant="link" v-b-popover.hover.ds500="'View in explorer'" target="_blank" class="m-0 ml-2 p-0"><b-icon-link45deg shift-v="-4" font-scale="1.1"></b-icon-link45deg></b-button>
103108
</b-input-group-append>
@@ -498,10 +503,15 @@
498503

499504
<!-- ERC-721: -->
500505
<b-card v-if="settings.tabIndex == 1" header="ERC-721" class="m-0 p-0">
501-
<b-form-group label="contract:" label-for="erc721-contract" label-size="lg" label-class="font-weight-bold pt-0" label-cols-sm="2" label-align-sm="right" description="e.g., '0x8b73448426797099b6b9a96c4343f528bbAfc55e' for TESTTOADZ on Sepolia, or '0x8fa600364b93c53e0c71c7a33d2ade21f4351da3' for Larva Chads on Ethereum Mainnet" :state="!settings.erc721.contract || validAddress(settings.erc721.contract)" :invalid-feedback="'Invalid address'" class="mx-0 my-1 p-0">
506+
<b-form-group label="contract:" label-for="erc721-contract" label-size="lg" label-class="font-weight-bold pt-0" label-cols-sm="2" label-align-sm="right" :state="!settings.erc721.contract || validAddress(settings.erc721.contract)" :invalid-feedback="'Invalid address'" class="mx-0 my-1 p-0">
502507
<b-input-group size="sm" class="w-50">
503-
<b-form-input type="text" size="sm" id="erc721-contract" v-model="settings.erc721.contract" @change="saveSettings" placeholder="ERC-721 token contract address"></b-form-input>
508+
<b-form-input type="text" size="sm" id="erc721-contract" v-model="settings.erc721.contract" @change="saveSettings" placeholder="Enter ERC-721 token contract address, or select from dropdown"></b-form-input>
504509
<b-input-group-append>
510+
<b-dropdown size="sm" id="dropdown-left" text="" variant="link" class="m-0 ml-1 p-0">
511+
<div v-for="(item, index) of sampleContracts('erc721')" v-bind:key="index">
512+
<b-dropdown-item @click="settings.erc721.contract = item.contract; saveSettings();">{{ index }}. {{ item.contract.substring(0, 8) + '...' + item.contract.slice(-6) + ' ' + item.name }}</b-dropdown-item>
513+
</div>
514+
</b-dropdown>
505515
<b-button @click="copyToClipboard(settings.erc721.contract);" variant="link" v-b-popover.hover.ds500="'Copy ERC-721 contract address to clipboard'" class="m-0 ml-3 p-0"><b-icon-clipboard shift-v="+1" font-scale="1.1"></b-icon-clipboard></b-button>
506516
<b-button size="sm" :disabled="!validAddress(settings.erc721.contract)" :href="explorer + 'token/' + settings.erc721.contract + '#code'" variant="link" v-b-popover.hover.ds500="'View in explorer'" target="_blank" class="m-0 ml-2 p-0"><b-icon-link45deg shift-v="-4" font-scale="1.1"></b-icon-link45deg></b-button>
507517
</b-input-group-append>
@@ -780,10 +790,15 @@
780790

781791
<!-- ERC-1155: -->
782792
<b-card v-if="settings.tabIndex == 2" header="ERC-1155" class="m-0 p-0">
783-
<b-form-group label="contract:" label-for="erc1155-contract" label-size="lg" label-class="font-weight-bold pt-0" label-cols-sm="2" label-align-sm="right" description="e.g., '0xFe9231f0e6753a8412a00eC1f0028A24d5220Ba9' for Zombie Babies on Ethereum Mainnet, or '0x3F15A716888EFb6871872fC4358F638DEE495f3b' Random collection on Sepolia" :state="!settings.erc1155.contract || validAddress(settings.erc1155.contract)" :invalid-feedback="'Invalid address'" class="mx-0 my-1 p-0">
793+
<b-form-group label="contract:" label-for="erc1155-contract" label-size="lg" label-class="font-weight-bold pt-0" label-cols-sm="2" label-align-sm="right" :state="!settings.erc1155.contract || validAddress(settings.erc1155.contract)" :invalid-feedback="'Invalid address'" class="mx-0 my-1 p-0">
784794
<b-input-group size="sm" class="w-50">
785-
<b-form-input type="text" size="sm" id="erc1155-contract" v-model="settings.erc1155.contract" @change="saveSettings" placeholder="ERC-1155 token contract address"></b-form-input>
795+
<b-form-input type="text" size="sm" id="erc1155-contract" v-model="settings.erc1155.contract" @change="saveSettings" placeholder="Enter ERC-1155 token contract address, or select from dropdown"></b-form-input>
786796
<b-input-group-append>
797+
<b-dropdown size="sm" id="dropdown-left" text="" variant="link" class="m-0 ml-1 p-0">
798+
<div v-for="(item, index) of sampleContracts('erc1155')" v-bind:key="index">
799+
<b-dropdown-item @click="settings.erc1155.contract = item.contract; saveSettings();">{{ index }}. {{ item.contract.substring(0, 8) + '...' + item.contract.slice(-6) + ' ' + item.name }}</b-dropdown-item>
800+
</div>
801+
</b-dropdown>
787802
<b-button @click="copyToClipboard(settings.erc1155.contract);" variant="link" v-b-popover.hover.ds500="'Copy ERC-1155 contract address to clipboard'" class="m-0 ml-3 p-0"><b-icon-clipboard shift-v="+1" font-scale="1.1"></b-icon-clipboard></b-button>
788803
<b-button size="sm" :disabled="!validAddress(settings.erc1155.contract)" :href="explorer + 'token/' + settings.erc1155.contract + '#code'" variant="link" v-b-popover.hover.ds500="'View in explorer'" target="_blank" class="m-0 ml-2 p-0"><b-icon-link45deg shift-v="-4" font-scale="1.1"></b-icon-link45deg></b-button>
789804
</b-input-group-append>
@@ -2166,6 +2181,15 @@ <h5 class="mt-3">Troubleshooting</h5>
21662181

21672182
// --- METHODS ---
21682183
methods: {
2184+
sampleContracts(type) {
2185+
const results = [];
2186+
for (const [ contract, contractData ] of Object.entries(this.network && this.network.contracts || {})) {
2187+
if (contractData.type == type) {
2188+
results.push({ contract, name: contractData.name });
2189+
}
2190+
}
2191+
return results;
2192+
},
21692193
nonFungibleViewerURL(contract, tokenId) {
21702194
return this.nonFungibleViewer.replace(/\${contract}/, contract).replace(/\${tokenId}/, tokenId);
21712195
},

docs/networks.js

+17
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ const NETWORKS = {
99
"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/${contract}/logo.png",
1010
],
1111
reservoir: "https://api.reservoir.tools/",
12+
contracts: {
13+
"0x2823589Ae095D99bD64dEeA80B4690313e2fB519": { type: "erc20", name: "WEENUS" },
14+
"0xeEf5E2d8255E973d587217f9509B416b41CA5870": { type: "erc20", name: "XEENUS" },
15+
"0x187E63F9eBA692A0ac98d3edE6fEb870AF0079e1": { type: "erc20", name: "YEENUS" },
16+
"0x0693c3a780A0a757E803a4BD76bCf43d438f8806": { type: "erc20", name: "ZEENUS" },
17+
"0x8fa600364b93c53e0c71c7a33d2ade21f4351da3": { type: "erc721", name: "Larva Chads" },
18+
"0xFe9231f0e6753a8412a00eC1f0028A24d5220Ba9": { type: "erc1155", name: "Zombie Babies" },
19+
},
1220
},
1321
42161: {
1422
name: "Arbitrum",
@@ -78,6 +86,15 @@ const NETWORKS = {
7886
"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/sepolia/assets/${contract}/logo.png",
7987
],
8088
reservoir: "https://api-sepolia.reservoir.tools/",
89+
contracts: {
90+
"0x7439E9Bb6D8a84dd3A23fe621A30F95403F87fB9": { type: "erc20", name: "WEENUS" },
91+
"0xc21d97673B9E0B3AA53a06439F71fDc1facE393B": { type: "erc20", name: "XEENUS" },
92+
"0x93fCA4c6E2525C09c95269055B46f16b1459BF9d": { type: "erc20", name: "YEENUS" },
93+
"0xe9EF74A6568E9f0e42a587C9363C9BcC582dcC6c": { type: "erc20", name: "ZEENUS" },
94+
"0x1e5df6db242d07cc40a37b634022c02f73a74d59": { type: "erc20", name: "MYERC20TOKEN" },
95+
"0x8b73448426797099b6b9a96c4343f528bbAfc55e": { type: "erc721", name: "TESTTOADZ" },
96+
"0x3F15A716888EFb6871872fC4358F638DEE495f3b": { type: "erc1155", name: "RANDOM" },
97+
},
8198
},
8299
17000: {
83100
name: "Holešky Testnet",

0 commit comments

Comments
 (0)