|
|
|
@@ -25,30 +25,27 @@ async function getNonce(addr: string): Promise<number> { |
|
|
|
return nonce; |
|
|
|
} |
|
|
|
|
|
|
|
async function transfer(symbol:string, count: number = 10) { |
|
|
|
async function transfer(symbol:string,from: Wallet, to: Wallet, amount: number = 1, count: number = 10) { |
|
|
|
|
|
|
|
const proxy = getDeploymentAddresses(symbol).address; |
|
|
|
console.log(`토큰 주소 : ${proxy}`); |
|
|
|
|
|
|
|
const admin = new Wallet('0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3',provider); |
|
|
|
const issuer = new Wallet('0x8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63',provider); |
|
|
|
const holder1 = new Wallet('0xae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f',provider); |
|
|
|
const holder2 = new Wallet('0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',provider); |
|
|
|
|
|
|
|
|
|
|
|
const token = new SecurityToken__factory(issuer).attach(proxy) as SecurityToken; |
|
|
|
await token.connect(admin); |
|
|
|
// const ops = await token.operators(); |
|
|
|
// console.log(ops); |
|
|
|
|
|
|
|
let balance1= await token.balanceOf(holder1); |
|
|
|
let balance2 = await token.balanceOf(holder2); |
|
|
|
const b = await token.isTokenHolderKYC(holder1); |
|
|
|
let balance1= await token.balanceOf(from); |
|
|
|
let balance2 = await token.balanceOf(to); |
|
|
|
const b = await token.isTokenHolderKYC(from); |
|
|
|
if(!b) { |
|
|
|
console.log('holder kyc error'); |
|
|
|
return; |
|
|
|
} |
|
|
|
const partitions = await token.getDefaultPartitions(); |
|
|
|
console.log(`holder1(sender) = ${balance1}, holder2(receiver) = ${balance2}`); |
|
|
|
console.log(`balance of sender = ${balance1}, balance of receiver = ${balance2}`); |
|
|
|
// token.on(token.filters.Transfer, async (...args) => { |
|
|
|
// const lastArg = args[args.length - 1]; |
|
|
|
// console.log(lastArg); |
|
|
|
@@ -67,9 +64,9 @@ async function transfer(symbol:string, count: number = 10) { |
|
|
|
for(let i = 0; i < count; i++) { |
|
|
|
const tx = await token.operatorTransferByPartition.populateTransaction( |
|
|
|
partitions[0], |
|
|
|
holder1.address, |
|
|
|
holder2.address, |
|
|
|
1, |
|
|
|
from.address, |
|
|
|
to.address, |
|
|
|
amount, |
|
|
|
ZeroHash, |
|
|
|
ZeroHash, |
|
|
|
{ |
|
|
|
@@ -112,15 +109,15 @@ async function transfer(symbol:string, count: number = 10) { |
|
|
|
|
|
|
|
const firstBlockHash = blockHashes.get(firstTx); |
|
|
|
const lastBlockHash = blockHashes.get(lastTx); |
|
|
|
console.log(`firstBlockHash = ${firstBlockHash} , lastBlockHash = ${lastBlockHash}`); |
|
|
|
console.log(`firstBlockHash = ${firstBlockHash} \nlastBlockHash = ${lastBlockHash}`); |
|
|
|
|
|
|
|
const lastB = await getBlockInfo(lastBlockHash); |
|
|
|
console.log(lastB.timestamp); |
|
|
|
// console.log(lastB.timestamp); |
|
|
|
const lastTimeStamp = parseInt(lastB.timestamp,16); |
|
|
|
|
|
|
|
balance1= await token.balanceOf(holder1); |
|
|
|
balance2 = await token.balanceOf(holder2); |
|
|
|
console.log(`holder1 = ${balance1}, holder2 = ${balance2}`); |
|
|
|
balance1= await token.balanceOf(from); |
|
|
|
balance2 = await token.balanceOf(to); |
|
|
|
console.log(`balance of sender = ${balance1}, balance of receiver = ${balance2}`); |
|
|
|
|
|
|
|
|
|
|
|
const d = new Date(lastTimeStamp * 1000); |
|
|
|
@@ -129,18 +126,26 @@ async function transfer(symbol:string, count: number = 10) { |
|
|
|
console.log(start); |
|
|
|
console.log(lastTimeStamp * 1000); |
|
|
|
|
|
|
|
const tps = calc.CTPS_NUM(count,start,lastTimeStamp * 1000); |
|
|
|
console.log(tps); |
|
|
|
const tps = calc.CTPS(count,start,lastTimeStamp * 1000); |
|
|
|
console.log(`CTPS = ${tps}`); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const calc = new Calulator(); |
|
|
|
const rpcUrl = process.env.RPCURL; |
|
|
|
const provider = new JsonRpcProvider(rpcUrl); |
|
|
|
setProvider(provider); |
|
|
|
|
|
|
|
const admin = new Wallet('0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3',provider); |
|
|
|
const issuer = new Wallet('0x8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63',provider); |
|
|
|
const holder1 = new Wallet('0xae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f',provider); |
|
|
|
const holder2 = new Wallet('0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',provider); |
|
|
|
|
|
|
|
async function main() { |
|
|
|
transfer('test001',1000); |
|
|
|
transfer('test001',holder1, holder2,1, 1000); |
|
|
|
// for(let i = 13489; i < 13492; i++ ) { |
|
|
|
// try { |
|
|
|
// await send(i); |