Contract con_distribute_v2


Contract Code


  
1 import currency
2 I = importlib
3
4 #distribute TAU to a list of addresses with same amounts
5 @export
6 def distr_same(addresses: list, amount: float):
7 for address in addresses:
8 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
9 currency.transfer_from(amount=amount, to=address, main_account=ctx.signer)
10
11 #distribute TAU to a list of addresses with varying amounts
12 @export
13 def distr_var(addresses: list, amounts: list):
14 for num in range(len(addresses)):
15 address = addresses[num]
16 amount = amounts[num]
17 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
18 currency.transfer_from(amount=amount, to=address, main_account=ctx.signer)
19
20 #distribute any token to a list of addresses with same amounts
21 @export
22 def distr_token_same(token: str, addresses: list, amount: float):
23 for address in addresses:
24 asset = I.import_module(token)
25 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
26 asset.transfer_from(amount=amount, to=address, main_account=ctx.signer)
27
28 #distribute any token to a list of addresses with varying amounts
29 @export
30 def distr_token_var(token: str, addresses: list, amounts: list):
31 for num in range(len(addresses)):
32 address = addresses[num]
33 amount = amounts[num]
34 asset = I.import_module(token)
35 assert len(address) == 64, f"Address no. {addresses.index(address)+1} is not 64 in length"
36 asset.transfer_from(amount=amount, to=address, main_account=ctx.signer)

Byte Code

e300000000000000000000000005000000400000007374000000640064016c005a0065015a026503640283016504650564039c0264046405840483015a066503640283016504650464069c0264076408840483015a0765036402830165086504650564099c03640a640b840483015a09650364028301650865046504640c9c03640d640e840483015a0a64015300290fe9000000004eda11636f6e5f646973747269627574655f76322902da09616464726573736573da06616d6f756e74630200000000000000030000000600000043000000734a00000078447c0044005d3c7d0274007c02830164016b027330740164027c006a027c028301640317009b0064049d038301820174036a047c017c0274056a0664058d030100710657006400530029064ee9400000007a0c41646472657373206e6f2e20e9010000007a14206973206e6f7420363420696e206c656e67746829037204000000da02746fda0c6d61696e5f6163636f756e742907da036c656eda0e417373657274696f6e4572726f72da05696e646578da0863757272656e6379da0d7472616e736665725f66726f6dda03637478da067369676e6572290372030000007204000000da0761646472657373a9007211000000da00da0a64697374725f73616d6505000000730800000000020a0106012001721300000029027203000000da07616d6f756e74736302000000000000000500000006000000430000007362000000785c740074017c008301830144005d4c7d027c007c0219007d037c017c0219007d0474017c03830164016b027348740264027c006a037c038301640317009b0064049d038301820174046a057c047c0374066a0764058d030100710e57006400530029064e72050000007a0c41646472657373206e6f2e2072060000007a14206973206e6f7420363420696e206c656e67746829037204000000720700000072080000002908da0572616e67657209000000720a000000720b000000720c000000720d000000720e000000720f000000290572030000007214000000da036e756d72100000007204000000721100000072110000007212000000da0964697374725f7661720e000000730c00000000021201080108010601200172170000002903da05746f6b656e720300000072040000006303000000000000000500000006000000430000007354000000784e7c0144005d467d0374006a017c0083017d0474027c03830164016b02733a740364027c016a047c038301640317009b0064049d03830182017c046a057c027c0374066a0764058d030100710657006400530029064e72050000007a0c41646472657373206e6f2e2072060000007a14206973206e6f7420363420696e206c656e67746829037204000000720700000072080000002908da0149da0d696d706f72745f6d6f64756c657209000000720a000000720b000000720d000000720e000000720f00000029057218000000720300000072040000007210000000da056173736574721100000072110000007212000000da1064697374725f746f6b656e5f73616d6519000000730a00000000020a010a0106012001721c0000002903721800000072030000007214000000630300000000000000070000000600000043000000736c0000007866740074017c018301830144005d567d037c017c0319007d047c027c0319007d0574026a037c0083017d0674017c04830164016b027352740464027c016a057c048301640317009b0064049d03830182017c066a067c057c0474076a0864058d030100710e57006400530029064e72050000007a0c41646472657373206e6f2e2072060000007a14206973206e6f7420363420696e206c656e67746829037204000000720700000072080000002909721500000072090000007219000000721a000000720a000000720b000000720d000000720e000000720f0000002907721800000072030000007214000000721600000072100000007204000000721b000000721100000072110000007212000000da0f64697374725f746f6b656e5f76617222000000730e00000000021201080108010a0106012001721d000000290b720c000000da09696d706f72746c69627219000000da085f5f6578706f7274da046c697374da05666c6f617472130000007217000000da03737472721c000000721d0000007211000000721100000072110000007212000000da083c6d6f64756c653e01000000731200000008010403060112080601120a060114080601